def run(self, ips, imgs, para=None): r, g, b = [], [], [] for i, n in zip(imgs, list(range(ips.get_nslices()))): for c, ci in zip((r, g, b), (0, 1, 2)): if self.para['copy']: c.append(i[:, :, ci].copy()) else: c.append(i[:, :, ci]) self.progress(i, n) for im, tl in zip([r, g, b], ['red', 'green', 'blue']): IPy.show_img(im, ips.title + '-' + tl) if self.para['destory']: ImageManager.close(ips.title)
def run(self, ips, imgs, para=None): idx = ['red', 'green', 'blue'] imr, img, imb = [ImageManager.get(para[i]) for i in idx] sr, sg, sb = [i.get_nslices() for i in [imr, img, imb]] if imr.imgtype!='8-bit' or img.imgtype!='8-bit' or imb.imgtype!='8-bit' or \ imr.size!=img.size or img.size!=imb.size or sr!=sg or sg!=sb: IPy.alert( 'three images must be 8-bit image, with the same size and slices!' ) return rgbs = [] w, h = imr.size for i in range(sr): self.progress(i, sr) rgbs.append(self.trans(imr.imgs[i], img.imgs[i], imb.imgs[i])) IPy.show_img(rgbs, self.titles()[0]) if self.para['destory']: for title in [para[i] for i in idx]: ImageManager.close(title)