15#ifndef __vtkMRMLDiffusionWeightedVolumeNode_h
16#define __vtkMRMLDiffusionWeightedVolumeNode_h
23class vtkImageExtractComponents;
39 void PrintSelf(ostream& os, vtkIndent indent)
override;
49 void WriteXML(ostream& of,
int indent)
override;
78 vtkGetObjectMacro(
BValues,vtkDoubleArray);
85 const double yr,
const double ya,
const double ys,
86 const double zr,
const double za,
const double zs);
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])
~vtkMRMLDiffusionWeightedVolumeNode() override
void GetMeasurementFrameMatrix(double mf[3][3])
int GetNumberOfGradients()
double MeasurementFrameMatrix[3][3]
void SetNumberOfGradients(int val)
void ReadXMLAttributes(const char **atts) override
Set node attributes.
virtual vtkMRMLDiffusionWeightedVolumeDisplayNode * GetDiffusionWeightedVolumeDisplayNode()
Associated display MRML node.
static vtkMRMLDiffusionWeightedVolumeNode * New()
vtkDoubleArray * DiffusionGradients
void SetDiffusionGradients(vtkDoubleArray *grad)
void SetMeasurementFrameMatrix(vtkMatrix4x4 *mat)
void SetBValue(int val, const double b)
vtkMRMLDiffusionWeightedVolumeNode()
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 SetNumberOfGradientsInternal(int val)
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.
vtkMRMLScalarVolumeNode()
A superclass for other storage nodes.