SourceXtractorPlusPlus  0.12
Please provide a description of the project.
MoffatModelEvaluator.cpp
Go to the documentation of this file.
1 
17 /*
18  * MoffatModelFittingUtils.cpp
19  *
20  * Created on: 2019 M02 20
21  * Author: mschefer
22  */
23 
24 
29 
31 
34 
35 namespace SourceXtractor {
36 
37 using namespace ModelFitting;
39 
41  m_iterations = model.getIterations();
42 
43  auto x = std::make_shared<ManualParameter>(model.getX());
44  auto y = std::make_shared<ManualParameter>(model.getY());
45  auto moffat_i0 = std::make_shared<ManualParameter>(model.getMoffatI0());
46  auto moffat_index = std::make_shared<ManualParameter>(model.getMoffatIndex());
47  auto minkowski_exponent = std::make_shared<ManualParameter>(model.getMinkowksiExponent());
48  auto flat_top_offset = std::make_shared<ManualParameter>(model.getTopOffset());
49  double size = model.getSize();
50  auto x_scale = std::make_shared<ManualParameter>(model.getXScale());
51  auto y_scale= std::make_shared<ManualParameter>(model.getYScale());
52  auto moffat_rotation= std::make_shared<ManualParameter>(model.getMoffatRotation());
53 
54  // Moffat model
56  auto moff = Euclid::make_unique<FlattenedMoffatComponent>(moffat_i0, moffat_index, minkowski_exponent, flat_top_offset);
57  component_list.clear();
58  component_list.emplace_back(std::move(moff));
59 
60  m_model = std::make_shared<ExtendedModel<ImageInterfaceTypePtr>>(
61  std::move(component_list), x_scale, y_scale, moffat_rotation, size, size, x, y);
62 }
63 
64 
65 }
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > x
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > y
std::shared_ptr< EngineParameter > minkowski_exponent
MoffatModelEvaluator(const MoffatModelFitting &model)
std::shared_ptr< EngineParameter > moffat_index
std::shared_ptr< EngineParameter > moffat_i0
T clear(T... args)
T move(T... args)
STL class.
std::shared_ptr< EngineParameter > flat_top_offset
std::shared_ptr< EngineParameter > moffat_rotation
std::unique_ptr< T > make_unique(Args &&... args)