Slicer 5.8
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 "qSlicerVolumeRenderingModuleWidgetsExport.h"
30
32class qSlicerVolumeRenderingModuleWidgetPrivate;
34class vtkMRMLNode;
36class vtkMRMLViewNode;
40
41class Q_SLICER_MODULE_VOLUMERENDERING_WIDGETS_EXPORT qSlicerVolumeRenderingModuleWidget :
43{
44 Q_OBJECT
45 QVTK_OBJECT
46
47public:
49 qSlicerVolumeRenderingModuleWidget(QWidget *parent=nullptr);
51
52 Q_INVOKABLE vtkMRMLVolumeNode* mrmlVolumeNode()const;
57
58 void addRenderingMethodWidget(const QString& methodClassName, qSlicerVolumeRenderingPropertiesWidget* widget);
59
60 bool setEditedNode(vtkMRMLNode* node, QString role = QString(), QString context = QString()) override;
61 double nodeEditable(vtkMRMLNode* node) override;
62
63public slots:
67
69
70protected slots:
73 void onCropToggled(bool);
74
78
82 void onCurrentFramerateChanged(double fps);
84
87
90 void setIgnoreVolumesThreshold(bool ignore);
91
92 void onThresholdChanged(bool threshold);
96
97 void setClippingEnabled(bool state);
98 void setSoftEdgeVoxels(double SoftEdgeVoxels);
100
101protected:
102 void setup() override;
103
104protected:
105 QScopedPointer<qSlicerVolumeRenderingModuleWidgetPrivate> d_ptr;
106
107private:
108 Q_DECLARE_PRIVATE(qSlicerVolumeRenderingModuleWidget);
110};
111
112#endif
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
Q_INVOKABLE vtkMRMLVolumePropertyNode * mrmlVolumePropertyNode() const
void setSoftEdgeVoxels(double SoftEdgeVoxels)
void onCurrentMRMLVolumeNodeChanged(vtkMRMLNode *node)
void onROICropDisplayCheckBoxToggled(bool toggle)
void onThresholdChanged(bool threshold)
void addRenderingMethodWidget(const QString &methodClassName, qSlicerVolumeRenderingPropertiesWidget *widget)
void setMRMLClipNode(vtkMRMLNode *clipNode)
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...