Ejemplo n.º 1
0
    def __init__(self, name, alnr, i=0):
        self.name = name
        self.i = i
        self.im_stack = [None] * alnr.num_subject
        self.im_nobg_stack = [None] * alnr.num_subject
        for j, im in enumerate(alnr.subject_stack):
            im_centered = contour.pad_image_cnt(im, None)
            if j > 0:
                opt = alnr.dSS[j]
                print j, opt[0], opt[1], opt[2], np.rad2deg(opt[2])
                prev_centroid = contour.get_centroid(self.im_nobg_stack[j - 1])
                self.im_nobg_stack[j] = contour.transform_cnt(
                    im_centered, None, opt, anchor_im="centroid", anchor_bg=prev_centroid
                )

                opacity = 0.3
                self.im_stack[j] = cv2.addWeighted(
                    self.im_nobg_stack[j - 1], opacity, self.im_nobg_stack[j], 1 - opacity, 0
                )
            else:
                prev_centroid = "center"
                self.im_stack[j] = im_centered
                self.im_nobg_stack[j] = im_centered
            cv2.circle(self.im_nobg_stack[j], contour.get_centroid(self.im_nobg_stack[j]), 5, 0)
Ejemplo n.º 2
0
 def __init__(self, name, alnr, i=0, overlay=True):
     self.name = name
     self.i = i
     self.im_stack = [None] * alnr.num_subject
     for j, im in enumerate(alnr.subject_stack):
         opt = alnr.dSA[j]
         print j, opt[0], opt[1], opt[2], np.rad2deg(opt[2])
         allen_im = alnr.allen_stack[alnr.allen_match_id_stack_best[j]]
         allen_centroid = contour.get_centroid(allen_im)
         #            im_centered = contour.pad_image_cnt(im)
         #            im_t = contour.transform_cnt(im_centered, None, opt,
         #                                         anchor_im='centroid', anchor_bg=allen_centroid)
         im_t = contour.transform_cnt(im, None, opt, anchor_im="centroid", anchor_bg=allen_centroid)
         if overlay:
             opacity = 0.3
             self.im_stack[j] = cv2.addWeighted(allen_im, opacity, im_t, 1 - opacity, 0)
         else:
             self.im_stack[j] = im_t