15 #ifndef __vtkMRMLScalarVolumeDisplayNode_h 16 #define __vtkMRMLScalarVolumeDisplayNode_h 22 class vtkImageAlgorithm;
23 class vtkImageAccumulate;
24 class vtkImageAppendComponents;
28 class vtkImageMapToColors;
29 class vtkImageMapToWindowLevelColors;
30 class vtkImageStencil;
31 class vtkImageThreshold;
32 class vtkImageExtractComponents;
33 class vtkImageMathematics;
46 void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
52 virtual
void ReadXMLAttributes( const
char** atts) VTK_OVERRIDE;
56 virtual
void WriteXML(ostream& of,
int indent) VTK_OVERRIDE;
64 virtual const
char* GetNodeTagName() VTK_OVERRIDE {
return "VolumeDisplay";}
73 vtkGetMacro(WindowLevelLocked,
bool);
74 vtkSetMacro(WindowLevelLocked,
bool);
78 vtkBooleanMacro(AutoWindowLevel,
int);
79 vtkGetMacro(AutoWindowLevel,
int);
80 vtkSetMacro(AutoWindowLevel,
int);
85 virtual void SetWindow(
double);
90 virtual void SetLevel(
double);
94 virtual void SetWindowLevel(
double window,
double level);
97 void SetWindowLevelMinMax(
double min,
double max);
100 double GetWindowLevelMin();
102 double GetWindowLevelMax();
106 vtkBooleanMacro(ApplyThreshold,
int);
107 vtkGetMacro(ApplyThreshold,
int);
108 virtual void SetApplyThreshold(
int);
112 vtkBooleanMacro(AutoThreshold,
int);
113 vtkGetMacro(AutoThreshold,
int);
114 vtkSetMacro(AutoThreshold,
int);
119 virtual double GetLowerThreshold();
120 virtual void SetLowerThreshold(
double lower);
125 virtual double GetUpperThreshold();
126 virtual void SetUpperThreshold(
double upper);
128 virtual void SetThreshold(
double lower,
double upper);
132 vtkGetMacro(Interpolate,
int);
133 vtkSetMacro(Interpolate,
int);
134 vtkBooleanMacro(Interpolate,
int);
140 virtual
void ProcessMRMLEvents ( vtkObject * ,
142 void * ) VTK_OVERRIDE;
145 virtual
void SetInputImageDataConnection(vtkAlgorithmOutput *imageDataConnection) VTK_OVERRIDE;
148 virtual vtkAlgorithmOutput* GetInputImageDataConnection() VTK_OVERRIDE;
151 virtual vtkAlgorithmOutput* GetOutputImageDataConnection() VTK_OVERRIDE;
155 virtual
void SetBackgroundImageStencilDataConnection(vtkAlgorithmOutput *imageDataConnection) VTK_OVERRIDE;
156 virtual vtkAlgorithmOutput* GetBackgroundImageStencilDataConnection() VTK_OVERRIDE;
160 void AddWindowLevelPresetFromString(const
char *preset);
163 void AddWindowLevelPreset(
double window,
double level);
167 void ResetWindowLevelPresets();
171 void SetWindowLevelFromPreset(
int p);
175 int GetNumberOfWindowLevelPresets();
179 double GetWindowPreset(
int p);
180 double GetLevelPreset(
int p);
187 virtual
void GetDisplayScalarRange(
double range[2]);
195 virtual
void SetColorNodeInternal(
vtkMRMLColorNode* newColorNode) VTK_OVERRIDE;
197 void CalculateAutoLevels();
201 vtkImageData* GetScalarImageData();
202 virtual vtkAlgorithmOutput* GetScalarImageDataConnection();
204 virtual
void SetInputToImageDataPipeline(vtkAlgorithmOutput *imageDataConnection) VTK_OVERRIDE;
vtkImageExtractComponents * ExtractRGB
vtkImageStencil * MultiplyAlpha
MRML node for representing a volume display attributes.
vtkImageBimodalAnalysis * Bimodal
virtual void SetDefaultColorMap()
set gray colormap or override in subclass
virtual vtkMRMLNode * CreateNodeInstance()=0
Create instance of the default node. Like New only virtual.
vtkImageMapToColors * MapToColors
vtkImageMapToWindowLevelColors * MapToWindowLevelColors
std::vector< WindowLevelPreset > WindowLevelPresets
window level presets
vtkImageThreshold * Threshold
bool IsInCalculateAutoLevels
Abstract MRML node to represent color information.
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
vtkImageLogic * AlphaLogic
vtkImageAppendComponents * AppendComponents
vtkImageExtractComponents * ExtractAlpha
Analysis bimodal histograms.
Abstract Superclass for all specific types of MRML nodes.
vtkImageAccumulate * Accumulate
Used internally in CalculateScalarAutoLevels and CalculateStatisticsAutoLevels
MRML node for representing a volume display attributes.