SourceXtractorPlusPlus  0.14
Please provide a description of the project.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SE2BackgroundModeller.h
Go to the documentation of this file.
1 
17 /*
18  * Created on Jan 05, 2015
19  * @author: mkuemmel@usm.lmu.de
20  *
21  * Date: $Date$
22  * Revision: $Revision$
23  * Author: $Author$
24  */
25 #ifndef BACKGROUNDMODELLER_H
26 #define BACKGROUNDMODELLER_H
27 
28 #include <vector>
29 #include <memory>
30 #include <boost/filesystem.hpp>
31 #include "fitsio.h"
35 
36 namespace SourceXtractor {
37 
39 
40 public:
41  SE2BackgroundModeller(std::shared_ptr<DetectionImage> image, std::shared_ptr<WeightImage> variance_map=nullptr, std::shared_ptr<Image<unsigned char>> mask=nullptr, const unsigned char mask_type_flag=0x0001);
42  virtual ~SE2BackgroundModeller();
43 
44  void createSE2Models(std::shared_ptr<TypedSplineModelWrapper<SeFloat>> &bckPtr, std::shared_ptr<TypedSplineModelWrapper<SeFloat>> &sigPtr, PIXTYPE &sigFac, const size_t *bckCellSize, const WeightImage::PixelType varianceThreshold, const size_t *filterBoxSize, const float &filterThreshold=0.0);
45 
46  //
48  void computeScalingFactor(PIXTYPE* whtMeanVals, PIXTYPE* bckSigVals, PIXTYPE& sigFac, const size_t nGridPoints);
50 private:
51  void getMinIncr(size_t &nElements, long *incr, const size_t *subImgNaxes);
52 
53  void filter(PIXTYPE* bckVals, PIXTYPE* sigmaVals, const size_t* gridSize, const size_t* filterSize, const float &filterThreshold=0.0);
54  void replaceUNDEF(PIXTYPE* bckVals, PIXTYPE* sigmaVals,const size_t* gridSize);
55  void filterMedian(PIXTYPE* bckVals, PIXTYPE* sigmaVals,const size_t* gridSize, const size_t* filterSize, const float filterThresh=0.0);
56 
57  void rescaleThreshold(PIXTYPE &weightVarThreshold, const PIXTYPE &weightThreshold);
58 
59  // input to create the object
60  boost::filesystem::path itsInputMaskName;
61  boost::filesystem::path itsInputFileName;
62  boost::filesystem::path itsInputWeightName;
64  unsigned char itsMaskType;
65 
69 
70  bool itsHasVariance=false;
71  bool itsHasMask=false;
72  //
74  //
75  // data from the input image
76  size_t itsNaxes[2]={0,0};
77 };
78 
79 } // end of namespace SourceXtractor
80 
81 #endif // BACKGROUNDMODELLER_H
82 
void createSE2Models(std::shared_ptr< TypedSplineModelWrapper< SeFloat >> &bckPtr, std::shared_ptr< TypedSplineModelWrapper< SeFloat >> &sigPtr, PIXTYPE &sigFac, const size_t *bckCellSize, const WeightImage::PixelType varianceThreshold, const size_t *filterBoxSize, const float &filterThreshold=0.0)
std::shared_ptr< Image< unsigned char > > itsMask
void rescaleThreshold(PIXTYPE &weightVarThreshold, const PIXTYPE &weightThreshold)
std::shared_ptr< WeightImage > itsVariance
void replaceUNDEF(PIXTYPE *bckVals, PIXTYPE *sigmaVals, const size_t *gridSize)
SE2BackgroundModeller(std::shared_ptr< DetectionImage > image, std::shared_ptr< WeightImage > variance_map=nullptr, std::shared_ptr< Image< unsigned char >> mask=nullptr, const unsigned char mask_type_flag=0x0001)
std::shared_ptr< DetectionImage > itsImage
void filterMedian(PIXTYPE *bckVals, PIXTYPE *sigmaVals, const size_t *gridSize, const size_t *filterSize, const float filterThresh=0.0)
Interface representing an image.
Definition: Image.h:43
void computeScalingFactor(PIXTYPE *whtMeanVals, PIXTYPE *bckSigVals, PIXTYPE &sigFac, const size_t nGridPoints)
void getMinIncr(size_t &nElements, long *incr, const size_t *subImgNaxes)
void filter(PIXTYPE *bckVals, PIXTYPE *sigmaVals, const size_t *gridSize, const size_t *filterSize, const float &filterThreshold=0.0)