SourceXtractorPlusPlus
0.12
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
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_ */
SourceXtractor::ImageProcessingList::ImageProcessingList
ImageProcessingList(const std::vector< std::shared_ptr< ImageProcessing< T >>> &processing_list)
Definition:
ImageProcessingList.h:39
std::shared_ptr
SourceXtractor::ImageProcessingList::~ImageProcessingList
virtual ~ImageProcessingList()=default
SourceXtractor::ImageProcessing
Definition:
ImageProcessing.h:32
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::m_processing_list
std::vector< std::shared_ptr< ImageProcessing< T > > > m_processing_list
Definition:
ImageProcessingList.h:60
std::vector
STL class.
SourceXtractor::ImageProcessingList
Definition:
ImageProcessingList.h:35
SourceXtractor::ImageProcessingList::processImage
virtual std::shared_ptr< Image< T > > processImage(std::shared_ptr< Image< T >> image) const override
Definition:
ImageProcessingList.h:42
SourceXtractor::Image
Interface representing an image.
Definition:
Image.h:43
ImageProcessing.h
Generated by
1.8.5