SourceXtractorPlusPlus  0.15
Please provide a description of the project.
ConstantImage.h
Go to the documentation of this file.
1 
17 /*
18  * ConstantImage.h
19  *
20  * Created on: Jan 12, 2017
21  * Author: mschefer
22  */
23 
24 #ifndef _SEFRAMEWORK_IMAGE_CONSTANTIMAGE_H_
25 #define _SEFRAMEWORK_IMAGE_CONSTANTIMAGE_H_
26 
29 
30 namespace SourceXtractor {
31 
32 template <typename T>
33 class ConstantImage : public Image<T> {
34 protected:
35 
36  ConstantImage(int width, int height, T constant_value)
37  : m_width(width), m_height(height), m_constant_value(constant_value) {}
38 
39 
40 public:
41 
42  static std::shared_ptr<ConstantImage<T>> create(int width, int height, T constant_value) {
43  return std::shared_ptr<ConstantImage<T>>(new ConstantImage(width, height, constant_value));
44  }
45 
46  virtual ~ConstantImage() = default;
47 
48  std::string getRepr() const final {
49  return "ConstantImage<" + std::to_string(m_width) + "," + std::to_string(m_height) + ">(" +
51  }
52 
53  int getHeight() const final {
54  return m_height;
55  }
56 
57  int getWidth() const final {
58  return m_width;
59  }
60 
61  std::shared_ptr<ImageChunk<T>> getChunk(int /*x*/, int /*y*/, int width, int height) const final {
62  return UniversalImageChunk<T>::create(std::vector<T>(width * height, m_constant_value), width, height);
63  }
64 
65 private:
66 
67  int m_width;
68  int m_height;
70 
71 };
72 
73 }
74 
75 
76 #endif /* _SEFRAMEWORK_IMAGE_CONSTANTIMAGE_H_ */
SourceXtractor::ConstantImage
Definition: ConstantImage.h:33
std::string
STL class.
std::shared_ptr
STL class.
SourceXtractor::ConstantImage::getRepr
std::string getRepr() const final
Get a string identifying this image in a human readable manner.
Definition: ConstantImage.h:48
SourceXtractor::ConstantImage::m_constant_value
T m_constant_value
Definition: ConstantImage.h:69
SourceXtractor::ConstantImage::getWidth
int getWidth() const final
Returns the width of the image in pixels.
Definition: ConstantImage.h:57
ImageChunk.h
std::vector
STL class.
SourceXtractor::ConstantImage::getChunk
std::shared_ptr< ImageChunk< T > > getChunk(int, int, int width, int height) const final
Definition: ConstantImage.h:61
SourceXtractor::Image
Interface representing an image.
Definition: Image.h:43
SourceXtractor::ConstantImage::getHeight
int getHeight() const final
Returns the height of the image in pixels.
Definition: ConstantImage.h:53
SourceXtractor
Definition: Aperture.h:30
SourceXtractor::ConstantImage::ConstantImage
ConstantImage(int width, int height, T constant_value)
Definition: ConstantImage.h:36
std::to_string
T to_string(T... args)
SourceXtractor::ConstantImage::create
static std::shared_ptr< ConstantImage< T > > create(int width, int height, T constant_value)
Definition: ConstantImage.h:42
Image.h
SourceXtractor::ConstantImage::m_width
int m_width
Definition: ConstantImage.h:67
SourceXtractor::ConstantImage::m_height
int m_height
Definition: ConstantImage.h:68
SourceXtractor::UniversalImageChunk::create
static std::shared_ptr< UniversalImageChunk< T > > create(Args &&... args)
Definition: ImageChunk.h:142
SourceXtractor::ConstantImage::~ConstantImage
virtual ~ConstantImage()=default