Slicer 5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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 :
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
63 void enter() override;
64
65public slots:
69
71
72protected slots:
75 void onCropToggled(bool);
76
80
84 void onCurrentFramerateChanged(double fps);
86
89
92 void setIgnoreVolumesThreshold(bool ignore);
93
94 void onThresholdChanged(bool threshold);
98
99 void setClippingEnabled(bool state);
100 void setSoftEdgeVoxels(double SoftEdgeVoxels);
102
103protected:
104 void setup() override;
105
106protected:
107 QScopedPointer<qSlicerVolumeRenderingModuleWidgetPrivate> d_ptr;
108
109private:
110 Q_DECLARE_PRIVATE(qSlicerVolumeRenderingModuleWidget);
112};
113
114#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
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...