SourceXtractorPlusPlus 0.21
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
MirrorImage.h
Go to the documentation of this file.
1
17/*
18 * @file SEFramework/Image/ReflectImage.h
19 * @date 11/09/18
20 * @author Alejandro Alvarez Ayllon
21 */
22
23#ifndef _SEFRAMEWORK_IMAGE_MIRRORIMAGE_H
24#define _SEFRAMEWORK_IMAGE_MIRRORIMAGE_H
25
29
30namespace SourceXtractor {
31
36template <typename T>
37class MirrorImage: public Image<T> {
38protected:
40 }
41
42public:
43 template<typename... Args>
47
48 std::string getRepr() const override {
49 return "MirrorImage(" + m_img->getRepr() + ")";
50 }
51
52 int getWidth() const override {
53 return m_img->getWidth();
54 }
55
56 int getHeight() const override {
57 return m_img->getHeight();
58 }
59
60 std::shared_ptr<ImageChunk<T>> getChunk(int x, int y, int width, int height) const override {
62 auto chunk = UniversalImageChunk<T>::create(width, height);
63 auto img_w = accessor.getWidth();
64 auto img_h = accessor.getHeight();
65 for (int iy = 0; iy < height; ++iy) {
66 for (int ix = 0; ix < width; ++ix) {
67 chunk->at(ix, iy) = accessor.getValue(img_w - (x + ix) - 1, img_h - (y + iy) - 1);
68 }
69 }
70 return chunk;
71 }
72
73private:
75};
76
77} // end SourceXtractor
78
79#endif // _SEFRAMEWORK_IMAGE_MIRRORIMAGE_H
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > x
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > y
Interface representing an image.
Definition Image.h:44
Mirrors an image in both X and Y axes.
Definition MirrorImage.h:37
int getHeight() const override
Returns the height of the image in pixels.
Definition MirrorImage.h:56
std::shared_ptr< ImageChunk< T > > getChunk(int x, int y, int width, int height) const override
Definition MirrorImage.h:60
MirrorImage(std::shared_ptr< const Image< T > > img)
Definition MirrorImage.h:39
int getWidth() const override
Returns the width of the image in pixels.
Definition MirrorImage.h:52
static std::shared_ptr< MirrorImage< T > > create(Args &&... args)
Definition MirrorImage.h:44
std::string getRepr() const override
Get a string identifying this image in a human readable manner.
Definition MirrorImage.h:48
std::shared_ptr< const Image< T > > m_img
Definition MirrorImage.h:74
static std::shared_ptr< UniversalImageChunk< T > > create(Args &&... args)
Definition ImageChunk.h:144