MCPcopy Create free account
hub / github.com/Image-Py/imagepy / run

Method run

imagepy/menus/Image/duplicate_plg.py:26–58  ·  view source on GitHub ↗
(self, ips, imgs, para = None)

Source from the content-addressed store, hash-verified

24 return True
25 #process
26 def run(self, ips, imgs, para = None):
27 name = para['name']
28 print('name------------------', name)
29 if ips.get_nslices()==1 or self.para['stack']==False:
30 if ips.roi == None:
31 img = ips.img.copy()
32 ipsd = ImagePlus([img], name)
33 ipsd.backimg = ips.backimg
34 else:
35 img = ips.get_subimg().copy()
36 ipsd = ImagePlus([img], name)
37 box = ips.roi.get_box()
38 ipsd.roi = ips.roi.affine(np.eye(2), (-box[0], -box[1]))
39 if not ips.backimg is None:
40 sr, sc = ips.get_rect()
41 ipsd.backimg = ips.backimg[sr, sc]
42 elif ips.get_nslices()>1 and self.para['stack']:
43 if ips.roi == None:
44 if ips.is3d:imgs=imgs.copy()
45 else:imgs = [i.copy() for i in imgs]
46 backimg = ips.backimg
47 else:
48 sc, sr = ips.get_rect()
49 if ips.is3d: imgs=imgs[:, sc, sr].copy()
50 else: imgs = [i[sc,sr].copy() for i in imgs]
51 if not ips.backimg is None:
52 backimg = ips.backimg[sr, sr]
53 ipsd = ImagePlus(imgs, name)
54 if ips.roi != None:
55 ipsd.roi = ips.roi.affine(np.eye(2), (-sr.start, -sc.start))
56 if not ips.backimg is None: ipsd.backimg = backimg
57 ipsd.backmode = ips.backmode
58 IPy.show_ips(ipsd)
59
60class Rename(Simple):
61 title = 'Rename'

Callers

nothing calls this directly

Calls 6

ImagePlusClass · 0.90
get_nslicesMethod · 0.80
get_subimgMethod · 0.80
affineMethod · 0.80
get_rectMethod · 0.80
get_boxMethod · 0.45

Tested by

no test coverage detected