SourceXtractorPlusPlus 0.19.2
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
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
35namespace SourceXtractor {
36
37using namespace ModelFitting;
39
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< EngineParameter > moffat_i0
std::shared_ptr< EngineParameter > moffat_rotation
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > x
std::shared_ptr< EngineParameter > moffat_index
std::shared_ptr< EngineParameter > minkowski_exponent
std::shared_ptr< EngineParameter > flat_top_offset
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > y
MoffatModelEvaluator(const MoffatModelFitting &model)
std::shared_ptr< ModelFitting::ExtendedModel< ImageInterfaceTypePtr > > m_model
T move(T... args)
std::unique_ptr< T > make_unique(Args &&... args)