diff --git a/Core/StandardSamples/CylindersBuilder.cpp b/Core/StandardSamples/CylindersBuilder.cpp index f67d1f7f815a723cfbd0a4dc4bc437c2b3650910..0871b3443e56004b237897f37a4b7ab44d5dc530 100644 --- a/Core/StandardSamples/CylindersBuilder.cpp +++ b/Core/StandardSamples/CylindersBuilder.cpp @@ -22,6 +22,7 @@ #include "InterferenceFunctionNone.h" #include "Distributions.h" #include "ParticleDistribution.h" +#include "BornAgainNamespace.h" // ----------------------------------------------------------------------------- @@ -38,8 +39,8 @@ CylindersInDWBABuilder::CylindersInDWBABuilder() void CylindersInDWBABuilder::init_parameters() { clearParameterPool(); - registerParameter("radius", &m_radius); - registerParameter("height", &m_height); + registerParameter(BornAgain::Radius, &m_radius); + registerParameter(BornAgain::Height, &m_height); } @@ -83,8 +84,8 @@ CylindersInBABuilder::CylindersInBABuilder() void CylindersInBABuilder::init_parameters() { clearParameterPool(); - registerParameter("radius", &m_radius); - registerParameter("height", &m_height); + registerParameter(BornAgain::Radius, &m_radius); + registerParameter(BornAgain::Height, &m_height); } diff --git a/Core/StandardSamples/ParticleDistributionsBuilder.cpp b/Core/StandardSamples/ParticleDistributionsBuilder.cpp index 290220cc346b6aa605a58eb09ae630a7b077b6be..e9bd787c679b7ddcd3a4c65d5a7b7f2be5e96d34 100644 --- a/Core/StandardSamples/ParticleDistributionsBuilder.cpp +++ b/Core/StandardSamples/ParticleDistributionsBuilder.cpp @@ -37,8 +37,8 @@ CylindersWithSizeDistributionBuilder::CylindersWithSizeDistributionBuilder() void CylindersWithSizeDistributionBuilder::init_parameters() { clearParameterPool(); - registerParameter("radius", &m_radius); - registerParameter("height", &m_height); + registerParameter(BornAgain::Radius, &m_radius); + registerParameter(BornAgain::Height, &m_height); } @@ -62,7 +62,7 @@ ISample *CylindersWithSizeDistributionBuilder::buildSample() const double n_sigma = 2.0*2.0*std::sqrt(2.0*std::log(2.0)); DistributionGaussian gauss(m_radius, sigma); ParameterPattern pattern; - pattern.add(ParticleType).add(FFCylinderType).add("radius"); + pattern.add(ParticleType).add(FFCylinderType).add(Radius); ParameterDistribution par_distr(pattern.toStdString(), gauss, n_samples, n_sigma); ParticleDistribution particle_collection(nano_particle, par_distr); particle_layout.addParticle(particle_collection); @@ -132,12 +132,12 @@ ISample *TwoTypesCylindersDistributionBuilder::buildSample() const // building distribution of nano particles ParameterPattern pattern1; - pattern1.add(ParticleType).add(FFCylinderType).add("radius"); + pattern1.add(ParticleType).add(FFCylinderType).add(Radius); ParameterDistribution par_distr1(pattern1.toStdString(), gauss1, nbins, n_sigma); ParticleDistribution particle_collection1(cylinder1, par_distr1); particle_layout.addParticle(particle_collection1, 0.95); ParameterPattern pattern2; - pattern2.add(ParticleType).add(FFCylinderType).add("radius"); + pattern2.add(ParticleType).add(FFCylinderType).add(Radius); ParameterDistribution par_distr2(pattern2.toStdString(), gauss2, nbins, n_sigma); ParticleDistribution particle_collection2(cylinder2, par_distr2); particle_layout.addParticle(particle_collection2, 0.05); diff --git a/Core/StandardSamples/SizeDistributionModelsBuilder.cpp b/Core/StandardSamples/SizeDistributionModelsBuilder.cpp index 99343ff2c0c8730a78b933051fecf492404b4325..67e3e92d6e263e8c2ea63c448892ca1bed6bcb66 100644 --- a/Core/StandardSamples/SizeDistributionModelsBuilder.cpp +++ b/Core/StandardSamples/SizeDistributionModelsBuilder.cpp @@ -186,10 +186,10 @@ ISample *CylindersInSSCABuilder::buildSample() const DistributionGaussian gauss(5.0*Units::nanometer, 1.25*Units::nanometer); ParameterPattern pattern_radius; - pattern_radius.add(ParticleType).add(FFCylinderType).add("radius"); + pattern_radius.add(ParticleType).add(FFCylinderType).add(Radius); ParameterDistribution par_distr(pattern_radius.toStdString(), gauss, 30, 3.0); ParameterPattern pattern_height; - pattern_height.add(ParticleType).add(FFCylinderType).add("height"); + pattern_height.add(ParticleType).add(FFCylinderType).add(Height); par_distr.linkParameter(pattern_height.toStdString()); ParticleDistribution particle_collection(particle_prototype, par_distr); particle_layout.addParticle(particle_collection); diff --git a/Core/StandardSamples/StandardSimulations.cpp b/Core/StandardSamples/StandardSimulations.cpp index 460e813e2d337cb3fe983e8574481dca8c09f885..176c796e60ccdd56db22ec82b57b9ad6f24df376 100644 --- a/Core/StandardSamples/StandardSimulations.cpp +++ b/Core/StandardSamples/StandardSimulations.cpp @@ -22,6 +22,9 @@ #include "IntensityDataIOFactory.h" #include "Distributions.h" #include "IsGISAXSDetector.h" +#include "BornAgainNamespace.h" + +using namespace BornAgain; GISASSimulation *StandardSimulations::PolarizedDWBAMagCylinders2() { @@ -82,12 +85,17 @@ GISASSimulation *StandardSimulations::MiniGISASBeamDivergence() DistributionLogNormal wavelength_distr(1.0*Units::angstrom, 0.1); DistributionGaussian alpha_distr(0.2*Units::degree, 0.1*Units::degree); - //DistributionGaussian phi_distr(0.0*Units::degree, 0.1*Units::degree); DistributionGate phi_distr(-0.1*Units::degree, 0.1*Units::degree); - result->addParameterDistribution("*/Beam/wavelength", wavelength_distr, 5); - result->addParameterDistribution("*/Beam/alpha", alpha_distr, 4); - result->addParameterDistribution("*/Beam/phi", phi_distr, 3); + ParameterPattern pattern1; + pattern1.beginsWith("*").add(BeamType).add(Wavelength); + result->addParameterDistribution(pattern1.toStdString(), wavelength_distr, 5); + ParameterPattern pattern2; + pattern2.beginsWith("*").add(BeamType).add(Alpha); + result->addParameterDistribution(pattern2.toStdString(), alpha_distr, 4); + ParameterPattern pattern3; + pattern3.beginsWith("*").add(BeamType).add(Phi); + result->addParameterDistribution(pattern3.toStdString(), phi_distr, 3); return result; } diff --git a/Core/Tools/inc/IParameterized.h b/Core/Tools/inc/IParameterized.h index b2977f785df719fe9cd41327f6111edd69c3b6f0..73226d1e1160c047f676303ee30aa9b78b0cb07c 100644 --- a/Core/Tools/inc/IParameterized.h +++ b/Core/Tools/inc/IParameterized.h @@ -90,6 +90,7 @@ public: ParameterPattern(); ParameterPattern(std::string root_object); + ParameterPattern& beginsWith(std::string start_type); ParameterPattern& add(std::string object_type); std::string toStdString() const; diff --git a/Core/Tools/src/IParameterized.cpp b/Core/Tools/src/IParameterized.cpp index 9f1fc049773f830e92e8346535b5c3adc8e6bcee..24c0f649b6d7c78fd777ef75fa3bff9e32900802 100644 --- a/Core/Tools/src/IParameterized.cpp +++ b/Core/Tools/src/IParameterized.cpp @@ -95,6 +95,12 @@ ParameterPattern::ParameterPattern(std::string root_object) { } +ParameterPattern &ParameterPattern::beginsWith(std::string start_type) +{ + m_pattern = start_type; + return *this; +} + ParameterPattern &ParameterPattern::add(std::string object_type) { m_pattern = m_pattern + "/" + object_type; diff --git a/Examples/Demos/FitCylindersPrisms_movie.py b/Examples/Demos/FitCylindersPrisms_movie.py index 2a5ae105073eff9ca2a93fe231ace543dc55909f..21e1cc31cc35888b81ddd4b6de653059bdd67ba9 100644 --- a/Examples/Demos/FitCylindersPrisms_movie.py +++ b/Examples/Demos/FitCylindersPrisms_movie.py @@ -198,10 +198,10 @@ def run_fitting(): fit_suite.attachObserver(draw_observer) # setting fitting parameters with starting values - fit_suite.addFitParameter("*FormFactorCylinder/height", 2.*nanometer, AttLimits.limited(0.01, 10.0)) - fit_suite.addFitParameter("*FormFactorCylinder/radius", 2.*nanometer, AttLimits.limited(0.01, 10.0)) - fit_suite.addFitParameter("*FormFactorPrism3/height", 2.*nanometer, AttLimits.limited(0.01, 10.0)) - fit_suite.addFitParameter("*FormFactorPrism3/length", 2.*nanometer, AttLimits.limited(0.01, 10.0)) + fit_suite.addFitParameter("*Cylinder/Height", 2.*nanometer, AttLimits.limited(0.01, 10.0)) + fit_suite.addFitParameter("*Cylinder/Radius", 2.*nanometer, AttLimits.limited(0.01, 10.0)) + fit_suite.addFitParameter("*Prism3/Height", 2.*nanometer, AttLimits.limited(0.01, 10.0)) + fit_suite.addFitParameter("*Prism3/Length", 2.*nanometer, AttLimits.limited(0.01, 10.0)) # # Now we create first fig strategy which will run first minimization round using Genetic minimizer. # # Genetic minimizer is able to explore large parameter space without being trapped by some local minima. diff --git a/Examples/python/fitting/ex02_FitCylindersAndPrisms/FitCylindersPrisms.py b/Examples/python/fitting/ex02_FitCylindersAndPrisms/FitCylindersPrisms.py index aef9adb63ba3770127c38adf34e890fba3b74085..c89c27fc2347bc60f4d0348c98a67cc631569ca1 100644 --- a/Examples/python/fitting/ex02_FitCylindersAndPrisms/FitCylindersPrisms.py +++ b/Examples/python/fitting/ex02_FitCylindersAndPrisms/FitCylindersPrisms.py @@ -60,10 +60,10 @@ def run_fitting(): fit_suite.initPrint(10) # setting fitting parameters with starting values - fit_suite.addFitParameter("*FormFactorCylinder/height", 4.*nanometer, AttLimits.lowerLimited(0.01)) - fit_suite.addFitParameter("*FormFactorCylinder/radius", 6.*nanometer, AttLimits.lowerLimited(0.01)) - fit_suite.addFitParameter("*FormFactorPrism3/height", 4.*nanometer, AttLimits.lowerLimited(0.01)) - fit_suite.addFitParameter("*FormFactorPrism3/length", 12.*nanometer, AttLimits.lowerLimited(0.01)) + fit_suite.addFitParameter("*Cylinder/Height", 4.*nanometer, AttLimits.lowerLimited(0.01)) + fit_suite.addFitParameter("*Cylinder/Radius", 6.*nanometer, AttLimits.lowerLimited(0.01)) + fit_suite.addFitParameter("*Prism3/Height", 4.*nanometer, AttLimits.lowerLimited(0.01)) + fit_suite.addFitParameter("*Prism3/Length", 12.*nanometer, AttLimits.lowerLimited(0.01)) # running fit fit_suite.runFit() diff --git a/Examples/python/fitting/ex02_FitCylindersAndPrisms/FitCylindersPrisms_detailed.py b/Examples/python/fitting/ex02_FitCylindersAndPrisms/FitCylindersPrisms_detailed.py index 9492aa54929a132f4e589cce6648df3eea352dd8..d716bee9c14b91c842720cba56d5a45b5870fe48 100644 --- a/Examples/python/fitting/ex02_FitCylindersAndPrisms/FitCylindersPrisms_detailed.py +++ b/Examples/python/fitting/ex02_FitCylindersAndPrisms/FitCylindersPrisms_detailed.py @@ -150,10 +150,10 @@ def run_fitting(): fit_suite.attachObserver(draw_observer) # setting fitting parameters with starting values - fit_suite.addFitParameter("*FormFactorCylinder/height", 4.*nanometer, AttLimits.lowerLimited(0.01)) - fit_suite.addFitParameter("*FormFactorCylinder/radius", 6.*nanometer, AttLimits.lowerLimited(0.01)) - fit_suite.addFitParameter("*FormFactorPrism3/height", 4.*nanometer, AttLimits.lowerLimited(0.01)) - fit_suite.addFitParameter("*FormFactorPrism3/length", 12.*nanometer, AttLimits.lowerLimited(0.01)) + fit_suite.addFitParameter("*Cylinder/Height", 4.*nanometer, AttLimits.lowerLimited(0.01)) + fit_suite.addFitParameter("*Cylinder/Radius", 6.*nanometer, AttLimits.lowerLimited(0.01)) + fit_suite.addFitParameter("*Prism3/Height", 4.*nanometer, AttLimits.lowerLimited(0.01)) + fit_suite.addFitParameter("*Prism3/Length", 12.*nanometer, AttLimits.lowerLimited(0.01)) # running fit fit_suite.runFit() diff --git a/Examples/python/fitting/ex03_FitSpheresInHexLattice/FitSpheresInHexLattice.py b/Examples/python/fitting/ex03_FitSpheresInHexLattice/FitSpheresInHexLattice.py index 47eb8ccca01931d909bf533d23521aa0a6ccac65..65a9105f39554520730760a1e28a28c063118dfa 100644 --- a/Examples/python/fitting/ex03_FitSpheresInHexLattice/FitSpheresInHexLattice.py +++ b/Examples/python/fitting/ex03_FitSpheresInHexLattice/FitSpheresInHexLattice.py @@ -90,8 +90,8 @@ def run_fitting(): fit_suite.attachObserver(draw_observer) # this fit parameter will change both length_1 and length_2 simultaneously - fit_suite.addFitParameter("*2DLattice/length_*", 8.*nanometer, AttLimits.limited(4., 12.)) - fit_suite.addFitParameter("*/FormFactorFullSphere/radius", 8.*nanometer, AttLimits.limited(4., 12.)) + fit_suite.addFitParameter("*2DLattice/LatticeLength*", 8.*nanometer, AttLimits.limited(4., 12.)) + fit_suite.addFitParameter("*/FullSphere/Radius", 8.*nanometer, AttLimits.limited(4., 12.)) # running fit fit_suite.runFit() diff --git a/Examples/python/fitting/ex04_FitScaleAndShift/FitScaleAndShift.py b/Examples/python/fitting/ex04_FitScaleAndShift/FitScaleAndShift.py index 2096bfc6525ec45263d562382f540cb18e485663..f7f68feeada44b6fc4472384f585d5d2476e1d5c 100644 --- a/Examples/python/fitting/ex04_FitScaleAndShift/FitScaleAndShift.py +++ b/Examples/python/fitting/ex04_FitScaleAndShift/FitScaleAndShift.py @@ -102,8 +102,8 @@ def run_fitting(): fit_suite.getFitObjects().printParameters() # prints all defined parameters for sample and simulation # setting fitting parameters with starting values - fit_suite.addFitParameter("*/FormFactorCylinder/radius", 6.*nanometer, AttLimits.limited(4., 8.)) - fit_suite.addFitParameter("*/FormFactorCylinder/height", 9.*nanometer, AttLimits.limited(8., 12.)) + fit_suite.addFitParameter("*/Cylinder/Radius", 6.*nanometer, AttLimits.limited(4., 8.)) + fit_suite.addFitParameter("*/Cylinder/Height", 9.*nanometer, AttLimits.limited(8., 12.)) fit_suite.addFitParameter("*/Normalizer/scale", 1.5, AttLimits.limited(1.0, 3.0)) fit_suite.addFitParameter("*/Normalizer/shift", 50., AttLimits.limited(1, 500.)) diff --git a/Examples/python/fitting/ex05_FitWithMasks/FitWithMasks.py b/Examples/python/fitting/ex05_FitWithMasks/FitWithMasks.py index 1f587b147953b62770775ff09a4e0193435d50b1..4bf3854a78bdf58649753544fd0de9b3755e3ced 100644 --- a/Examples/python/fitting/ex05_FitWithMasks/FitWithMasks.py +++ b/Examples/python/fitting/ex05_FitWithMasks/FitWithMasks.py @@ -125,8 +125,8 @@ def run_fitting(): fit_suite.attachObserver(draw_observer) # setting fitting parameters with starting values - fit_suite.addFitParameter("*/FormFactorCylinder/radius", 6.*nanometer, AttLimits.limited(4., 8.)) - fit_suite.addFitParameter("*/FormFactorCylinder/height", 9.*nanometer, AttLimits.limited(8., 12.)) + fit_suite.addFitParameter("*/Cylinder/Radius", 6.*nanometer, AttLimits.limited(4., 8.)) + fit_suite.addFitParameter("*/Cylinder/Height", 9.*nanometer, AttLimits.limited(8., 12.)) # running fit fit_suite.runFit() diff --git a/Examples/python/fitting/ex06_FitStrategies/FitStrategyAdjustMinimizer.py b/Examples/python/fitting/ex06_FitStrategies/FitStrategyAdjustMinimizer.py index 0fd55c0982a38d99734379bd0c8deeabd5aae895..386d9717ebbb51c422edc0605dbff51b504dd37c 100644 --- a/Examples/python/fitting/ex06_FitStrategies/FitStrategyAdjustMinimizer.py +++ b/Examples/python/fitting/ex06_FitStrategies/FitStrategyAdjustMinimizer.py @@ -92,8 +92,8 @@ def run_fitting(): # setting fitting parameters with starting values # Here we select starting values being quite far from true values to puzzle our minimizer's as much as possible - fit_suite.addFitParameter("*height", 1.*nanometer, AttLimits.limited(0.01, 30.), 0.04*nanometer) - fit_suite.addFitParameter("*radius", 20.*nanometer, AttLimits.limited(0.01, 30.), 0.06*nanometer) + fit_suite.addFitParameter("*Height", 1.*nanometer, AttLimits.limited(0.01, 30.), 0.04*nanometer) + fit_suite.addFitParameter("*Radius", 20.*nanometer, AttLimits.limited(0.01, 30.), 0.06*nanometer) # Now we create first fig strategy which will run first minimization round using Genetic minimizer. # Genetic minimizer is able to explore large parameter space without being trapped by some local minima. diff --git a/Examples/python/fitting/ex07_FitAlongSlices/FitAlongSlices.py b/Examples/python/fitting/ex07_FitAlongSlices/FitAlongSlices.py index c26683343344b88aab0ee8e8767543fde1417338..19cd86699f5c327d865021136a4ed59c5703d542 100644 --- a/Examples/python/fitting/ex07_FitAlongSlices/FitAlongSlices.py +++ b/Examples/python/fitting/ex07_FitAlongSlices/FitAlongSlices.py @@ -178,8 +178,8 @@ def run_fitting(): fit_suite.attachObserver(draw_observer) # setting fitting parameters with starting values - fit_suite.addFitParameter("*/FormFactorCylinder/radius", 6.*nanometer, AttLimits.limited(4., 8.)) - fit_suite.addFitParameter("*/FormFactorCylinder/height", 9.*nanometer, AttLimits.limited(8., 12.)) + fit_suite.addFitParameter("*/Cylinder/Radius", 6.*nanometer, AttLimits.limited(4., 8.)) + fit_suite.addFitParameter("*/Cylinder/Height", 9.*nanometer, AttLimits.limited(8., 12.)) # running fit fit_suite.runFit() diff --git a/Examples/python/fitting/ex08_SimultaneousFitOfTwoDatasets/SimultaneousFitOfTwoDatasets.py b/Examples/python/fitting/ex08_SimultaneousFitOfTwoDatasets/SimultaneousFitOfTwoDatasets.py index 796f9e52296fae38698a75448227cd5cfc08ec37..9106714f1213453ade078a2b4e300772950d1030 100644 --- a/Examples/python/fitting/ex08_SimultaneousFitOfTwoDatasets/SimultaneousFitOfTwoDatasets.py +++ b/Examples/python/fitting/ex08_SimultaneousFitOfTwoDatasets/SimultaneousFitOfTwoDatasets.py @@ -147,9 +147,9 @@ def run_fitting(): fit_suite.attachObserver(draw_observer) # setting fitting parameters with starting values - fit_suite.addFitParameter("*/FormFactorHemiEllipsoid/radius_a", 4.*nanometer, AttLimits.limited(2., 10.)) - fit_suite.addFitParameter("*/FormFactorHemiEllipsoid/radius_b", 6.*nanometer, AttLimits.fixed()) - fit_suite.addFitParameter("*/FormFactorHemiEllipsoid/height", 4.*nanometer, AttLimits.limited(2., 10.)) + fit_suite.addFitParameter("*/HemiEllipsoid/RadiusX", 4.*nanometer, AttLimits.limited(2., 10.)) + fit_suite.addFitParameter("*/HemiEllipsoid/RadiusY", 6.*nanometer, AttLimits.fixed()) + fit_suite.addFitParameter("*/HemiEllipsoid/Height", 4.*nanometer, AttLimits.limited(2., 10.)) # running fit fit_suite.runFit() diff --git a/Fit/StandardFits/IMinimizerFunctionalTest.cpp b/Fit/StandardFits/IMinimizerFunctionalTest.cpp index 64369505d12bdf97bc9ea2e00b18124b96f2547d..d67c8ea93c51b192a8b30f41a8c0c00f82c1baab 100644 --- a/Fit/StandardFits/IMinimizerFunctionalTest.cpp +++ b/Fit/StandardFits/IMinimizerFunctionalTest.cpp @@ -37,9 +37,9 @@ IMinimizerFunctionalTest::IMinimizerFunctionalTest(const std::string &minimizer_ , m_parameter_tolerance(0.01) { m_parameters.push_back( - TestParameter("*height", 5.0 * Units::nanometer, 4.5 * Units::nanometer)); + TestParameter("*Height", 5.0 * Units::nanometer, 4.5 * Units::nanometer)); m_parameters.push_back( - TestParameter("*radius", 5.0 * Units::nanometer, 5.5 * Units::nanometer)); + TestParameter("*Radius", 5.0 * Units::nanometer, 5.5 * Units::nanometer)); } diff --git a/GUI/coregui/utils/gui_functional_tests.cpp b/GUI/coregui/utils/gui_functional_tests.cpp index 22e6425f10a722dda6f99fec41a0910d5d859cc7..1f319c675a511a76de3f2d0f701bd9d05fbf1030 100644 --- a/GUI/coregui/utils/gui_functional_tests.cpp +++ b/GUI/coregui/utils/gui_functional_tests.cpp @@ -17,7 +17,7 @@ #include "FunctionalTestRegistry.h" #include "GUIFunctionalTestComponentService.h" #include "FunctionalMultiTest.h" -#include <boost/scoped_ptr.hpp> +#include <memory> #include <iostream> int GUI_FUNCTIONAL_TEST(const std::string &test_name) @@ -33,7 +33,7 @@ int GUI_FUNCTIONAL_TEST(const std::string &test_name) FunctionalTestInfo info = catalogue.getTestInfo(test_name); GUIFunctionalTestComponentService *service = new GUIFunctionalTestComponentService(info); - boost::scoped_ptr<IFunctionalTest> test( + std::unique_ptr<IFunctionalTest> test( new FunctionalMultiTest(test_name, service)); test->runTest(); diff --git a/Tests/FunctionalTests/TestPyCore/cylinders_ba_dwba_size.py b/Tests/FunctionalTests/TestPyCore/cylinders_ba_dwba_size.py index 931f15e01aaac94c7397c358a2859af06c87a22c..9b037a94dc56152357261b3402afd017359a2dfc 100644 --- a/Tests/FunctionalTests/TestPyCore/cylinders_ba_dwba_size.py +++ b/Tests/FunctionalTests/TestPyCore/cylinders_ba_dwba_size.py @@ -104,7 +104,7 @@ def RunSimulationBA_Size(): n_sigma = 4.0*numpy.sqrt(2.0*numpy.log(2.0)) gauss = DistributionGaussian(radius, sigma) - par_distr = ParameterDistribution("*/radius", gauss, nbins, n_sigma) + par_distr = ParameterDistribution("*/Radius", gauss, nbins, n_sigma) part_coll = ParticleDistribution(nano_particle, par_distr) particle_layout.addParticle(part_coll) diff --git a/Tests/FunctionalTests/TestPyCore/isgisaxs02.py b/Tests/FunctionalTests/TestPyCore/isgisaxs02.py index a340a0c20e9132c86fdf736a53b6420a8fd21f73..52a5636fe73ff7135428e08ed26e39b0ba383f64 100644 --- a/Tests/FunctionalTests/TestPyCore/isgisaxs02.py +++ b/Tests/FunctionalTests/TestPyCore/isgisaxs02.py @@ -39,10 +39,10 @@ def RunSimulation(): #Building nano particles particle_layout = ParticleLayout() - par_distr1 = ParameterDistribution("*/radius", gauss1, nbins, n_sigma) + par_distr1 = ParameterDistribution("*/Radius", gauss1, nbins, n_sigma) part_coll1 = ParticleDistribution(cylinder1, par_distr1) particle_layout.addParticle(part_coll1, 0.95) - par_distr2 = ParameterDistribution("*/radius", gauss2, nbins, n_sigma) + par_distr2 = ParameterDistribution("*/Radius", gauss2, nbins, n_sigma) part_coll2 = ParticleDistribution(cylinder2, par_distr2) particle_layout.addParticle(part_coll2, 0.05) diff --git a/Tests/FunctionalTests/TestPyCore/isgisaxs15.py b/Tests/FunctionalTests/TestPyCore/isgisaxs15.py index 2706933a3471571dad8a221dbfa027e5fe482e45..01d0200fb3bce3db512cf8f4a65cf173d05073a3 100644 --- a/Tests/FunctionalTests/TestPyCore/isgisaxs15.py +++ b/Tests/FunctionalTests/TestPyCore/isgisaxs15.py @@ -28,9 +28,9 @@ def RunSimulation(): particle_prototype = Particle(mParticle, cylinder_ff) radius_distr = DistributionGaussian(5.0*nanometer, 1.25*nanometer) - par_distr = ParameterDistribution("*/radius", radius_distr, 30, 3.0) + par_distr = ParameterDistribution("*/Radius", radius_distr, 30, 3.0) # link height linearly with distribution of radius: - par_distr.linkParameter("*/height") + par_distr.linkParameter("*/Height") part_coll = ParticleDistribution(particle_prototype, par_distr) particle_layout.addParticle(part_coll) diff --git a/Tests/FunctionalTests/TestPyFit/fitting_utils.py b/Tests/FunctionalTests/TestPyFit/fitting_utils.py index e9faa45b0599edb5db2ed074f1ad0dd34bc11344..8cd95762a8eaa3b928eb6eeb484798e420e27d5f 100644 --- a/Tests/FunctionalTests/TestPyFit/fitting_utils.py +++ b/Tests/FunctionalTests/TestPyFit/fitting_utils.py @@ -61,8 +61,8 @@ def get_fit_suite(minimizer, algorithm): Creates FitSuite fully ready for minimization """ fit_suite = FitSuite() - fit_suite.addFitParameter("*height", 4.*nanometer, 0.04*nanometer, AttLimits.limited(2.0, 8.0)) - fit_suite.addFitParameter("*radius", 6.*nanometer, 0.06*nanometer, AttLimits.limited(2.0, 8.0)) + fit_suite.addFitParameter("*Height", 4.*nanometer, 0.04*nanometer, AttLimits.limited(2.0, 8.0)) + fit_suite.addFitParameter("*Radius", 6.*nanometer, 0.06*nanometer, AttLimits.limited(2.0, 8.0)) fit_suite.addSimulationAndRealData(get_simulation(), get_real_data()) fit_suite.setMinimizer(MinimizerFactory.createMinimizer(minimizer, algorithm)) return fit_suite diff --git a/dev-tools/python-bindings/settings_fit.py b/dev-tools/python-bindings/settings_fit.py index f13fb598d6e4c1013c429631f1d5247630718f76..4927de93aa22824af2b16e1a2d7ce96f709fc927 100644 --- a/dev-tools/python-bindings/settings_fit.py +++ b/dev-tools/python-bindings/settings_fit.py @@ -103,8 +103,6 @@ def ManualClassTunings(mb): cl = mb.class_("IMinimizer") cl.member_function("setChiSquaredFunction").exclude() cl.member_function("setGradientFunction").exclude() - # cl.member_function("getAlgorithmName").exclude() # removed due to compilation problems under MSVC - #cl.member_function("getMinimizerName").exclude() # temporarily due to compilation problems under MSVC for fun in cl.member_functions(): if "getOptions" in fun.name: if "::MinimizerOptions const & ( ::IMinimizer::* )( ) const" in fun.decl_string: @@ -112,42 +110,11 @@ def ManualClassTunings(mb): else: fun.call_policies = call_policies.return_internal_reference() - # adding hand made wrapper code to bypass a error with std::string conversion under Windows & MSVC2012 - # code = """ - # virtual ::std::string getAlgorithmName( ) const { - # if( bp::override func_getAlgorithmName = this->get_override( "getAlgorithmName" ) ) - # return boost::python::call<std::string>(func_getAlgorithmName( )); - # else{ - # return this->IMinimizer::getAlgorithmName( ); - # } - # } - # - # ::std::string default_getAlgorithmName( ) const { - # return IMinimizer::getAlgorithmName( ); - # } - # """ - # cl.add_wrapper_code(code) utils_build.InjectGetStringCustomCode(cl, "getAlgorithmName") utils_build.InjectGetStringCustomCode(cl, "getMinimizerName") - # code = """ - # def( - # "getAlgorithmName" - # , (::std::string ( ::IMinimizer::*)( ) const)(&::IMinimizer::getAlgorithmName) - # , (::std::string ( IMinimizer_wrapper::*)( ) const)(&IMinimizer_wrapper::default_getAlgorithmName) ) - # """ - # cl.add_code(code) - - # cl = mb.class_("FitSuite") - #cl.member_functions().exclude() - #for fun in cl.member_functions(allow_empty=True): - #if "addFitParameter" in fun.name: - #fun.include() - # cl.member_function("getMinimizer").include() - - # cl.member_function( "getMinimizer" ).call_policies = call_policies.return_value_policy( call_policies.reference_existing_object ) cl.member_function( "getMinimizer" ).call_policies= call_policies.return_internal_reference() # which one is correct ? cl.member_function("getRealData").call_policies = call_policies.return_value_policy(call_policies.manage_new_object) cl.member_function("getSimulationData").call_policies = call_policies.return_value_policy(call_policies.manage_new_object) @@ -157,31 +124,13 @@ def ManualClassTunings(mb): cl.member_function( "getFitParameters" ).call_policies = call_policies.return_internal_reference() cl.member_function( "getFitStrategies" ).call_policies = call_policies.return_internal_reference() - - # cl.member_function("setMinimizer").include() - #cl.member_function("addSimulationAndRealData").include() - #cl.member_function("runFit").include() - #cl.member_function("printResults").include() - #cl.member_function("getNCalls").include() - #cl.member_function("initPrint").include() - #cl.member_function("getFitParameters").include() - # - #cl = mb.class_("FitSuiteParameters") - #cl.member_functions().exclude() - #cl.member_function("getValues").include() - #for fun in cl.member_operators(): - #if "operator[]" in fun.name: - #fun.exclude() - # cl = mb.class_("MinimizerFactory") - #cl.member_function( "createMinimizer" ).call_policies = call_policies.return_value_policy( call_policies.reference_existing_object ) for fun in cl.member_functions(): if "createMinimizer" in fun.name: fun.call_policies = call_policies.return_value_policy( call_policies.reference_existing_object ) cl = mb.class_("FitStrategyAdjustMinimizer") cl.member_function( "getMinimizer" ).call_policies = call_policies.return_internal_reference() - # cl.member_function( "setMinimizer" ).include() cl.member_function( "getMinimizerOptions" ).call_policies = call_policies.return_internal_reference() cl = mb.class_("MinimizerOptions") # alternatively transformation can be used @@ -189,8 +138,6 @@ def ManualClassTunings(mb): if "getValue" in fun.name: fun.exclude() - # cl = mb.class_("IObserver") - # cl.member_function("update").include() cl = mb.class_("IFitObserver") cl.member_function("update").include()