SourceXtractorPlusPlus
0.11
Please provide a description of the project.
SEImplementation
SEImplementation
Partition
AttractorsPartitionStep.h
Go to the documentation of this file.
1
23
#ifndef _SEIMPLEMENTATION_PARTITION_ATTRACTORSPARTITIONSTEP_H
24
#define _SEIMPLEMENTATION_PARTITION_ATTRACTORSPARTITIONSTEP_H
25
26
#include <unordered_map>
27
#include <vector>
28
29
#include "
SEUtils/PixelCoordinate.h
"
30
#include "
SEFramework/Image/Image.h
"
31
#include "
SEFramework/Source/SourceFactory.h
"
32
#include "
SEFramework/Source/SourceWithOnDemandProperties.h
"
33
#include "
SEFramework/Pipeline/Partition.h
"
34
35
namespace
SourceXtractor
{
36
42
class
AttractorsPartitionStep
:
public
PartitionStep
{
43
public
:
44
48
virtual
~AttractorsPartitionStep
() =
default
;
49
50
AttractorsPartitionStep
(
std::shared_ptr<SourceFactory>
source_factory) :
51
m_source_factory
(source_factory) {}
52
53
virtual
std::vector<std::shared_ptr<SourceInterface>
>
partition
(
std::shared_ptr<SourceInterface>
source)
const override
;
54
55
private
:
56
std::shared_ptr<SourceFactory>
m_source_factory
;
57
58
void
attractPixels
(
59
const
std::vector
<
std::pair<PixelCoordinate, PixelCoordinate>
>& pixels_with_origin,
60
std::unordered_map
<
PixelCoordinate
,
std::vector<PixelCoordinate>
>& attractors,
61
std::function
<
DetectionImage::PixelType
(
PixelCoordinate
)> value_function)
const
;
62
63
std::vector<std::vector<PixelCoordinate>
>
mergeAttractors
(
64
const
std::unordered_map
<
PixelCoordinate
,
std::vector<PixelCoordinate>
>& attractors)
const
;
65
66
67
};
/* End of AttractorsPartitionStep class */
68
69
}
/* namespace SourceXtractor */
70
71
72
#endif
SourceXtractor::AttractorsPartitionStep::mergeAttractors
std::vector< std::vector< PixelCoordinate > > mergeAttractors(const std::unordered_map< PixelCoordinate, std::vector< PixelCoordinate >> &attractors) const
Definition:
AttractorsPartitionStep.cpp:129
SourceXtractor::PixelCoordinate
A pixel coordinate made of two integers m_x and m_y.
Definition:
PixelCoordinate.h:37
std::shared_ptr< SourceFactory >
SourceXtractor::Image< SeFloat >::PixelType
SeFloat PixelType
Definition:
Image.h:47
std::pair
SourceXtractor::PartitionStep
A PartitionStep gets applied on a single Source and can result any number of Sources being outputed....
Definition:
Partition.h:37
std::vector
STL class.
SourceXtractor::AttractorsPartitionStep::partition
virtual std::vector< std::shared_ptr< SourceInterface > > partition(std::shared_ptr< SourceInterface > source) const override
Definition:
AttractorsPartitionStep.cpp:34
std::function
SourceXtractor
Definition:
Aperture.h:30
SourceFactory.h
Image.h
SourceXtractor::AttractorsPartitionStep::AttractorsPartitionStep
AttractorsPartitionStep(std::shared_ptr< SourceFactory > source_factory)
Definition:
AttractorsPartitionStep.h:50
SourceXtractor::AttractorsPartitionStep::~AttractorsPartitionStep
virtual ~AttractorsPartitionStep()=default
Destructor.
SourceXtractor::AttractorsPartitionStep
Splits sources by identifying an attractor pixel by climbing the values gradient from every pixel.
Definition:
AttractorsPartitionStep.h:42
SourceWithOnDemandProperties.h
Partition.h
SourceXtractor::AttractorsPartitionStep::attractPixels
void attractPixels(const std::vector< std::pair< PixelCoordinate, PixelCoordinate >> &pixels_with_origin, std::unordered_map< PixelCoordinate, std::vector< PixelCoordinate >> &attractors, std::function< DetectionImage::PixelType(PixelCoordinate)> value_function) const
Definition:
AttractorsPartitionStep.cpp:78
SourceXtractor::AttractorsPartitionStep::m_source_factory
std::shared_ptr< SourceFactory > m_source_factory
Definition:
AttractorsPartitionStep.h:56
PixelCoordinate.h
std::unordered_map
STL class.
Generated by
1.8.18