Slicer  4.8
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 ) VTK_OVERRIDE;
38 
39  //--------------------------------------------------------------------------
41  //--------------------------------------------------------------------------
42 
43  virtual vtkMRMLNode* CreateNodeInstance () VTK_OVERRIDE;
44 
47  virtual void ReadXMLAttributes ( const char** atts ) VTK_OVERRIDE;
48 
51  virtual void WriteXML ( ostream& of, int indent ) VTK_OVERRIDE;
52 
53 
56  virtual void Copy ( vtkMRMLNode *node ) VTK_OVERRIDE;
57 
60  virtual const char* GetNodeTagName () VTK_OVERRIDE {return "DiffusionTensorVolumeSliceDisplayNode";}
61 
65  virtual void UpdateReferences() VTK_OVERRIDE;
66 
69  virtual void UpdateScene(vtkMRMLScene *scene) VTK_OVERRIDE;
70 
73  virtual void UpdateReferenceID(const char *oldID, const char *newID) VTK_OVERRIDE;
74 
77  virtual void ProcessMRMLEvents ( vtkObject * /*caller*/,
78  unsigned long /*event*/,
79  void * /*callData*/ ) VTK_OVERRIDE;
80 
83  virtual vtkAlgorithmOutput* GetOutputMeshConnection() VTK_OVERRIDE;
84 
87  virtual void UpdateAssignedAttribute() VTK_OVERRIDE;
88 
91  virtual void SetSliceImagePort(vtkAlgorithmOutput *imagePort) VTK_OVERRIDE;
92 
95  virtual void SetSlicePositionMatrix(vtkMatrix4x4 *matrix) VTK_OVERRIDE;
96 
99  virtual void SetSliceGlyphRotationMatrix(vtkMatrix4x4 *matrix) VTK_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
virtual void ProcessMRMLEvents(vtkObject *, unsigned long, void *) VTK_OVERRIDE
alternative method to propagate events generated in Display nodes
static vtkMRMLGlyphableVolumeSliceDisplayNode * New()
scale and orient glyph(s) according to tensor eigenvalues and eigenvectors.
void operator=(const vtkMRMLGlyphableVolumeSliceDisplayNode &)
virtual vtkAlgorithmOutput * GetOutputMeshConnection() VTK_OVERRIDE
MRML node to represent display properties for tractography.
virtual void SetSliceImagePort(vtkAlgorithmOutput *imagePort)
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
virtual void UpdateScene(vtkMRMLScene *scene) VTK_OVERRIDE
Finds the storage node and read the data.
virtual vtkMRMLNode * CreateNodeInstance() VTK_OVERRIDE
MRMLNode methods.
virtual void UpdateReferences() VTK_OVERRIDE
A set of MRML Nodes that supports serialization and undo/redo.
Definition: vtkMRMLScene.h:54
virtual void SetSlicePositionMatrix(vtkMatrix4x4 *matrix)
Set slice to RAS transformation.
virtual void UpdateReferenceID(const char *oldID, const char *newID) VTK_OVERRIDE
Update the stored reference to another node in the scene.
MRML node to represent display properties for tractography.
void SetColorModeToScalar()
Color according to the tensors using various scalar invariants.
virtual void SetSliceGlyphRotationMatrix(vtkMatrix4x4 *matrix)
Set slice to IJK transformation.
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:135
virtual void UpdateAssignedAttribute() VTK_OVERRIDE
Update the pipeline based on this node attributes.
vtkMRMLDiffusionTensorDisplayPropertiesNode * DiffusionTensorDisplayPropertiesNode
ALL MRML nodes.
void SetColorModeToSolid()
Display Information: ColorMode for ALL nodes.