SourceXtractorPlusPlus 0.21
SourceXtractor++, the next generation SExtractor
Loading...
Searching...
No Matches
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
34
35namespace SourceXtractor {
36
37class Lutz {
38public:
39 class PixelGroup {
40 public:
41
42 int start;
43 int end;
45
46 PixelGroup() : start(-1), end(-1) {}
47
49 pixel_list.insert(pixel_list.end(), other.pixel_list.begin(), other.pixel_list.end());
50 }
51 };
52
54 public:
56 virtual void notifyProgress(int /*line*/, int /*total*/) {};
57 };
58
59 Lutz() {}
60 virtual ~Lutz() = default;
61
63};
64
65class LutzList : public Lutz, public Lutz::LutzListener {
66public:
67
69 virtual ~LutzList() = default;
70
72 return m_groups;
73 }
74
76 Lutz::labelImage(*this, image, offset);
77 }
78
79protected:
80 void publishGroup(PixelGroup& pixel_group) override;
81
82private:
84
85};
86
87}
88
89
90
91
92#endif /* _SEIMPLEMENTATION_SEGMENTATION_LUTZ_H_ */
void publishGroup(PixelGroup &pixel_group) override
Definition Lutz.cpp:231
void labelImage(const DetectionImage &image, PixelCoordinate offset=PixelCoordinate(0, 0))
Definition Lutz.h:75
std::vector< PixelGroup > m_groups
Definition Lutz.h:83
const std::vector< PixelGroup > & getGroups() const
Definition Lutz.h:71
virtual ~LutzList()=default
virtual void notifyProgress(int, int)
Definition Lutz.h:56
virtual void publishGroup(PixelGroup &pixel_group)=0
std::vector< PixelCoordinate > pixel_list
Definition Lutz.h:44
void merge_pixel_list(PixelGroup &other)
Definition Lutz.h:48
Implements a Segmentation based on the Lutz algorithm.
Definition Lutz.h:37
virtual ~Lutz()=default
void labelImage(LutzListener &listener, const DetectionImage &image, PixelCoordinate offset=PixelCoordinate(0, 0))
Definition Lutz.cpp:59
A pixel coordinate made of two integers m_x and m_y.