SourceXtractorPlusPlus
0.11
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
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_ */
SourceXtractor::LutzList::publishGroup
virtual void publishGroup(PixelGroup &pixel_group) override
Definition:
Lutz.cpp:232
SourceXtractor::Lutz::PixelGroup::pixel_list
std::vector< PixelCoordinate > pixel_list
Definition:
Lutz.h:44
SourceXtractor::Lutz::LutzListener::notifyProgress
virtual void notifyProgress(int, int)
Definition:
Lutz.h:56
Logging.h
SourceXtractor::Lutz::PixelGroup
Definition:
Lutz.h:39
SourceWithOnDemandProperties.h
SourceXtractor::Lutz::LutzListener::publishGroup
virtual void publishGroup(PixelGroup &pixel_group)=0
SourceXtractor::Lutz::LutzListener
Definition:
Lutz.h:53
SourceXtractor::Lutz::~Lutz
virtual ~Lutz()=default
SourceXtractor::Lutz
Implements a Segmentation based on the Lutz algorithm.
Definition:
Lutz.h:37
SourceXtractor::LutzList::labelImage
void labelImage(const DetectionImage &image, PixelCoordinate offset=PixelCoordinate(0, 0))
Definition:
Lutz.h:75
SourceXtractor::Lutz::labelImage
void labelImage(LutzListener &listener, const DetectionImage &image, PixelCoordinate offset=PixelCoordinate(0, 0))
Definition:
Lutz.cpp:59
SourceXtractor::LutzList::~LutzList
virtual ~LutzList()=default
SourceXtractor::LutzList
Definition:
Lutz.h:65
Image.h
SourceXtractor::Lutz::PixelGroup::PixelGroup
PixelGroup()
Definition:
Lutz.h:46
SourceXtractor::Lutz::PixelGroup::start
int start
Definition:
Lutz.h:42
SourceXtractor::Lutz::Lutz
Lutz()
Definition:
Lutz.h:59
TaskProvider.h
SourceXtractor::LutzList::getGroups
const std::vector< PixelGroup > & getGroups() const
Definition:
Lutz.h:71
SourceXtractor::LutzList::LutzList
LutzList()
Definition:
Lutz.h:68
SourceXtractor::PixelCoordinate
A pixel coordinate made of two integers m_x and m_y.
Definition:
PixelCoordinate.h:37
std::vector
STL class.
SourceXtractor::LutzList::m_groups
std::vector< PixelGroup > m_groups
Definition:
Lutz.h:83
SourceXtractor::Image
Interface representing an image.
Definition:
Image.h:43
Segmentation.h
SourceXtractor::Lutz::PixelGroup::merge_pixel_list
void merge_pixel_list(PixelGroup &other)
Definition:
Lutz.h:48
SourceFactory.h
SourceXtractor::Lutz::PixelGroup::end
int end
Definition:
Lutz.h:43
Generated by
1.8.5