SourceXtractorPlusPlus  0.16
Please provide a description of the project.
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:
42  std::shared_ptr<Image<unsigned char>> mask = nullptr, const unsigned char mask_type_flag = 0x0001);
43  virtual ~SE2BackgroundModeller();
44 
45  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);
46 
47  //
49  void computeScalingFactor(PIXTYPE* whtMeanVals, PIXTYPE* bckSigVals, PIXTYPE& sigFac, const size_t nGridPoints);
51 private:
52  void getMinIncr(size_t &nElements, long *incr, const size_t *subImgNaxes);
53 
54  void filter(PIXTYPE* bckVals, PIXTYPE* sigmaVals, const size_t* gridSize, const size_t* filterSize, const float &filterThreshold=0.0);
55  void replaceUNDEF(PIXTYPE* bckVals, PIXTYPE* sigmaVals,const size_t* gridSize);
56  void filterMedian(PIXTYPE* bckVals, PIXTYPE* sigmaVals,const size_t* gridSize, const size_t* filterSize, const float filterThresh=0.0);
57 
58  void rescaleThreshold(PIXTYPE &weightVarThreshold, const PIXTYPE &weightThreshold);
59 
60  // input to create the object
61  boost::filesystem::path itsInputMaskName;
62  boost::filesystem::path itsInputFileName;
63  boost::filesystem::path itsInputWeightName;
65  unsigned char itsMaskType;
66 
70 
71  bool itsHasVariance=false;
72  bool itsHasMask=false;
73  //
75  //
76  // data from the input image
77  size_t itsNaxes[2]={0,0};
78 };
79 
80 } // end of namespace SourceXtractor
81 
82 #endif // BACKGROUNDMODELLER_H
83 
Interface representing an image.
Definition: Image.h:43
void rescaleThreshold(PIXTYPE &weightVarThreshold, const PIXTYPE &weightThreshold)
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)
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)
void filter(PIXTYPE *bckVals, PIXTYPE *sigmaVals, const size_t *gridSize, const size_t *filterSize, const float &filterThreshold=0.0)
void replaceUNDEF(PIXTYPE *bckVals, PIXTYPE *sigmaVals, const size_t *gridSize)
std::shared_ptr< WeightImage > itsVariance
std::shared_ptr< DetectionImage > itsImage
std::shared_ptr< Image< unsigned char > > itsMask
void getMinIncr(size_t &nElements, long *incr, const size_t *subImgNaxes)
void computeScalingFactor(PIXTYPE *whtMeanVals, PIXTYPE *bckSigVals, PIXTYPE &sigFac, const size_t nGridPoints)
void filterMedian(PIXTYPE *bckVals, PIXTYPE *sigmaVals, const size_t *gridSize, const size_t *filterSize, const float filterThresh=0.0)