Slicer 5.4
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
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 {
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
171
175
178 vtkGetStringMacro(DiffusionTensorDisplayPropertiesNodeID);
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.
MRML node to represent display properties for tractography.
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.
MRML node to represent display properties for tractography.
Abstract Superclass for all specific types of MRML nodes.
A set of MRML Nodes that supports serialization and undo/redo.