SourceXtractorPlusPlus
0.15
Please provide a description of the project.
SEFramework
SEFramework
Image
ImageProcessingList.h
Go to the documentation of this file.
1
17
/*
18
* ImageProcessingList.h
19
*
20
* Created on: Sep 15, 2016
21
* Author: mschefer
22
*/
23
24
#ifndef _SEFRAMEWORK_IMAGE_IMAGEPROCESSINGLIST_H_
25
#define _SEFRAMEWORK_IMAGE_IMAGEPROCESSINGLIST_H_
26
27
#include <memory>
28
#include <vector>
29
30
#include "
SEFramework/Image/ImageProcessing.h
"
31
32
namespace
SourceXtractor
{
33
34
template
<
typename
T>
35
class
ImageProcessingList
:
public
ImageProcessing
<T> {
36
public
:
37
virtual
~ImageProcessingList
() =
default
;
38
39
explicit
ImageProcessingList
(
const
std::vector
<
std::shared_ptr
<
ImageProcessing<T>
>>& processing_list)
40
:
m_processing_list
(processing_list) {}
41
42
virtual
std::shared_ptr<Image<T>
>
processImage
(
std::shared_ptr
<
Image<T>
> image)
const override
{
43
auto
processed_image = image;
44
for
(
auto
& processing_step :
m_processing_list
) {
45
processed_image = processing_step->processImage(processed_image);
46
}
47
48
return
processed_image;
49
}
50
virtual
std::shared_ptr<Image<T>
>
processImage
(
std::shared_ptr
<
Image<T>
> image,
std::shared_ptr
<
Image<T>
> variance, T threshold)
const override
{
51
auto
processed_image = image;
52
for
(
auto
& processing_step :
m_processing_list
) {
53
processed_image = processing_step->processImage(processed_image, variance, threshold);
54
}
55
56
return
processed_image;
57
}
58
59
private
:
60
std::vector<std::shared_ptr<ImageProcessing<T>
>>
m_processing_list
;
61
62
};
63
64
using
DetectionImageProcessingList
=
ImageProcessingList<DetectionImage::PixelType>
;
65
66
}
67
68
#endif
/* SEFRAMEWORK_SEFRAMEWORK_IMAGE_IMAGEPROCESSINGLIST_H_ */
ImageProcessing.h
SourceXtractor::ImageProcessingList
Definition:
ImageProcessingList.h:35
SourceXtractor::ImageProcessingList::m_processing_list
std::vector< std::shared_ptr< ImageProcessing< T > > > m_processing_list
Definition:
ImageProcessingList.h:60
SourceXtractor::ImageProcessingList::~ImageProcessingList
virtual ~ImageProcessingList()=default
SourceXtractor::ImageProcessingList::ImageProcessingList
ImageProcessingList(const std::vector< std::shared_ptr< ImageProcessing< T >>> &processing_list)
Definition:
ImageProcessingList.h:39
SourceXtractor::ImageProcessingList::processImage
virtual std::shared_ptr< Image< T > > processImage(std::shared_ptr< Image< T >> image, std::shared_ptr< Image< T >> variance, T threshold) const override
Definition:
ImageProcessingList.h:50
SourceXtractor::ImageProcessingList::processImage
virtual std::shared_ptr< Image< T > > processImage(std::shared_ptr< Image< T >> image) const override
Definition:
ImageProcessingList.h:42
SourceXtractor::ImageProcessing
Definition:
ImageProcessing.h:32
SourceXtractor::Image
Interface representing an image.
Definition:
Image.h:43
SourceXtractor
Definition:
Aperture.h:30
std::shared_ptr
std::vector
Generated by
1.9.1