Slicer 5.9
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
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
22class vtkMatrix4x4;
23class vtkPolyData;
24
33{
34 public:
37 void PrintSelf ( ostream& os, vtkIndent indent ) override;
38
39 //--------------------------------------------------------------------------
41 //--------------------------------------------------------------------------
42
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 {
118 };
119
120 //--------------------------------------------------------------------------
122 //--------------------------------------------------------------------------
123
127 this->SetColorMode ( this->colorModeSolid );
128 };
129
133 this->SetColorMode ( this->colorModeScalar );
134 };
135
142
153
154
155
156 //--------------------------------------------------------------------------
158 //--------------------------------------------------------------------------
159
160
161 //--------------------------------------------------------------------------
163 //--------------------------------------------------------------------------
164
165
167
171
175
179
183
186 static int GetNthScalarInvariant(int i);
187
188 protected:
193
195
199
201
202 static std::vector<int> GetSupportedColorModes();
203
204};
205
206#endif
scale and orient glyph(s) according to tensor eigenvalues and eigenvectors.
void SetDiffusionTensorDisplayPropertiesNodeID(const char *id)
void ReadXMLAttributes(const char **atts) override
Read node attributes from XML (MRML) file.
void ProcessMRMLEvents(vtkObject *, unsigned long, void *) override
alternative method to propagate events generated in Display nodes
void WriteXML(ostream &of, int indent) override
Write this node's information to a MRML file in XML format.
vtkAlgorithmOutput * GetOutputMeshConnection() override
void PrintSelf(ostream &os, vtkIndent indent) override
void SetSliceImagePort(vtkAlgorithmOutput *imagePort) override
Set ImageData for a volume slice.
static int GetNumberOfScalarInvariants()
Get the number of selected scalar invariants to color a Slice.
vtkMRMLDiffusionTensorVolumeSliceDisplayNode(const vtkMRMLDiffusionTensorVolumeSliceDisplayNode &)
vtkMRMLDiffusionTensorDisplayPropertiesNode * DiffusionTensorDisplayPropertiesNode
ALL MRML nodes.
void UpdateScene(vtkMRMLScene *scene) override
Finds the storage node and read the data.
void SetAndObserveDiffusionTensorDisplayPropertiesNodeID(const char *ID)
Set diffusion tensor display MRML object for fiber glyph.
void UpdateAssignedAttribute() override
Update the pipeline based on this node attributes.
void UpdateReferenceID(const char *oldID, const char *newID) override
Update the stored reference to another node in the scene.
void SetColorModeToSolid()
Display Information: ColorMode for ALL nodes.
void SetColorModeToScalar()
Color according to the tensors using various scalar invariants.
void SetSlicePositionMatrix(vtkMatrix4x4 *matrix) override
Set slice to RAS transformation.
const char * GetNodeTagName() override
Get node XML tag name (like Volume, UnstructuredGrid)
static vtkMRMLDiffusionTensorVolumeSliceDisplayNode * New()
static int GetNthScalarInvariant(int i)
Get the nth scalar invariant to color a Slice.
vtkMRMLNode * CreateNodeInstance() override
MRMLNode methods.
void Copy(vtkMRMLNode *node) override
Copy the node's attributes to this object.
vtkMRMLDiffusionTensorDisplayPropertiesNode * GetDiffusionTensorDisplayPropertiesNode()
Display Information: ColorMode for glyphs.
static std::vector< int > GetSupportedColorModes()
void SetSliceGlyphRotationMatrix(vtkMatrix4x4 *matrix) override
Set slice to IJK transformation.
void operator=(const vtkMRMLGlyphableVolumeSliceDisplayNode &)
vtkMRMLGlyphableVolumeSliceDisplayNode()
Display Information: ColorMode for glyphs.
Abstract Superclass for all specific types of MRML nodes.
A set of MRML Nodes that supports serialization and undo/redo.