35 Flags flag = Flags::NONE;
37 auto min_pixel = aperture->
getMinPixel(centroid_x, centroid_y);
38 auto max_pixel = aperture->
getMaxPixel(centroid_x, centroid_y);
41 if (min_pixel.clip(detection_img->getWidth(), detection_img->getHeight()))
42 flag |= Flags::BOUNDARY;
43 if (max_pixel.clip(detection_img->getWidth(), detection_img->getHeight()))
44 flag |= Flags::BOUNDARY;
47 auto var_cutout = detection_variance->getChunk(min_pixel, max_pixel);
50 NeighbourInfo neighbour_info(min_pixel, max_pixel, pix_list, threshold_image);
57 for (
int pixel_y = min_pixel.m_y; pixel_y <= max_pixel.m_y; pixel_y++) {
58 for (
int pixel_x = min_pixel.m_x; pixel_x <= max_pixel.m_x; pixel_x++) {
61 auto area = aperture->
getArea(centroid_x, centroid_y, pixel_x, pixel_y);
69 bad_area += (var_cutout->getValue(pixel_x - min_pixel.m_x, pixel_y - min_pixel.m_y) >
76 flag |= Flags::BIASED;
80 flag |= Flags::NEIGHBORS;