Slicer  4.8
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
vtkMRMLVolumeRenderingDisplayNode.h
Go to the documentation of this file.
1 /*=auto=========================================================================
2 
3  Portions (c) Copyright 2005 Brigham and Women's Hospital (BWH) All Rights Reserved.
4 
5  See COPYRIGHT.txt
6  or http://www.slicer.org/copyright/copyright.txt for details.
7 
8  Program: 3D Slicer
9  Module: $RCSfile: vtkMRMLVolumeRenderingDisplayNode.h,v $
10  Date: $Date: 2006/03/19 17:12:29 $
11  Version: $Revision: 1.3 $
12 
13 =========================================================================auto=*/
14 
15 #ifndef __vtkMRMLVolumeRenderingDisplayNode_h
16 #define __vtkMRMLVolumeRenderingDisplayNode_h
17 
18 // Volume Rendering includes
19 #include "vtkSlicerVolumeRenderingModuleMRMLExport.h"
20 
21 // MRML includes
22 #include "vtkMRMLDisplayNode.h"
24 class vtkMRMLVolumeNode;
26 
27 class vtkIntArray;
28 
32 class VTK_SLICER_VOLUMERENDERING_MODULE_MRML_EXPORT vtkMRMLVolumeRenderingDisplayNode
33  : public vtkMRMLDisplayNode
34 {
35 public:
37  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
38 
40  virtual void ReadXMLAttributes( const char** atts) VTK_OVERRIDE;
41 
43  virtual void WriteXML(ostream& of, int indent) VTK_OVERRIDE;
44 
46  virtual void Copy(vtkMRMLNode *node) VTK_OVERRIDE;
47 
49  virtual void SetSceneReferences() VTK_OVERRIDE;
50 
52  virtual void UpdateReferenceID(const char *oldID, const char *newID) VTK_OVERRIDE;
53 
56  virtual void UpdateReferences() VTK_OVERRIDE;
57 
59  virtual void UpdateScene(vtkMRMLScene *scene) VTK_OVERRIDE;
60 
62  vtkGetStringMacro (VolumeNodeID);
63  void SetAndObserveVolumeNodeID(const char *volumeNodeID);
64 
66  vtkMRMLVolumeNode* GetVolumeNode();
67 
69  vtkGetStringMacro (VolumePropertyNodeID);
70  void SetAndObserveVolumePropertyNodeID(const char *volumePropertyNodeID);
71 
73  vtkMRMLVolumePropertyNode* GetVolumePropertyNode();
74 
76  vtkGetStringMacro (ROINodeID);
77  void SetAndObserveROINodeID(const char *roiNodeID);
78 
80  vtkMRMLAnnotationROINode* GetROINode();
81 
83  vtkSetMacro(CroppingEnabled,int);
84  vtkGetMacro(CroppingEnabled,int);
85  vtkBooleanMacro(CroppingEnabled,int);
86 
87  //vtkSetMacro(UseThreshold,int);
88  //vtkGetMacro(UseThreshold,int);
89  //vtkBooleanMacro(UseThreshold,int);
90 
92  vtkSetMacro(EstimatedSampleDistance,double);
93  vtkGetMacro(EstimatedSampleDistance,double);
94 
96  vtkSetMacro(ExpectedFPS,double);
97  vtkGetMacro(ExpectedFPS,double);
98 
100  enum Quality
101  {
102  Adaptative = 0,
103  MaximumQuality
104  };
105  vtkSetMacro(PerformanceControl,int);
106  vtkGetMacro(PerformanceControl,int);
107 
108  vtkGetMacro (GPUMemorySize, int);
109  vtkSetMacro (GPUMemorySize, int);
110 
112  {
113  Composite = 0, // composite with directional lighting (default)
114  CompositeEdgeColoring, // composite with fake lighting (edge coloring, faster)
118  IllustrativeContextPreservingExploration
119  };
120 
121  vtkSetVector2Macro(Threshold, double);
122  vtkGetVectorMacro(Threshold, double, 2);
123 
124  vtkGetMacro(FollowVolumeDisplayNode, int);
125  vtkSetMacro(FollowVolumeDisplayNode, int);
126 
127  vtkGetMacro(IgnoreVolumeDisplayNodeThreshold, int);
128  vtkSetMacro(IgnoreVolumeDisplayNodeThreshold, int);
129 
130  vtkGetMacro(UseSingleVolumeProperty, int);
131  vtkSetMacro(UseSingleVolumeProperty, int);
132 
133  vtkSetVector2Macro(WindowLevel, double);
134  vtkGetVectorMacro(WindowLevel, double, 2);
135 
136 protected:
141 
142  virtual void ProcessMRMLEvents ( vtkObject *caller, unsigned long event, void *callData) VTK_OVERRIDE;
143 
144  vtkIntArray* ObservedEvents;
145 
147  virtual void SetVolumeNodeID(const char* arg);
149 
151  virtual void SetVolumePropertyNodeID(const char* arg);
153 
154  char *ROINodeID;
155  virtual void SetROINodeID(const char* arg);
157 
159 
161  double ExpectedFPS;
162 
169 
170  double Threshold[2];
171 
172  //int UseThreshold;
173 
177 
179 
181  double WindowLevel[2];
182 
188 };
189 
190 #endif
191 
Quality
Quality used for PerformanceControl.
virtual void Copy(vtkMRMLNode *node) VTK_OVERRIDE
Copy the node's attributes to this object.
virtual void ProcessMRMLEvents(vtkObject *caller, unsigned long event, void *callData) VTK_OVERRIDE
virtual void SetSceneReferences() VTK_OVERRIDE
Mark the color and views nodes as references.
A set of MRML Nodes that supports serialization and undo/redo.
Definition: vtkMRMLScene.h:54
int FollowVolumeDisplayNode
follow window/level and thresholding setting in volume display node
void operator=(const vtkMRMLDisplayNode &)
MRML node for representing a volume (image stack).
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
virtual void WriteXML(ostream &of, int indent) VTK_OVERRIDE
Abstract class that contains graphical display properties for displayable nodes.
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:135
vtkMRMLVolumePropertyNode contains the transfer functions (scalar opacity, color and gradient opacity...
virtual void ReadXMLAttributes(const char **atts) VTK_OVERRIDE