25#include <boost/timer/timer.hpp>
27#include "ElementsKernel/ProgramHeaders.h"
51namespace po = boost::program_options;
52namespace fs = boost::filesystem;
57template <
typename ImageType>
83template <
typename ImageType>
95 double getValue(
double x,
double y)
const override {
return 0.0; }
104template <
typename ImageType>
116 double getValue(
double x,
double y)
const override {
return 0.0; }
133template <
typename ImageType>
145 double getValue(
double x,
double y)
const override {
return 0.0; }
161template <
typename ImageType>
173 double getValue(
double x,
double y)
const override {
return 0.0; }
247 auto exp = Euclid::make_unique<SersicModelComponent>(Euclid::make_unique<OldSharp>(),
dev_i0,
dev_n,
dev_k);
289 xs,
ys,
rot, 256, 256,
x_param,
y_param, flux,
std::make_tuple(1, 0, 0, 1)));
345 for (
int i=0;
i<iterations;
i++) {
355 int iterations = 300;
365 logger.info() <<
"Testing with empty frame";
367 boost::timer::auto_cpu_timer t;
370 logger.info() <<
"Testing with dummy (nop) model";
372 boost::timer::auto_cpu_timer t;
375 logger.info() <<
"Testing with dummy (fill) model";
377 boost::timer::auto_cpu_timer t;
380 logger.info() <<
"Testing with dummy (fill exp) model";
382 boost::timer::auto_cpu_timer t;
385 logger.info() <<
"Testing with dummy (sersic) model";
387 boost::timer::auto_cpu_timer t;
390 logger.info() <<
"Testing with old style Sersic model";
392 boost::timer::auto_cpu_timer t;
395 logger.info() <<
"Testing with compact Sersic model";
397 boost::timer::auto_cpu_timer t;
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > x
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > y
FrameModel< DummyPsf< ImageInterfaceTypePtr >, ImageInterfaceTypePtr > makeSersicFrameModel()
Elements::ExitCode mainMethod(std::map< std::string, po::variable_value > &args) override
std::shared_ptr< VectorImage< SeFloat > > measureRasterToImage(int iterations, T &frame_model)
FrameModel< DummyPsf< ImageInterfaceTypePtr >, ImageInterfaceTypePtr > makeCompactSersicFrameModel()
FrameModel< DummyPsf< ImageInterfaceTypePtr >, ImageInterfaceTypePtr > makeDummyFrameModel()
FrameModel< DummyPsf< ImageInterfaceTypePtr >, ImageInterfaceTypePtr > makeEmptyFrameModel()
virtual ~DummyExpModel()=default
ImageType getRasterizedImage(double pixel_scale, std::size_t size_x, std::size_t size_y) const override
double getValue(double x, double y) const override
DummyExpModel(std::shared_ptr< BasicParameter > x_scale, std::shared_ptr< BasicParameter > y_scale, std::shared_ptr< BasicParameter > rotation, double width, double height, std::shared_ptr< BasicParameter > x, std::shared_ptr< BasicParameter > y)
ImageType getRasterizedImage(double pixel_scale, std::size_t size_x, std::size_t size_y) const override
virtual ~DummyFillModel()=default
DummyFillModel(std::shared_ptr< BasicParameter > x_scale, std::shared_ptr< BasicParameter > y_scale, std::shared_ptr< BasicParameter > rotation, double width, double height, std::shared_ptr< BasicParameter > x, std::shared_ptr< BasicParameter > y)
double getValue(double x, double y) const override
DummyModel(std::shared_ptr< BasicParameter > x_scale, std::shared_ptr< BasicParameter > y_scale, std::shared_ptr< BasicParameter > rotation, double width, double height, std::shared_ptr< BasicParameter > x, std::shared_ptr< BasicParameter > y)
virtual ~DummyModel()=default
ImageType getRasterizedImage(double pixel_scale, std::size_t size_x, std::size_t size_y) const override
double getValue(double x, double y) const override
double getPixelScale() const
void convolve(ImageType &) const
std::size_t getSize() const
std::shared_ptr< VectorImage< SourceXtractor::SeFloat > > m_kernel
std::shared_ptr< VectorImage< SourceXtractor::SeFloat > > getScaledKernel(double) const
double getValue(double x, double y) const override
ImageType getRasterizedImage(double pixel_scale, std::size_t size_x, std::size_t size_y) const override
virtual ~DummySersicModel()=default
DummySersicModel(std::shared_ptr< BasicParameter > x_scale, std::shared_ptr< BasicParameter > y_scale, std::shared_ptr< BasicParameter > rotation, double width, double height, std::shared_ptr< BasicParameter > x, std::shared_ptr< BasicParameter > y)
static Logging getLogger(const std::string &name="")
#define MAIN_FOR(ELEMENTS_PROGRAM_NAME)
static Elements::Logging logger
static ImageInterfaceType::PixelType & at(ImageInterfaceTypePtr &image, std::size_t x, std::size_t y)
static ImageInterfaceTypePtr factory(std::size_t width, std::size_t height)