File tree Expand file tree Collapse file tree 4 files changed +62
-0
lines changed Expand file tree Collapse file tree 4 files changed +62
-0
lines changed Original file line number Diff line number Diff line change
1
+ """
2
+ 1D slices
3
+ =========
4
+ """
5
+ import napari
6
+
7
+ viewer = napari .Viewer ()
8
+ viewer .open_sample ("napari" , "kidney" )
9
+
10
+ viewer .window .add_plugin_dock_widget (
11
+ plugin_name = "napari-matplotlib" , widget_name = "1D slice"
12
+ )
13
+
14
+ if __name__ == "__main__" :
15
+ napari .run ()
Original file line number Diff line number Diff line change 6
6
7
7
from .histogram import * # NoQA
8
8
from .scatter import * # NoQA
9
+ from .slice import * # NoQA
Original file line number Diff line number Diff line change @@ -10,9 +10,16 @@ contributions:
10
10
python_name : napari_matplotlib:ScatterWidget
11
11
title : Make a scatter plot
12
12
13
+ - id : napari-matplotlib.slice
14
+ python_name : napari_matplotlib:SliceWidget
15
+ title : Plot a 1D slice
16
+
13
17
widgets :
14
18
- command : napari-matplotlib.histogram
15
19
display_name : Histogram
16
20
17
21
- command : napari-matplotlib.scatter
18
22
display_name : Scatter
23
+
24
+ - command : napari-matplotlib.slice
25
+ display_name : 1D slice
Original file line number Diff line number Diff line change
1
+ import napari
2
+ from qtpy .QtWidgets import QComboBox , QHBoxLayout , QSpinBox
3
+
4
+ from napari_matplotlib .base import NapariMPLWidget
5
+
6
+ __all__ = ["SliceWidget" ]
7
+
8
+ _dims = ["x" , "y" , "z" ]
9
+
10
+
11
+ class SliceWidget (NapariMPLWidget ):
12
+ def __init__ (self , napari_viewer : napari .viewer .Viewer ):
13
+ super ().__init__ (napari_viewer )
14
+
15
+ self .layer = self .viewer .layers [- 1 ]
16
+
17
+ button_layout = QHBoxLayout ()
18
+ self .layout ().addLayout (button_layout )
19
+
20
+ self .dim_selector = QComboBox ()
21
+ button_layout .addWidget (self .dim_selector )
22
+
23
+ self .selectors = {}
24
+ for d in _dims :
25
+ self .selectors [d ] = QSpinBox ()
26
+ button_layout .addWidget (self .selectors [d ])
27
+
28
+ self .update_dim_selector ()
29
+ self .viewer .layers .selection .events .changed .connect (
30
+ self .update_dim_selector
31
+ )
32
+
33
+ def update_dim_selector (self ) -> None :
34
+ """
35
+ Update options in the dimension selector from currently selected layer.
36
+ """
37
+ dims = ["x" , "y" , "z" ]
38
+ self .dim_selector .clear ()
39
+ self .dim_selector .addItems (dims [0 : self .layer .data .ndim ])
You can’t perform that action at this time.
0 commit comments