Slicer  4.8
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
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