SourceXtractorPlusPlus  0.11
Please provide a description of the project.
VariablePsf.h
Go to the documentation of this file.
1 
17 /*
18  * VariablePsf.h
19  *
20  * Created on: Jun 25, 2018
21  * Author: Alejandro Álvarez Ayllón
22  */
23 
24 #ifndef _SEIMPLEMENTATION_PSF_VARIABLEPSF_H_
25 #define _SEIMPLEMENTATION_PSF_VARIABLEPSF_H_
26 
29 
30 namespace SourceXtractor {
31 
32 
49 class VariablePsf {
50 public:
51 
58  struct Component {
60  int group_id;
61  double offset, scale;
62  };
63 
76  VariablePsf(double pixel_sampling, const std::vector<Component> &components, const std::vector<int> &group_degrees,
77  const std::vector<std::shared_ptr<VectorImage<SeFloat>>> &coefficients);
78 
83  VariablePsf(double pixel_sampling, const std::shared_ptr<VectorImage<SeFloat>> &constant);
84 
88  virtual ~VariablePsf() = default;
89 
93  int getWidth() const;
94 
98  int getHeight() const;
99 
103  double getPixelSampling() const;
104 
108  const std::vector<Component>& getComponents() const;
109 
121 
122 private:
128 
130  void selfTest();
131 
134 
148  void calculateExponents();
149 };
150 
151 }
152 
153 #endif //_SEIMPLEMENTATION_PSF_VARIABLEPSF_H_
Implements a variable PSF using an arbitrary number of components (i.e. X, Y), and degrees...
Definition: VariablePsf.h:49
double getPixelSampling() const
Definition: VariablePsf.cpp:55
std::vector< std::shared_ptr< VectorImage< SeFloat > > > m_coefficients
Definition: VariablePsf.h:126
std::vector< int > m_group_degrees
Definition: VariablePsf.h:125
virtual ~VariablePsf()=default
STL class.
Image implementation which keeps the pixel values in memory.
Definition: VectorImage.h:53
VariablePsf(double pixel_sampling, const std::vector< Component > &components, const std::vector< int > &group_degrees, const std::vector< std::shared_ptr< VectorImage< SeFloat >>> &coefficients)
Definition: VariablePsf.cpp:31
std::shared_ptr< VectorImage< SeFloat > > getPsf(const std::vector< double > &values) const
Definition: VariablePsf.cpp:63
std::vector< std::vector< int > > m_exponents
Definition: VariablePsf.h:127
STL class.
std::vector< double > scaleProperties(const std::vector< double > &values) const
Normalizes the values.
const std::vector< Component > & getComponents() const
Definition: VariablePsf.cpp:59
std::vector< Component > m_components
Definition: VariablePsf.h:124
void selfTest()
Verify that the preconditions of getPsf are met at construction time.
Definition: VariablePsf.cpp:95