SourceXtractorPlusPlus  0.10
Please provide a description of the project.
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<T>, public std::enable_shared_from_this<ImageSource<T>> {
34 public:
35 
37 
38  virtual ~ProcessingImageSource() = default;
39 
40  virtual std::shared_ptr<ImageTile<T>> getImageTile(int x, int y, int width, int height) const override {
41  auto tile = std::make_shared<ImageTile<T>>((const_cast<ProcessingImageSource*>(this))->shared_from_this(), x, y, width, height);
42 
43  generateTile(m_image, *tile, x, y, width, height);
44 
45  return tile;
46  }
47 
48  virtual void saveTile(ImageTile<T>& /*tile*/) override {
49  assert(false);
50  }
51 
53  virtual int getWidth() const override {
54  return m_image->getWidth();
55  }
56 
58  virtual int getHeight() const override {
59  return m_image->getHeight();
60  }
61 
62 protected:
63  virtual void generateTile(std::shared_ptr<Image<T>> image, ImageTile<T>& tile, int x, int y, int width, int height) const = 0;
64 
66  return m_image->getRepr();
67  }
68 
69 private:
71 };
72 
73 }
74 
75 
76 
77 #endif /* _SEFRAMEWORK_IMAGE_PROCESSINGIMAGESOURCE_H_ */
STL class.
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > x
virtual int getWidth() const override
Returns the width of the image in pixels.
std::shared_ptr< Image< T > > m_image
virtual std::shared_ptr< ImageTile< T > > getImageTile(int x, int y, int width, int height) const override
virtual int getHeight() const override
Returns the height of the image in pixels.
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > y
STL class.
virtual void generateTile(std::shared_ptr< Image< T >> image, ImageTile< T > &tile, int x, int y, int width, int height) const =0
Interface representing an image.
Definition: Image.h:43
ProcessingImageSource(std::shared_ptr< Image< T >> image)
virtual void saveTile(ImageTile< T > &) override