15 #ifndef __vtkMRMLDiffusionTensorVolumeDisplayNode_h 16 #define __vtkMRMLDiffusionTensorVolumeDisplayNode_h 22 class vtkAlgorithmOutput;
27 class vtkImageExtractComponents;
28 class vtkImageShiftScale;
29 class vtkImageMathematics;
45 void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
51 virtual
void ReadXMLAttributes( const
char** atts) VTK_OVERRIDE;
55 virtual
void WriteXML(ostream& of,
int indent) VTK_OVERRIDE;
63 virtual const
char* GetNodeTagName() VTK_OVERRIDE {
return "DiffusionTensorVolumeDisplay";}
78 virtual void UpdateReferenceID(
const char *oldID,
const char *newID) VTK_OVERRIDE;
84 void * ) VTK_OVERRIDE;
97 vtkGetMacro(ScalarInvariant,
int);
102 vtkSetMacro(ScalarInvariant,
int);
159 vtkGetObjectMacro (ShiftScale, vtkImageShiftScale);
176 static int GetNumberOfScalarInvariants();
177 static int GetNthScalarInvariant(
int i);
190 static std::vector<int> GetSupportedColorModes();
virtual std::vector< vtkMRMLGlyphableVolumeSliceDisplayNode * > GetSliceGlyphDisplayNodes(vtkMRMLVolumeNode *vtkNotUsed(node))
get associated slice glyph display node or NULL if not set
virtual vtkAlgorithmOutput * GetInputImageDataConnection() VTK_OVERRIDE
Gets the pipeline input.
virtual vtkMRMLNode * CreateNodeInstance() VTK_OVERRIDE
Create instance of the default node. Like New only virtual.
scale and orient glyph(s) according to tensor eigenvalues and eigenvectors.
virtual const char * GetScalarInvariantAsString()
Return a text string describing the ScalarInvariant variable.
void SetScalarInvariantToLinearMeasure()
Set scalar invariant to C_L (Westin's linear measure)
virtual void SetInputToImageDataPipeline(vtkAlgorithmOutput *imageDataConnection) VTK_OVERRIDE
virtual vtkAlgorithmOutput * GetScalarImageDataConnection()
virtual void UpdateReferences() VTK_OVERRIDE
vtkDiffusionTensorMathematics * DTIMathematics
used for main scalar invarant (can be 1 or 3 component)
virtual void UpdateScene(vtkMRMLScene *scene) VTK_OVERRIDE
Finds the storage node and read the data.
vtkDiffusionTensorMathematics * DTIMathematicsAlpha
used for calculating single component magnitude for color images
vtkDiffusionTensorGlyph * DiffusionTensorGlyphFilter
vtkImageMathematics * ImageMath
virtual void UpdateImageDataPipeline()
Update the pipeline based on this node attributes.
virtual void ProcessMRMLEvents(vtkObject *, unsigned long, void *) VTK_OVERRIDE
alternative method to propagate events generated in Display nodes
void SetScalarInvariantToPlanarMeasure()
Set scalar invariant to C_P (Westin's planar measure)
void SetScalarInvariantToFractionalAnisotropy()
Set scalar invariant to FA (normalized variance of eigenvalues)
A set of MRML Nodes that supports serialization and undo/redo.
virtual void UpdateReferenceID(const char *oldID, const char *newID) VTK_OVERRIDE
Update the stored reference to another node in the scene.
vtkImageShiftScale * ShiftScale
MRML node to represent display properties for tractography.
void operator=(const vtkMRMLGlyphableVolumeDisplayNode &)
MRML node for representing a volume (image stack).
MRML node for representing a volume (image stack).
virtual void AddSliceGlyphDisplayNodes(vtkMRMLVolumeNode *vtkNotUsed(node))
add slice glyph display nodes if not already present and return it
void SetScalarInvariantToTrace()
Set scalar invariant to trace (sum of eigenvalues).
static const char * GetScalarEnumAsString(int val)
virtual vtkAlgorithmOutput * GetBackgroundImageStencilDataConnection() VTK_OVERRIDE
int ScalarInvariant
Scalar display parameters.
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
Abstract Superclass for all specific types of MRML nodes.
virtual void GetDisplayScalarRange(double range[2]) VTK_OVERRIDE
void SetScalarInvariantToSphericalMeasure()
Set scalar invariant to C_S (Westin's spherical measure)
void SetScalarInvariantToRelativeAnisotropy()
Set scalar invariant to relative anisotropy.
MRML node for representing a volume display attributes.
static vtkMRMLGlyphableVolumeDisplayNode * New()