def __init__(self, name, alnr, i=0): self.name = name self.i = i self.im_stack = [None] * alnr.num_subject for j, im in enumerate(alnr.subject_stack): # self.im_stack[j] = contour.transform_cnt(im, None, alnr.dGlobal[j], # anchor_im='centroid', anchor_bg=(0,0)) dg_adjusted = alnr.dGlobal[j].T - np.array([400, 400, 0]) self.im_stack[j] = contour.transform_cnt( im, None, np.squeeze(dg_adjusted), anchor_im="centroid", anchor_bg="center" )
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
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)