1-
21def curtain (
32 image ,
43 image_curtain ,
@@ -8,14 +7,14 @@ def curtain(
87 display_height : int = None ,
98 continuous_update : bool = True ,
109 alpha : float = 1 ,
11- zoom_factor : float = 1.0 ,
12- zoom_spline_order : int = 0 ,
13- colormap :str = None ,
14- display_min :float = None ,
15- display_max :float = None ,
16- curtain_colormap :str = None ,
17- curtain_display_min :float = None ,
18- curtain_display_max :float = None
10+ zoom_factor : float = 1.0 ,
11+ zoom_spline_order : int = 0 ,
12+ colormap : str = None ,
13+ display_min : float = None ,
14+ display_max : float = None ,
15+ curtain_colormap : str = None ,
16+ curtain_display_min : float = None ,
17+ curtain_display_max : float = None
1918):
2019 """Show two images and allow with a slider to show either the one or the other image.
2120
@@ -90,26 +89,20 @@ def curtain(
9089
9190 viewer = None
9291 from ._image_widget import _img_to_rgb
92+
9393 def transform_image ():
94- image_slice = _img_to_rgb (viewer .get_view_slice (), colormap = colormap , display_min = display_min , display_max = display_max )
94+ image_slice = _img_to_rgb (viewer .get_view_slice (), colormap = colormap , display_min = display_min , display_max = display_max ). copy ( )
9595 image_slice_curtain = _img_to_rgb (viewer .get_view_slice (image_curtain ), colormap = curtain_colormap , display_min = curtain_display_min , display_max = curtain_display_max )
96- image_slice [:, curtain_slider .value :] = (1 - alpha ) * image_slice [:, curtain_slider .value :] + \
97- alpha * image_slice_curtain [:, curtain_slider .value :]
98- return image_slice
99- #if len(image.shape) < 3 or (len(image.shape) == 3 and image.shape[-1] == 3):
100- # image_slice = _img_to_rgb(image.copy(), colormap=colormap, display_min=display_min, display_max=display_max)
101- # image_slice_curtain = _img_to_rgb(image_curtain, colormap=curtain_colormap, display_min=curtain_display_min, display_max=curtain_display_max)
102- #else:
103- # image_slice = _img_to_rgb(np.take(image, slice_slider.value, axis=axis), colormap=colormap, display_min=display_min, display_max=display_max)
104- # image_slice_curtain = _img_to_rgb(np.take(image_curtain, slice_slider.value, axis=axis), colormap=curtain_colormap, display_min=curtain_display_min, display_max=curtain_display_max)
105-
106- #return image_slice
96+ composited_image = image_slice .copy ()
97+ composited_image [:, curtain_slider .value :] = (1 - alpha ) * composited_image [:, curtain_slider .value :] + \
98+ alpha * image_slice_curtain [:, curtain_slider .value :]
99+ return composited_image
107100
108101 viewer = _SliceViewer (image , continuous_update = continuous_update , zoom_factor = zoom_factor ,
109102 zoom_spline_order = zoom_spline_order , colormap = colormap , display_min = display_min ,
110103 display_max = display_max )
111104
112- view = viewer .view # ImageWidget(transform_image(), zoom_factor=zoom_factor, zoom_spline_order=zoom_spline_order)
105+ view = viewer .view # ImageWidget(transform_image(), zoom_factor=zoom_factor, zoom_spline_order=zoom_spline_order)
113106 sliders = viewer .slice_slider
114107
115108 # event handler when the user changed something:
0 commit comments