SourceXtractorPlusPlus
0.16
Please provide a description of the project.
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
virtual
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
Logging.h
Segmentation.h
SourceFactory.h
SourceWithOnDemandProperties.h
TaskProvider.h
SourceXtractor::Image
Interface representing an image.
Definition:
Image.h:43
SourceXtractor::LutzList
Definition:
Lutz.h:65
SourceXtractor::LutzList::getGroups
const std::vector< PixelGroup > & getGroups() const
Definition:
Lutz.h:71
SourceXtractor::LutzList::LutzList
LutzList()
Definition:
Lutz.h:68
SourceXtractor::LutzList::publishGroup
virtual 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::~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
SourceXtractor
Definition:
Aperture.h:30
SourceXtractor::PixelCoordinate
A pixel coordinate made of two integers m_x and m_y.
Definition:
PixelCoordinate.h:37
std::vector
Generated by
1.9.1