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)