Slicer 5.9
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 setClippingEnabled(bool state);
99 void setSoftEdgeVoxels(double SoftEdgeVoxels);
100
102 void setClippingBlankVoxelValue(double value);
103
105
107
108protected:
109 void setup() override;
110
111protected:
112 QScopedPointer<qSlicerVolumeRenderingModuleWidgetPrivate> d_ptr;
113
114private:
115 Q_DECLARE_PRIVATE(qSlicerVolumeRenderingModuleWidget);
117};
118
119#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 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...