SourceXtractorPlusPlus
0.15
Please provide a description of the project.
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
SEFramework
SEFramework
Image
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
26
#include "
SEFramework/Image/Image.h
"
27
#include "
SEFramework/Image/ImageAccessor.h
"
28
#include "
SEFramework/Image/ImageChunk.h
"
29
30
namespace
SourceXtractor {
31
36
template
<
typename
T>
37
class
MirrorImage
:
public
Image
<T> {
38
protected
:
39
MirrorImage
(
std::shared_ptr
<
const
Image<T>
> img) :
m_img
{img} {
40
}
41
42
public
:
43
template
<
typename
... Args>
44
static
std::shared_ptr<MirrorImage<T>
>
create
(Args &&... args) {
45
return
std::shared_ptr<MirrorImage<T>
>(
new
MirrorImage
{std::forward<Args>(args)...});
46
}
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
{
61
ImageAccessor<T>
accessor(
m_img
,
ImageAccessor<T>::BOTTOM_RIGHT
);
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
73
private
:
74
std::shared_ptr<const Image<T>
>
m_img
;
75
};
76
77
}
// end SourceXtractor
78
79
#endif // _SEFRAMEWORK_IMAGE_MIRRORIMAGE_H
std::shared_ptr
SourceXtractor::MirrorImage
Mirrors an image in both X and Y axes.
Definition:
MirrorImage.h:37
x
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > x
Definition:
MoffatModelFittingTask.cpp:94
ImageAccessor.h
SourceXtractor::ImageAccessor::getWidth
int getWidth() const override
Returns the width of the image in pixels.
Definition:
ImageAccessor.h:120
SourceXtractor::MirrorImage::getChunk
std::shared_ptr< ImageChunk< T > > getChunk(int x, int y, int width, int height) const override
Definition:
MirrorImage.h:60
y
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > y
Definition:
MoffatModelFittingTask.cpp:94
SourceXtractor::ImageAccessor::getHeight
int getHeight() const override
Returns the height of the image in pixels.
Definition:
ImageAccessor.h:124
std::string
STL class.
Image.h
SourceXtractor::MirrorImage::getRepr
std::string getRepr() const override
Get a string identifying this image in a human readable manner.
Definition:
MirrorImage.h:48
SourceXtractor::MirrorImage::getHeight
int getHeight() const override
Returns the height of the image in pixels.
Definition:
MirrorImage.h:56
SourceXtractor::UniversalImageChunk::create
static std::shared_ptr< UniversalImageChunk< T > > create(Args &&...args)
Definition:
ImageChunk.h:142
SourceXtractor::ImageAccessor
Definition:
ImageAccessor.h:41
ImageChunk.h
SourceXtractor::MirrorImage::create
static std::shared_ptr< MirrorImage< T > > create(Args &&...args)
Definition:
MirrorImage.h:44
ModelFitting::height
height
Definition:
CompactModelBase.icpp:19
SourceXtractor::MirrorImage::MirrorImage
MirrorImage(std::shared_ptr< const Image< T >> img)
Definition:
MirrorImage.h:39
SourceXtractor::Image
Interface representing an image.
Definition:
Image.h:43
SourceXtractor::MirrorImage::m_img
std::shared_ptr< const Image< T > > m_img
Definition:
MirrorImage.h:74
ModelFitting::width
width
Definition:
CompactModelBase.icpp:19
SourceXtractor::MirrorImage::getWidth
int getWidth() const override
Returns the width of the image in pixels.
Definition:
MirrorImage.h:52
SourceXtractor::ImageAccessor::getValue
T getValue(int x, int y)
Definition:
ImageAccessor.h:100
Generated by
1.8.5