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
vtkMRMLDiffusionWeightedVolumeNode.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: vtkMRMLVolumeNode.h,v $
10 Date: $Date: 2006/03/19 17:12:29 $
11 Version: $Revision: 1.13 $
12
13=========================================================================auto=*/
14
15#ifndef __vtkMRMLDiffusionWeightedVolumeNode_h
16#define __vtkMRMLDiffusionWeightedVolumeNode_h
17
20
21class vtkImageData;
22class vtkDoubleArray;
23class vtkImageExtractComponents;
24
35{
36 public:
39 void PrintSelf(ostream& os, vtkIndent indent) override;
40
42
45 void ReadXMLAttributes( const char** atts) override;
46
49 void WriteXML(ostream& of, int indent) override;
50
53 void Copy(vtkMRMLNode *node) override;
54
57 const char* GetNodeTagName() override {return "DiffusionWeightedVolume";}
58
60 void SetNumberOfGradients(int val);
62
64 void SetDiffusionGradient(int val, const double g[3]);
65 void SetDiffusionGradients(vtkDoubleArray *grad);
66 double* GetDiffusionGradient(int val) VTK_SIZEHINT(3);
67 void GetDiffusionGradient(int val, double g[3]);
68 vtkGetObjectMacro(DiffusionGradients,vtkDoubleArray);
69
71 void SetBValue (int val, const double b);
72 void SetBValues (vtkDoubleArray *bValue);
74#ifdef GetBValue
75#undef GetBValue
76#endif
77 double GetBValue(int val);
78 vtkGetObjectMacro(BValues,vtkDoubleArray);
79
82 void SetMeasurementFrameMatrix(const double mf[3][3]);
83 void GetMeasurementFrameMatrix(double mf[3][3]);
84 void SetMeasurementFrameMatrix(const double xr, const double xa, const double xs,
85 const double yr, const double ya, const double ys,
86 const double zr, const double za, const double zs);
87
88 void SetMeasurementFrameMatrix(vtkMatrix4x4 *mat);
89 void GetMeasurementFrameMatrix(vtkMatrix4x4 *mat);
90
94
98
102
103protected:
108
110
112
113 vtkDoubleArray *DiffusionGradients;
114 vtkDoubleArray *BValues;
115
116};
117
118#endif
MRML node for representing a volume (image stack).
void WriteXML(ostream &of, int indent) override
Write this node's information to a MRML file in XML format.
void SetMeasurementFrameMatrix(const double xr, const double xa, const double xs, const double yr, const double ya, const double ys, const double zr, const double za, const double zs)
void SetDiffusionGradient(int val, const double g[3])
void GetMeasurementFrameMatrix(double mf[3][3])
void ReadXMLAttributes(const char **atts) override
Set node attributes.
virtual vtkMRMLDiffusionWeightedVolumeDisplayNode * GetDiffusionWeightedVolumeDisplayNode()
Associated display MRML node.
static vtkMRMLDiffusionWeightedVolumeNode * New()
void SetDiffusionGradients(vtkDoubleArray *grad)
void SetMeasurementFrameMatrix(vtkMatrix4x4 *mat)
void SetBValue(int val, const double b)
void CreateDefaultDisplayNodes() override
Create and observe default display node.
double * GetDiffusionGradient(int val) VTK_SIZEHINT(3)
void operator=(const vtkMRMLDiffusionWeightedVolumeNode &)
void PrintSelf(ostream &os, vtkIndent indent) override
vtkMRMLNode * CreateNodeInstance() override
MRMLNode methods.
double GetBValue(int val)
Work around issue that GetBValue is defined as a macro in windows.h.
void GetMeasurementFrameMatrix(vtkMatrix4x4 *mat)
vtkMRMLStorageNode * CreateDefaultStorageNode() override
Create default storage node or nullptr if does not have one.
void Copy(vtkMRMLNode *node) override
Copy the node's attributes to this object.
void GetDiffusionGradient(int val, double g[3])
vtkMRMLDiffusionWeightedVolumeNode(const vtkMRMLDiffusionWeightedVolumeNode &)
void SetMeasurementFrameMatrix(const double mf[3][3])
void SetBValues(vtkDoubleArray *bValue)
const char * GetNodeTagName() override
Get node XML tag name (like Volume, Model)
Abstract Superclass for all specific types of MRML nodes.
A superclass for other storage nodes.