def __init__(self): super().__init__() master_layout = QVBoxLayout(self) self.position_slider_box = QGroupBox('plane position (axis 1)') self.position_slider = QLabeledDoubleSlider(Qt.Horizontal, self) self.position_slider.setMinimum(0.05) self.position_slider.setMaximum(64) self.position_slider.setValue(32) position_layout = QHBoxLayout(self.position_slider_box) position_layout.addWidget(self.position_slider) self.thickness_box = QGroupBox('plane thickness') self.thickness_spinbox = QLabeledDoubleSlider(Qt.Horizontal, self) self.thickness_spinbox.setMinimum(1.0) self.thickness_spinbox.setMaximum(64) self.thickness_spinbox.setValue(10) thickness_layout = QHBoxLayout(self.thickness_box) thickness_layout.addWidget(self.thickness_spinbox) master_layout.addWidget(self.position_slider_box) master_layout.addWidget(self.thickness_box)
def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.grid_layout = LayerListGridLayout(self) self.setLayout(self.grid_layout) self.planeNormalLabel = QLabel(trans._('plane normal:')) self.planeNormalButtons = PlaneNormalButtons(parent=self) self.planeThicknessSlider = QLabeledDoubleSlider(Qt.Horizontal, self) self.planeThicknessSlider.setFocusPolicy(Qt.NoFocus) self.planeThicknessSlider.setMinimum(1) self.planeThicknessSlider.setMaximum(50) self.planeThicknessLabel = QLabel(trans._('plane thickness:')) self.grid_layout.addWidget(self.planeNormalLabel, 1, 0) self.grid_layout.addWidget(self.planeNormalButtons, 1, 1) self.grid_layout.addWidget(self.planeThicknessLabel, 2, 0) self.grid_layout.addWidget(self.planeThicknessSlider, 2, 1)
def __init__(self, layer): super().__init__(layer) self.layer.events.interpolation2d.connect( self._on_interpolation_change) self.layer.events.interpolation3d.connect( self._on_interpolation_change) self.layer.events.rendering.connect(self._on_rendering_change) self.layer.events.iso_threshold.connect(self._on_iso_threshold_change) self.layer.events.attenuation.connect(self._on_attenuation_change) self.layer.events._ndisplay.connect(self._on_ndisplay_change) self.layer.events.depiction.connect(self._on_depiction_change) self.layer.plane.events.thickness.connect( self._on_plane_thickness_change) self.interpComboBox = QComboBox(self) self.interpComboBox.activated[str].connect(self.changeInterpolation) self.interpLabel = QLabel(trans._('interpolation:')) renderComboBox = QComboBox(self) rendering_options = [i.value for i in ImageRendering] renderComboBox.addItems(rendering_options) index = renderComboBox.findText(self.layer.rendering, Qt.MatchFixedString) renderComboBox.setCurrentIndex(index) renderComboBox.activated[str].connect(self.changeRendering) self.renderComboBox = renderComboBox self.renderLabel = QLabel(trans._('rendering:')) self.depictionComboBox = QComboBox(self) depiction_options = [d.value for d in VolumeDepiction] self.depictionComboBox.addItems(depiction_options) index = self.depictionComboBox.findText(self.layer.depiction, Qt.MatchFixedString) self.depictionComboBox.setCurrentIndex(index) self.depictionComboBox.activated[str].connect(self.changeDepiction) self.depictionLabel = QLabel(trans._('depiction:')) # plane controls self.planeNormalButtons = PlaneNormalButtons(self) self.planeNormalLabel = QLabel(trans._('plane normal:')) action_manager.bind_button( 'napari:orient_plane_normal_along_z', self.planeNormalButtons.zButton, ) action_manager.bind_button( 'napari:orient_plane_normal_along_y', self.planeNormalButtons.yButton, ) action_manager.bind_button( 'napari:orient_plane_normal_along_x', self.planeNormalButtons.xButton, ) action_manager.bind_button( 'napari:orient_plane_normal_along_view_direction', self.planeNormalButtons.obliqueButton, ) self.planeThicknessSlider = QLabeledDoubleSlider(Qt.Horizontal, self) self.planeThicknessLabel = QLabel(trans._('plane thickness:')) self.planeThicknessSlider.setFocusPolicy(Qt.NoFocus) self.planeThicknessSlider.setMinimum(1) self.planeThicknessSlider.setMaximum(50) self.planeThicknessSlider.setValue(self.layer.plane.thickness) self.planeThicknessSlider.valueChanged.connect( self.changePlaneThickness) sld = QSlider(Qt.Horizontal, parent=self) sld.setFocusPolicy(Qt.NoFocus) sld.setMinimum(0) sld.setMaximum(100) sld.setSingleStep(1) sld.setValue(int(self.layer.iso_threshold * 100)) sld.valueChanged.connect(self.changeIsoThreshold) self.isoThresholdSlider = sld self.isoThresholdLabel = QLabel(trans._('iso threshold:')) sld = QSlider(Qt.Horizontal, parent=self) sld.setFocusPolicy(Qt.NoFocus) sld.setMinimum(0) sld.setMaximum(100) sld.setSingleStep(1) sld.setValue(int(self.layer.attenuation * 200)) sld.valueChanged.connect(self.changeAttenuation) self.attenuationSlider = sld self.attenuationLabel = QLabel(trans._('attenuation:')) self._on_ndisplay_change() colormap_layout = QHBoxLayout() if hasattr(self.layer, 'rgb') and self.layer.rgb: colormap_layout.addWidget(QLabel("RGB")) self.colormapComboBox.setVisible(False) self.colorbarLabel.setVisible(False) else: colormap_layout.addWidget(self.colorbarLabel) colormap_layout.addWidget(self.colormapComboBox) colormap_layout.addStretch(1) self.layout().addRow(trans._('opacity:'), self.opacitySlider) self.layout().addRow(trans._('contrast limits:'), self.contrastLimitsSlider) self.layout().addRow(trans._('auto-contrast:'), self.autoScaleBar) self.layout().addRow(trans._('gamma:'), self.gammaSlider) self.layout().addRow(trans._('colormap:'), colormap_layout) self.layout().addRow(trans._('blending:'), self.blendComboBox) self.layout().addRow(self.interpLabel, self.interpComboBox) self.layout().addRow(self.depictionLabel, self.depictionComboBox) self.layout().addRow(self.renderLabel, self.renderComboBox) self.layout().addRow(self.isoThresholdLabel, self.isoThresholdSlider) self.layout().addRow(self.attenuationLabel, self.attenuationSlider) self.layout().addRow(self.planeNormalLabel, self.planeNormalButtons) self.layout().addRow(self.planeThicknessLabel, self.planeThicknessSlider)