Slicer  5.0
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
vtkMRMLTensorVolumeNode.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 __vtkMRMLTensorVolumeNode_h
16 #define __vtkMRMLTensorVolumeNode_h
17 
19 class vtkMRMLStorageNode;
20 
21 class vtkDoubleArray;
22 class vtkImageData;
23 class vtkMatrix4x4;
24 
34 class VTK_MRML_EXPORT vtkMRMLTensorVolumeNode : public vtkMRMLScalarVolumeNode
35 {
36  public:
37  static vtkMRMLTensorVolumeNode *New();
39  void PrintSelf(ostream& os, vtkIndent indent) override;
40 
41  vtkMRMLNode* CreateNodeInstance() override;
42 
45  void ReadXMLAttributes( const char** atts) override;
46 
49  void WriteXML(ostream& of, int indent) override;
50 
54 
57  const char* GetNodeTagName() override {return "TensorVolume";}
58 
62  void UpdateReferences() override
64 
67  void UpdateReferenceID(const char *oldID, const char *newID) override
68  { Superclass::UpdateReferenceID(oldID, newID); }
69 
71  vtkGetMacro(Order,int);
72  vtkSetMacro(Order,int);
73 
76  void SetMeasurementFrameMatrix(const double mf[3][3]);
79  void SetMeasurementFrameMatrix(const double xr, const double xa, const double xs,
80  const double yr, const double ya, const double ys,
81  const double zr, const double za, const double zs);
82 
83  void GetMeasurementFrameMatrix(double mf[3][3]);
84 
87  void SetMeasurementFrameMatrix(vtkMatrix4x4 *mat);
88  void GetMeasurementFrameMatrix(vtkMatrix4x4 *mat);
89 
93 
94 protected:
96  ~vtkMRMLTensorVolumeNode() override;
99 
100  double MeasurementFrameMatrix[3][3];
101  int Order;
102 };
103 
104 #endif
MRML node for representing diffusion weighted MRI volume.
vtkMRMLCopyContentMacro(vtkMRMLVolumeNode)
virtual void UpdateReferences()
The method should remove all pointers and observations to all nodes that are not in the scene anymore...
vtkMRMLStorageNode * CreateDefaultStorageNode() override
Create default storage node or nullptr if does not have one
virtual void UpdateReferenceID(const char *oldID, const char *newID)
Update the stored reference to another node in the scene.
vtkMRMLNode * CreateNodeInstance() override
MRMLNode methods.
void UpdateReferenceID(const char *oldID, const char *newID) override
static vtkMRMLScalarVolumeNode * New()
A superclass for other storage nodes.
void operator=(const vtkMRMLScalarVolumeNode &)
const char * GetNodeTagName() override
Get node XML tag name (like Volume, Model)
MRML node for representing a volume (image stack).
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:167
void ReadXMLAttributes(const char **atts) override
Set node attributes
void WriteXML(ostream &of, int indent) override
Write this node's information to a MRML file in XML format.
void PrintSelf(ostream &os, vtkIndent indent) override