ddt  1.0.0
biasBuffer.hpp
Go to the documentation of this file.
1 
20 #ifndef BIASBUFFER_HPP
21 #define BIASBUFFER_HPP
22 
23 #include <algorithm>
24 #include <cctype>
25 
26 #include <sys/stat.h>
27 #include "boost/filesystem.hpp"
28 
29 #include <cpl.h>
30 #undef I
31 #undef arg
32 
34 #include "ddt/dataAcquisition.hpp"
35 #include "ddt/dataFile.hpp"
37 #include "ddt/ddtEncDecImage2D.hpp"
38 #include "ddt/imageColor.hpp"
39 #include "ddt/imageCoords.hpp"
40 #include "ddt/imageError.hpp"
41 #include "ddt/imageIO.hpp"
42 #include "ddt/imageProc.hpp"
43 #include "ddt/imageStats.hpp"
44 
45 #include "ddt/ddtLogger.hpp"
46 
47 namespace ddt {
48 
56 class BiasBuffer {
57  public:
61  BiasBuffer();
62 
63  BiasBuffer(const int max_size = 5);
64 
68  virtual ~BiasBuffer();
69 
74  void set_logger(ddt::DdtLogger* const in_logger);
75 
85  bool LoadBiasFileInSlot(const std::string& file_name, const int slot = 0);
86 
94  int LoadBiasFileInFreeSlot(const std::string& file_name);
95 
105  bool StoreCPLAsBiasImageInSlot(const cpl_image* image, std::string slot_name,
106  const int slot = 0);
107 
117  int StoreCPLAsBiasImageInFreeSlot(const cpl_image* const image,
118  const std::string slot_name);
119 
123  void ClearAll();
124 
129  void ClearSelected(const int slot);
130 
137  cpl_image* get_Image(const int slot);
138 
146  std::string get_SlotName(const int slot);
147 
155  bool SubtractBiasImage(cpl_image* const source_image, const int slot = 0);
156 
157  protected:
162 
163  private:
167  void Initialize();
168 
174  bool LoadFileData(const int slot);
175 
181  bool LoadFileDataImage(const int slot);
182 
187  void DeleteCplImage(cpl_image** const image) const;
188 
192  ddt::DataFile* data_file;
193 
197  std::vector<cpl_image*> bias_image;
198 
202  std::vector<std::string> bias_image_name;
203 
207  int max_bias_images;
208 };
209 
210 } // namespace ddt
211 
212 #endif /* BIASBUFFER_HPP */
213 
Definition: biasBuffer.hpp:56
ddt::DdtLogger * logger
Definition: biasBuffer.hpp:161
cpl_image * get_Image(const int slot)
Definition: biasBuffer.cpp:163
bool LoadBiasFileInSlot(const std::string &file_name, const int slot=0)
Definition: biasBuffer.cpp:70
virtual ~BiasBuffer()
Definition: biasBuffer.cpp:43
void ClearSelected(const int slot)
Definition: biasBuffer.cpp:284
BiasBuffer()
Definition: biasBuffer.cpp:33
void set_logger(ddt::DdtLogger *const in_logger)
Definition: biasBuffer.cpp:55
int StoreCPLAsBiasImageInFreeSlot(const cpl_image *const image, const std::string slot_name)
Definition: biasBuffer.cpp:249
std::string get_SlotName(const int slot)
Definition: biasBuffer.cpp:174
void ClearAll()
Definition: biasBuffer.cpp:275
bool StoreCPLAsBiasImageInSlot(const cpl_image *image, std::string slot_name, const int slot=0)
Definition: biasBuffer.cpp:197
int LoadBiasFileInFreeSlot(const std::string &file_name)
Definition: biasBuffer.cpp:97
bool SubtractBiasImage(cpl_image *const source_image, const int slot=0)
Definition: biasBuffer.cpp:185
Definition: dataFile.hpp:78
Definition: ddtLogger.hpp:51
Configuration Maps class, offers an interface to configuration map access classes....
Data acquisition class, offers access to data stream acquisition functions. This file is part of the ...
Data file class, offers access to FITS file functions. This file is part of the DDT Image Handling Li...
DDT EncDecMultiDim. Class to encode / decode multi-dimensional array data samples....
DDT EncDecImage2D. Class to encode / decode 2-dimensional data samples containing image data....
Class to wrap the usage of log4cplus as logging utility. This file provides a wrapper class for the u...
Image Color class, offers access to color map related functions. This file is part of the DDT Image H...
Image Handling class, offers access to coordinate conversion functions. This file is part of the DDT ...
Image error handling function declaration. This file is part of the DDT Image Handling Library and pr...
Image IO function declaration. This file is part of the DDT Image Handling Library and provides funct...
Image processing function declaration. This file is part of the DDT Image Handling Library and provid...
Image analysis and statistic function declaration. This file is part of the DDT Image Handling Librar...
Definition: ddtClient.hpp:39