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
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