36 namespace SourceXtractor {
75 for (
int y = 0;
y < lines;
y++) {
79 if (
y % chunk_height == 0) {
83 int dy =
y % chunk_height;
90 bool in_object = value > 0.0;
102 if (group_stack.
back().start == -1) {
105 group_stack.
back().start =
x;
115 group_stack.
back().start =
x;
134 group_stack.
back().start = -1;
137 auto prev_group = inc_group_map.
at(
x);
140 group_stack.
back().merge_pixel_list(prev_group);
153 group_stack.
back().merge_pixel_list(old_group);
155 if (group_stack.
back().start == -1) {
156 group_stack.
back().start = old_group.start;
171 ps = ps_stack.
back();
178 if (old_group.start == -1) {
183 inc_group_map[old_group.start] = old_group;
185 ps = ps_stack.
back();
205 group_stack.
back().end =
x;
208 ps = ps_stack.
back();
213 auto old_group = group_stack.
back();
216 inc_group_map[old_group.start] = old_group;
226 for (
auto& group : inc_group_map) {
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > x
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > y
std::shared_ptr< EngineParameter > dy