SourceXtractorPlusPlus  0.15
Please provide a description of the project.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ProcessingImageSource.h
Go to the documentation of this file.
1 
17 /*
18  * ProcessingImageSource.h
19  *
20  * Created on: May 2, 2018
21  * Author: mschefer
22  */
23 
24 #ifndef _SEFRAMEWORK_IMAGE_PROCESSINGIMAGESOURCE_H_
25 #define _SEFRAMEWORK_IMAGE_PROCESSINGIMAGESOURCE_H_
26 
29 
30 namespace SourceXtractor {
31 
32 template <typename T>
33 class ProcessingImageSource : public ImageSource, public std::enable_shared_from_this<ImageSource> {
34 public:
35 
37 
38  virtual ~ProcessingImageSource() = default;
39 
40  std::shared_ptr<ImageTile> getImageTile(int x, int y, int width, int height) const override {
41  auto tile = std::make_shared<ImageTileWithType<T>>(
42  x, y, width, height, (const_cast<ProcessingImageSource*>(this))->shared_from_this());
43 
44  generateTile(m_image, *tile, x, y, width, height);
45 
46  return tile;
47  }
48 
49  void saveTile(ImageTile& /*tile*/) override {
50  assert(false);
51  }
52 
54  int getWidth() const override {
55  return m_image->getWidth();
56  }
57 
59  int getHeight() const override {
60  return m_image->getHeight();
61  }
62 
63  ImageTile::ImageType getType() const override {
64  return ImageTile::getTypeValue(T());
65  }
66 
67 protected:
68  virtual void generateTile(const std::shared_ptr<Image<T>>& image, ImageTileWithType<T>& tile, int x, int y, int width, int height) const = 0;
69 
71  return m_image->getRepr();
72  }
73 
74 private:
76 };
77 
78 }
79 
80 
81 
82 #endif /* _SEFRAMEWORK_IMAGE_PROCESSINGIMAGESOURCE_H_ */
virtual void generateTile(const std::shared_ptr< Image< T >> &image, ImageTileWithType< T > &tile, int x, int y, int width, int height) const =0
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > x
std::shared_ptr< Image< T > > m_image
std::shared_ptr< ImageTile > getImageTile(int x, int y, int width, int height) const override
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > y
STL class.
int getHeight() const override
Returns the height of the image in pixels.
int getWidth() const override
Returns the width of the image in pixels.
Interface representing an image.
Definition: Image.h:43
ProcessingImageSource(std::shared_ptr< Image< T >> image)
static ImageType getTypeValue(float)
Definition: ImageTile.h:99
ImageTile::ImageType getType() const override