Slicer  5.0
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
vtkMRMLDiffusionTensorVolumeSliceDisplayNode.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: vtkMRMLFiberBundleGlyphDisplayNode.h,v $
10  Date: $Date: 2006/03/19 17:12:28 $
11  Version: $Revision: 1.6 $
12 
13  =========================================================================auto=*/
14 
15 #ifndef __vtkMRMLDiffusionTensorVolumeSliceDisplayNode_h
16 #define __vtkMRMLDiffusionTensorVolumeSliceDisplayNode_h
17 
20 
22 class vtkMatrix4x4;
23 class vtkPolyData;
24 
33 {
34  public:
37  void PrintSelf ( ostream& os, vtkIndent indent ) override;
38 
39  //--------------------------------------------------------------------------
41  //--------------------------------------------------------------------------
42 
43  vtkMRMLNode* CreateNodeInstance () override;
44 
47  void ReadXMLAttributes ( const char** atts ) override;
48 
51  void WriteXML ( ostream& of, int indent ) override;
52 
53 
56  void Copy ( vtkMRMLNode *node ) override;
57 
60  const char* GetNodeTagName () override {return "DiffusionTensorVolumeSliceDisplayNode";}
61 
65  void UpdateReferences() override;
66 
69  void UpdateScene(vtkMRMLScene *scene) override;
70 
73  void UpdateReferenceID(const char *oldID, const char *newID) override;
74 
77  void ProcessMRMLEvents ( vtkObject * /*caller*/,
78  unsigned long /*event*/,
79  void * /*callData*/ ) override;
80 
83  vtkAlgorithmOutput* GetOutputMeshConnection() override;
84 
87  void UpdateAssignedAttribute() override;
88 
91  void SetSliceImagePort(vtkAlgorithmOutput *imagePort) override;
92 
95  void SetSlicePositionMatrix(vtkMatrix4x4 *matrix) override;
96 
99  void SetSliceGlyphRotationMatrix(vtkMatrix4x4 *matrix) override;
100 
101  //--------------------------------------------------------------------------
103  //--------------------------------------------------------------------------
104 
105 
106  //--------------------------------------------------------------------------
110  //--------------------------------------------------------------------------
111 
112  enum
113  {
114  colorModeSolid = 0,
115  colorModeScalar = 1,
116  colorModeFunctionOfScalar = 2,
117  colorModeUseCellScalars = 3
118  };
119 
120  //--------------------------------------------------------------------------
122  //--------------------------------------------------------------------------
123 
127  this->SetColorMode ( this->colorModeSolid );
128  };
129 
133  this->SetColorMode ( this->colorModeScalar );
134  };
135 
140  this->SetColorMode ( this->colorModeFunctionOfScalar );
141  };
142 
151  this->SetColorMode ( this->colorModeUseCellScalars );
152  };
153 
154 
155 
156  //--------------------------------------------------------------------------
158  //--------------------------------------------------------------------------
159 
160 
161  //--------------------------------------------------------------------------
163  //--------------------------------------------------------------------------
164 
165 
167 
170  vtkMRMLDiffusionTensorDisplayPropertiesNode* GetDiffusionTensorDisplayPropertiesNode ( );
171 
174  void SetAndObserveDiffusionTensorDisplayPropertiesNodeID ( const char *ID );
175 
178  vtkGetStringMacro(DiffusionTensorDisplayPropertiesNodeID);
179 
182  static int GetNumberOfScalarInvariants();
183 
186  static int GetNthScalarInvariant(int i);
187 
188  protected:
193 
195 
199 
200  void SetDiffusionTensorDisplayPropertiesNodeID(const char* id);
201 
202  static std::vector<int> GetSupportedColorModes();
203 
204 };
205 
206 #endif
static vtkMRMLGlyphableVolumeSliceDisplayNode * New()
vtkMRMLNode * CreateNodeInstance() override
MRMLNode methods.
scale and orient glyph(s) according to tensor eigenvalues and eigenvectors.
void operator=(const vtkMRMLGlyphableVolumeSliceDisplayNode &)
void Copy(vtkMRMLNode *node) override
Copy the node&#39;s attributes to this object
void ReadXMLAttributes(const char **atts) override
Read node attributes from XML (MRML) file
void UpdateScene(vtkMRMLScene *scene) override
Finds the storage node and read the data
MRML node to represent display properties for tractography.
virtual void SetSliceImagePort(vtkAlgorithmOutput *imagePort)
A set of MRML Nodes that supports serialization and undo/redo.
Definition: vtkMRMLScene.h:57
virtual void SetSlicePositionMatrix(vtkMatrix4x4 *matrix)
Set slice to RAS transformation
const char * GetNodeTagName() override
Get node XML tag name (like Volume, UnstructuredGrid)
void PrintSelf(ostream &os, vtkIndent indent) override
MRML node to represent display properties for tractography.
void UpdateReferenceID(const char *oldID, const char *newID) override
Update the stored reference to another node in the scene.
vtkAlgorithmOutput * GetOutputMeshConnection() override
void SetColorModeToScalar()
Color according to the tensors using various scalar invariants.
void ProcessMRMLEvents(vtkObject *, unsigned long, void *) override
alternative method to propagate events generated in Display nodes
virtual void SetSliceGlyphRotationMatrix(vtkMatrix4x4 *matrix)
Set slice to IJK transformation
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:167
vtkMRMLDiffusionTensorDisplayPropertiesNode * DiffusionTensorDisplayPropertiesNode
ALL MRML nodes.
void SetColorModeToSolid()
Display Information: ColorMode for ALL nodes.
void WriteXML(ostream &of, int indent) override
Write this node&#39;s information to a MRML file in XML format.
void UpdateAssignedAttribute() override
Update the pipeline based on this node attributes