SourceXtractorPlusPlus  0.16
Please provide a description of the project.
DownSampledImagePsf.h
Go to the documentation of this file.
1 
17 /*
18  * DownSampledImagePsf.h
19  *
20  * Created on: Nov 5, 2021
21  * Author: mschefer
22  */
23 
24 #ifndef _SEIMPLEMENTATION_IMAGE_DOWNSAMPLEDIMAGEPSF_H_
25 #define _SEIMPLEMENTATION_IMAGE_DOWNSAMPLEDIMAGEPSF_H_
26 
33 
35 
36 namespace SourceXtractor {
37 
38 /*
39  * Encapsulates ImagePsf to provide a downscaled version for performance
40  */
42 public:
43 
44  DownSampledImagePsf(double pixel_scale, std::shared_ptr<VectorImage<SeFloat>> image, double down_scaling=1.0);
45 
46  virtual ~DownSampledImagePsf() = default;
47 
48  double getPixelScale() const;
49  std::size_t getSize() const;
52 
53  // For ConvolutionContext optimization
56 
57 private:
60 };
61 
62 } // end of SourceXtractor
63 
64 namespace ModelFitting {
65 
69 template<>
70 struct PsfTraits<SourceXtractor::DownSampledImagePsf> {
72  static constexpr bool has_context = true;
73 };
74 
75 } // end of ModelFitting
76 
77 #endif /* _SEIMPLEMENTATION_IMAGE_DOWNSAMPLEDIMAGEPSF_H_ */
const double pixel_scale
Definition: TestImage.cpp:74
void convolve(std::shared_ptr< WriteableImage< float >> image) const
std::shared_ptr< ImagePsf > m_psf
std::shared_ptr< VectorImage< SourceXtractor::SeFloat > > getScaledKernel(SeFloat scale) const
std::unique_ptr< DFTConvolution< SeFloat >::ConvolutionContext > prepare(const std::shared_ptr< const Image< SeFloat >> &model_ptr) const
DownSampledImagePsf(double pixel_scale, std::shared_ptr< VectorImage< SeFloat >> image, double down_scaling=1.0)
virtual ~DownSampledImagePsf()=default
Interface representing an image.
Definition: Image.h:43
Image implementation which keeps the pixel values in memory.
Definition: VectorImage.h:52
SeFloat32 SeFloat
Definition: Types.h:32
typename std::unique_ptr< SourceXtractor::ImagePsf::ConvolutionContext > context_t
static constexpr bool has_context
Definition: PsfTraits.h:39