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 66
77from .histogram import * # NoQA
88from .scatter import * # NoQA
9+ from .slice import * # NoQA
Original file line number Diff line number Diff line change @@ -10,9 +10,16 @@ contributions:
1010 python_name : napari_matplotlib:ScatterWidget
1111 title : Make a scatter plot
1212
13+ - id : napari-matplotlib.slice
14+ python_name : napari_matplotlib:SliceWidget
15+ title : Plot a 1D slice
16+
1317 widgets :
1418 - command : napari-matplotlib.histogram
1519 display_name : Histogram
1620
1721 - command : napari-matplotlib.scatter
1822 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