1
-
2
1
def curtain (
3
2
image ,
4
3
image_curtain ,
@@ -8,14 +7,14 @@ def curtain(
8
7
display_height : int = None ,
9
8
continuous_update : bool = True ,
10
9
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
19
18
):
20
19
"""Show two images and allow with a slider to show either the one or the other image.
21
20
@@ -90,26 +89,20 @@ def curtain(
90
89
91
90
viewer = None
92
91
from ._image_widget import _img_to_rgb
92
+
93
93
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 ( )
95
95
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
107
100
108
101
viewer = _SliceViewer (image , continuous_update = continuous_update , zoom_factor = zoom_factor ,
109
102
zoom_spline_order = zoom_spline_order , colormap = colormap , display_min = display_min ,
110
103
display_max = display_max )
111
104
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)
113
106
sliders = viewer .slice_slider
114
107
115
108
# event handler when the user changed something:
0 commit comments