Slicer 5.13
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
qSlicerVolumeRenderingModuleWidget.h
Go to the documentation of this file.
1/*==============================================================================
2
3 Program: 3D Slicer
4
5 Copyright (c) Brigham and Women's Hospital (BWH) All Rights Reserved.
6
7 See COPYRIGHT.txt
8 or http://www.slicer.org/copyright/copyright.txt for details.
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15
16 This file was originally developed by Alex Yarmakovich, Isomics Inc.
17 and was partially funded by NIH grant 3P41RR013218-12S1
18
19==============================================================================*/
20
21#ifndef __qSlicerVolumeRenderingModuleWidget_h
22#define __qSlicerVolumeRenderingModuleWidget_h
23
24// CTK includes
25#include <ctkVTKObject.h>
26
27// Slicer includes
29#include "qSlicerVolumeRenderingModuleExport.h"
30
32class qSlicerVolumeRenderingModuleWidgetPrivate;
34class vtkMRMLNode;
36class vtkMRMLViewNode;
40
41class Q_SLICER_QTMODULES_VOLUMERENDERING_EXPORT qSlicerVolumeRenderingModuleWidget : public qSlicerAbstractModuleWidget
42{
43 Q_OBJECT
44 QVTK_OBJECT
45
46public:
48 qSlicerVolumeRenderingModuleWidget(QWidget* parent = nullptr);
50
51 Q_INVOKABLE vtkMRMLVolumeNode* mrmlVolumeNode() const;
52 Q_INVOKABLE vtkMRMLDisplayableNode* mrmlROINode() const;
56
57 void addRenderingMethodWidget(const QString& methodClassName, qSlicerVolumeRenderingPropertiesWidget* widget);
58
59 bool setEditedNode(vtkMRMLNode* node, QString role = QString(), QString context = QString()) override;
60 double nodeEditable(vtkMRMLNode* node) override;
61
62 void enter() override;
63
64public slots:
68
70
71protected slots:
74 void onCropToggled(bool);
75
79
83 void onCurrentFramerateChanged(double fps);
85
88
91 void setIgnoreVolumesThreshold(bool ignore);
92
93 void onThresholdChanged(bool threshold);
97
98 void setSoftEdgeVoxels(double SoftEdgeVoxels);
99
101 void setClippingBlankVoxelValue(double value);
102
104
105protected:
106 void setup() override;
107
108protected:
109 QScopedPointer<qSlicerVolumeRenderingModuleWidgetPrivate> d_ptr;
110
111private:
112 Q_DECLARE_PRIVATE(qSlicerVolumeRenderingModuleWidget);
114};
115
116#endif
qSlicerAbstractModuleWidget(QWidget *parent=nullptr)
void onCurrentRenderingMethodChanged(int index)
Q_INVOKABLE vtkMRMLVolumeNode * mrmlVolumeNode() const
double nodeEditable(vtkMRMLNode *node) override
void setMRMLVolumeNode(vtkMRMLNode *node)
void onAutoReleaseGraphicsResourcesCheckBoxToggled(bool autoRelease)
bool setEditedNode(vtkMRMLNode *node, QString role=QString(), QString context=QString()) override
Node editing.
void setMRMLVolumePropertyNode(vtkMRMLNode *node)
void setIgnoreVolumesThreshold(bool ignore)
void onCurrentFramerateChanged(double fps)
Q_INVOKABLE vtkMRMLMarkupsROINode * mrmlMarkupsROINode() const
qSlicerVolumeRenderingModuleWidget(QWidget *parent=nullptr)
void onCurrentQualityControlChanged(int index)
void onCurrentMRMLVolumePropertyNodeChanged(vtkMRMLNode *node)
QScopedPointer< qSlicerVolumeRenderingModuleWidgetPrivate > d_ptr
void setClippingBlankVoxelValue(double value)
Q_INVOKABLE vtkMRMLVolumePropertyNode * mrmlVolumePropertyNode() const
void setSoftEdgeVoxels(double SoftEdgeVoxels)
void onCurrentMRMLVolumeNodeChanged(vtkMRMLNode *node)
void onROICropDisplayCheckBoxToggled(bool toggle)
void onThresholdChanged(bool threshold)
void setClippingBlankVoxelValueAuto(bool state)
void addRenderingMethodWidget(const QString &methodClassName, qSlicerVolumeRenderingPropertiesWidget *widget)
void onNewVolumePropertyAdded(vtkMRMLNode *node)
void onCurrentMRMLROINodeChanged(vtkMRMLNode *node)
Q_INVOKABLE vtkMRMLVolumeRenderingDisplayNode * mrmlDisplayNode() const
Q_INVOKABLE vtkMRMLDisplayableNode * mrmlROINode() const
void setMRMLROINode(vtkMRMLNode *node)
MRML node to represent an ROI markup.
Abstract Superclass for all specific types of MRML nodes.
MRML node to represent a 3D view.
MRML node for representing a volume (image stack).
vtkMRMLVolumePropertyNode contains the transfer functions (scalar opacity, color and gradient opacity...