11import napari
2+ import numpy as np
23from matplotlib .backends .backend_qt5agg import FigureCanvas
34from matplotlib .figure import Figure
4- from qtpy .QtWidgets import QComboBox , QVBoxLayout , QWidget
5- import numpy as np
5+ from qtpy .QtWidgets import QVBoxLayout , QWidget
66
77
8- class ExampleQWidget (QWidget ):
8+ class HistogramWidget (QWidget ):
99 def __init__ (self , napari_viewer : napari .viewer .Viewer ):
10+ """
11+ Widget to display a histogram of the currently selected layer.
12+
13+ Attributes
14+ ----------
15+ viewer : napari.viewer.Viewer
16+ Main napari viewer.
17+ layer : napari.layers.Layer
18+ Current layer being histogrammed.
19+ canvas : matplotlib.backends.backend_qt5agg.FigureCanvas
20+ Matplotlib canvas.
21+ axes : matplotlib.axes.Axes
22+ Matplotlib axes.
23+ """
1024 super ().__init__ ()
1125 self .viewer = napari_viewer
1226 self .layer = self .viewer .layers [0 ]
@@ -22,13 +36,19 @@ def __init__(self, napari_viewer: napari.viewer.Viewer):
2236
2337 self .hist_current_layer ()
2438
25- def update_layer (self , event ):
39+ def update_layer (self , event : napari .utils .events .Event ) -> None :
40+ """
41+ Update the currently selected layer.
42+ """
2643 # Update current layer when selection changed in viewer
2744 if event .value :
2845 self .layer = event .value
2946 self .hist_current_layer ()
3047
31- def hist_current_layer (self ):
48+ def hist_current_layer (self ) -> None :
49+ """
50+ Clear the axes and histogram the currently selected layer/slice.
51+ """
3252 self .axes .clear ()
3353 layer = self .layer
3454 z = self .viewer .dims .current_step [0 ]
0 commit comments