def merge_overlapping_pixel_objects()

in groups/arm/ggd/image_processor.py [0:0]


    def merge_overlapping_pixel_objects(self):
        # merge objects with overlapping x-y tuples together
        center = 0
        max_entry = len(self.pixelObjList) - 1
        # old_len = len(self.pixelObjList)
        # flag = False
        while center < max_entry:
            tmp = self.check_overlap(center)
            if tmp is False:
                center += 1
            else:
                for ent in self.pixelObjList[tmp].XYset:
                    self.pixelObjList[center].XYset.add(ent)
                del self.pixelObjList[tmp]
                max_entry = len(self.pixelObjList) - 1

        for obj in self.pixelObjList:
            object_pixels = obj.count_pixel()
            # if self.max_pixel_count == 0:
            #     results['max_pixel_count'] = object_pixels
            #     results['object_id'] = obj.id_
            if object_pixels > self.max_pixel_count:
                self.max_pixel_count = object_pixels
                self.largest_object_id = obj.id_
                x, y = obj.compute_mean_coord()
                self.largest_X = x
                self.largest_Y = y

            # print obj.XYset
            rows = []
            for _ in range(96):
                rows.append(range(96))
            for j in range(96):
                for i in range(96):
                    if (i, j) in obj.XYset:
                        rows[j][i] = 255
                    else:
                        rows[j][i] = 0
                        # self.save_PNG(string.join([str(obj.id_), 'pixpro.png'], ''), rows)

        # print("nmbr of pre Objects:{0}".format(old_len))
        self.new_one_pixel_png()