Slicer  5.0
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
vtkMRMLVectorVolumeDisplayNode.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: vtkMRMLVectorVolumeDisplayNode.h,v $
10  Date: $Date: 2006/03/19 17:12:29 $
11  Version: $Revision: 1.3 $
12 
13 =========================================================================auto=*/
14 
15 #ifndef __vtkMRMLVectorVolumeDisplayNode_h
16 #define __vtkMRMLVectorVolumeDisplayNode_h
17 
19 
20 class vtkAlgorithmOutput;
21 class vtkImageData;
22 class vtkImageShiftScale;
23 class vtkImageExtractComponents;
24 class vtkImageRGBToHSI;
25 
36 {
37  public:
40  void PrintSelf(ostream& os, vtkIndent indent) override;
41 
42  vtkMRMLNode* CreateNodeInstance() override;
43 
46  void ReadXMLAttributes( const char** atts) override;
47 
50  void WriteXML(ostream& of, int indent) override;
51 
55 
58  const char* GetNodeTagName() override {return "VectorVolumeDisplay";}
59 
60  //--------------------------------------------------------------------------
62  //--------------------------------------------------------------------------
63 
64  enum
65  {
66  scalarModeMagnitude = 0
67  };
68  vtkGetMacro(ScalarMode, int);
69  vtkSetMacro(ScalarMode, int);
70 
72  this->SetScalarMode(this->scalarModeMagnitude);
73  }
74 
75  enum
76  {
77  glyphModeLines = 1,
78  glyphModeTubes = 2
79  };
80  vtkGetMacro(GlyphMode, int);
81  vtkSetMacro(GlyphMode, int);
82 
84  this->SetGlyphMode(this->glyphModeLines);
85  };
87  this->SetGlyphMode(this->glyphModeTubes);
88  };
89 
90  //virtual vtkPolyData* ExecuteGlyphPipeLineAndGetPolyData( vtkImageData* ) {return nullptr;};
91 
92  void SetDefaultColorMap() override {}
93 
96  void ProcessMRMLEvents ( vtkObject * /*caller*/,
97  unsigned long /*event*/,
98  void * /*callData*/ ) override;
99 
101  vtkAlgorithmOutput* GetInputImageDataConnection() override;
102 
103  void UpdateImageDataPipeline() override;
104 
108  std::vector< vtkMRMLGlyphableVolumeSliceDisplayNode*>
109  GetSliceGlyphDisplayNodes( vtkMRMLVolumeNode* vtkNotUsed(node) ) override
110  {
111  return std::vector< vtkMRMLGlyphableVolumeSliceDisplayNode*>();
112  }
113 
116  vtkGetObjectMacro (ShiftScale, vtkImageShiftScale);
117  vtkGetObjectMacro (RGBToHSI, vtkImageRGBToHSI);
118  vtkGetObjectMacro (ExtractIntensity, vtkImageExtractComponents);
119  vtkGetObjectMacro (AppendComponents, vtkImageAppendComponents);
120  vtkGetObjectMacro (Threshold, vtkImageThreshold);
121 
122 protected:
124  ~vtkMRMLVectorVolumeDisplayNode() override;
127 
129  void SetInputToImageDataPipeline(vtkAlgorithmOutput *imageDataConnection) override;
130  vtkAlgorithmOutput* GetScalarImageDataConnection() override;
131 
134 
135  vtkImageShiftScale *ShiftScale;
136  vtkImageRGBToHSI *RGBToHSI;
137  vtkImageExtractComponents *ExtractIntensity;
138 };
139 
140 #endif
void SetInputToImageDataPipeline(vtkAlgorithmOutput *imageDataConnection) override
void ProcessMRMLEvents(vtkObject *, unsigned long, void *) override
alternative method to propagate events generated in Display nodes
MRML node for representing a volume (image stack).
vtkMRMLNode * CreateNodeInstance() override
Create instance of the default node. Like New only virtual.
virtual vtkAlgorithmOutput * GetScalarImageDataConnection()
void PrintSelf(ostream &os, vtkIndent indent) override
vtkImageExtractComponents * ExtractIntensity
std::vector< vtkMRMLGlyphableVolumeSliceDisplayNode * > GetSliceGlyphDisplayNodes(vtkMRMLVolumeNode *vtkNotUsed(node)) override
vtkAlgorithmOutput * GetInputImageDataConnection() override
Gets the pipeline input.
virtual void UpdateImageDataPipeline()
Update the pipeline based on this node attributes
void WriteXML(ostream &of, int indent) override
Write this node&#39;s information to a MRML file in XML format.
void SetDefaultColorMap() override
set gray colormap
vtkMRMLCopyContentMacro(vtkMRMLVolumeDisplayNode)
void operator=(const vtkMRMLGlyphableVolumeDisplayNode &)
void ReadXMLAttributes(const char **atts) override
Read node attributes from XML file
MRML node for representing a volume (image stack).
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:167
const char * GetNodeTagName() override
Get node XML tag name (like Volume, Model)
MRML node for representing a volume display attributes.
static vtkMRMLGlyphableVolumeDisplayNode * New()