SourceXtractorPlusPlus
0.21
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
SEImplementation
SEImplementation
Segmentation
Lutz.h
Go to the documentation of this file.
1
17
/*
18
* Lutz.h
19
*
20
* Created on: Jan 17, 2017
21
* Author: mschefer
22
*/
23
24
#ifndef _SEIMPLEMENTATION_SEGMENTATION_LUTZ_H_
25
#define _SEIMPLEMENTATION_SEGMENTATION_LUTZ_H_
26
27
#include "ElementsKernel/Logging.h"
28
29
#include "
SEFramework/Source/SourceFactory.h
"
30
#include "
SEFramework/Task/TaskProvider.h
"
31
#include "
SEFramework/Source/SourceWithOnDemandProperties.h
"
32
#include "
SEFramework/Pipeline/Segmentation.h
"
33
#include "
SEFramework/Image/Image.h
"
34
35
namespace
SourceXtractor
{
36
37
class
Lutz
{
38
public
:
39
class
PixelGroup
{
40
public
:
41
42
int
start
;
43
int
end
;
44
std::vector<PixelCoordinate>
pixel_list
;
45
46
PixelGroup
() :
start
(-1),
end
(-1) {}
47
48
void
merge_pixel_list
(
PixelGroup
&
other
) {
49
pixel_list
.insert(
pixel_list
.end(),
other
.pixel_list.begin(),
other
.pixel_list.end());
50
}
51
};
52
53
class
LutzListener
{
54
public
:
55
virtual
void
publishGroup
(
PixelGroup
&
pixel_group
) = 0;
56
virtual
void
notifyProgress
(
int
/*line*/
,
int
/*total*/
) {};
57
};
58
59
Lutz
() {}
60
virtual
~Lutz
() =
default
;
61
62
void
labelImage
(
LutzListener
&
listener
,
const
DetectionImage
&
image
,
PixelCoordinate
offset =
PixelCoordinate
(0,0));
63
};
64
65
class
LutzList
:
public
Lutz
,
public
Lutz::LutzListener
{
66
public
:
67
68
LutzList
() {}
69
virtual
~LutzList
() =
default
;
70
71
const
std::vector<PixelGroup>
&
getGroups
()
const
{
72
return
m_groups
;
73
}
74
75
void
labelImage
(
const
DetectionImage
&
image
,
PixelCoordinate
offset =
PixelCoordinate
(0,0)) {
76
Lutz::labelImage
(*
this
,
image
, offset);
77
}
78
79
protected
:
80
void
publishGroup
(PixelGroup&
pixel_group
)
override
;
81
82
private
:
83
std::vector<PixelGroup>
m_groups
;
84
85
};
86
87
}
88
89
90
91
92
#endif
/* _SEIMPLEMENTATION_SEGMENTATION_LUTZ_H_ */
Image.h
Segmentation.h
SourceFactory.h
SourceWithOnDemandProperties.h
TaskProvider.h
SourceXtractor::Image< SeFloat >
SourceXtractor::LutzList
Definition
Lutz.h:65
SourceXtractor::LutzList::LutzList
LutzList()
Definition
Lutz.h:68
SourceXtractor::LutzList::publishGroup
void publishGroup(PixelGroup &pixel_group) override
Definition
Lutz.cpp:231
SourceXtractor::LutzList::labelImage
void labelImage(const DetectionImage &image, PixelCoordinate offset=PixelCoordinate(0, 0))
Definition
Lutz.h:75
SourceXtractor::LutzList::m_groups
std::vector< PixelGroup > m_groups
Definition
Lutz.h:83
SourceXtractor::LutzList::getGroups
const std::vector< PixelGroup > & getGroups() const
Definition
Lutz.h:71
SourceXtractor::LutzList::~LutzList
virtual ~LutzList()=default
SourceXtractor::Lutz::LutzListener
Definition
Lutz.h:53
SourceXtractor::Lutz::LutzListener::notifyProgress
virtual void notifyProgress(int, int)
Definition
Lutz.h:56
SourceXtractor::Lutz::LutzListener::publishGroup
virtual void publishGroup(PixelGroup &pixel_group)=0
SourceXtractor::Lutz::PixelGroup
Definition
Lutz.h:39
SourceXtractor::Lutz::PixelGroup::pixel_list
std::vector< PixelCoordinate > pixel_list
Definition
Lutz.h:44
SourceXtractor::Lutz::PixelGroup::PixelGroup
PixelGroup()
Definition
Lutz.h:46
SourceXtractor::Lutz::PixelGroup::start
int start
Definition
Lutz.h:42
SourceXtractor::Lutz::PixelGroup::end
int end
Definition
Lutz.h:43
SourceXtractor::Lutz::PixelGroup::merge_pixel_list
void merge_pixel_list(PixelGroup &other)
Definition
Lutz.h:48
SourceXtractor::Lutz
Implements a Segmentation based on the Lutz algorithm.
Definition
Lutz.h:37
SourceXtractor::Lutz::Lutz
Lutz()
Definition
Lutz.h:59
SourceXtractor::Lutz::~Lutz
virtual ~Lutz()=default
SourceXtractor::Lutz::labelImage
void labelImage(LutzListener &listener, const DetectionImage &image, PixelCoordinate offset=PixelCoordinate(0, 0))
Definition
Lutz.cpp:59
std::function
SourceXtractor
Definition
Aperture.h:30
SourceXtractor::PixelCoordinate
A pixel coordinate made of two integers m_x and m_y.
Definition
PixelCoordinate.h:37
Generated by
1.10.0