Slicer 5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
vtkDiffusionTensorGlyph.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: vtkDiffusionTensorGlyph.h,v $
10 Date: $Date: 2006/04/18 17:32:59 $
11 Version: $Revision: 1.8 $
12
13=========================================================================auto=*/
14
15#ifndef __vtkDiffusionTensorGlyph_h
16#define __vtkDiffusionTensorGlyph_h
17
18#include "vtkTeemConfigure.h"
19
20#include "vtkTensorGlyph.h"
21#include <vtkVersion.h>
22
23class vtkImageData;
24class vtkMatrix4x4;
25
71class VTK_Teem_EXPORT vtkDiffusionTensorGlyph : public vtkTensorGlyph
72{
73public:
74 vtkTypeMacro(vtkDiffusionTensorGlyph, vtkTensorGlyph);
75 void PrintSelf(ostream& os, vtkIndent indent) override;
76
82
85 vtkBooleanMacro(MaskGlyphs, int);
86 vtkSetMacro(MaskGlyphs, int);
87 vtkGetMacro(MaskGlyphs, int);
88
92 virtual void SetMask(vtkImageData*);
93
95
109
113
117 //
127 virtual void SetVolumePositionMatrix(vtkMatrix4x4*);
128 vtkGetObjectMacro(VolumePositionMatrix, vtkMatrix4x4);
129
133 //
144 //
145 virtual void SetTensorRotationMatrix(vtkMatrix4x4*);
146 vtkGetObjectMacro(TensorRotationMatrix, vtkMatrix4x4);
147
152 vtkSetClampMacro(Resolution, int, 1, VTK_INT_MAX);
153 vtkGetMacro(Resolution, int);
154
161 vtkGetVector2Macro(DimensionResolution, int);
162 vtkSetVector2Macro(DimensionResolution, int);
163
168 vtkMTimeType GetMTime() override;
169
170protected:
173
174 int RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) override;
175
176 void ColorGlyphsBy(int measure);
177
181
183
184 vtkMatrix4x4* VolumePositionMatrix;
185 vtkMatrix4x4* TensorRotationMatrix;
186
187 vtkImageData* Mask;
188
189private:
191 void operator=(const vtkDiffusionTensorGlyph&) = delete;
192};
193
194#endif
void ColorGlyphsByParallelDiffusivity()
~vtkDiffusionTensorGlyph() override
void ColorGlyphsByLinearMeasure()
TO DO: make more of these.
virtual void SetMask(vtkImageData *)
void ColorGlyphsByFractionalAnisotropy()
void ColorGlyphsBySphericalMeasure()
int DimensionResolution[2]
allows skipping some tensors for lower resolution glyphing
void ColorGlyphsByPerpendicularDiffusivity()
int Resolution
mask glyphs outside of the brain for example, using the Mask
static vtkDiffusionTensorGlyph * New()
vtkMTimeType GetMTime() override
void PrintSelf(ostream &os, vtkIndent indent) override
virtual void SetTensorRotationMatrix(vtkMatrix4x4 *)
void ColorGlyphsByRelativeAnisotropy()
int MaskGlyphs
which function of eigenvalues to use for coloring
virtual void SetVolumePositionMatrix(vtkMatrix4x4 *)
void ColorGlyphsByOrientation()
Output R,G,B scalars according to orientation of max eigenvalue.
void ColorGlyphsBy(int measure)
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override