15 #ifndef __vtkMRMLVolumeNode_h    16 #define __vtkMRMLVolumeNode_h    23 class vtkAlgorithmOutput;
    24 class vtkEventForwarderCommand;
    29 #include "itkMetaDataDictionary.h"    44   void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
    50   virtual 
void ReadXMLAttributes( const 
char** atts) VTK_OVERRIDE;
    54   virtual 
void WriteXML(ostream& of, 
int indent) VTK_OVERRIDE;
    67   virtual const 
char* GetNodeTagName() VTK_OVERRIDE = 0;
    71   virtual 
void UpdateScene(
vtkMRMLScene *scene) VTK_OVERRIDE;
    83   static 
bool ComputeIJKToRASFromScanOrder(const 
char *order,
    84                                            const 
double* spacing,
    87                                            vtkMatrix4x4 *IJKToRAS);
    89   static const 
char* ComputeScanOrderFromIJKToRAS(vtkMatrix4x4 *IJKToRAS);
    91   void SetIJKToRASDirections(
double dirs[3][3]);
    92   void SetIJKToRASDirections(
double ir, 
double ia, 
double is,
    93                              double jr, 
double ja, 
double js,
    94                              double kr, 
double ka, 
double ks);
    95   void SetIToRASDirection(
double ir, 
double ia, 
double is);
    96   void SetJToRASDirection(
double jr, 
double ja, 
double js);
    97   void SetKToRASDirection(
double kr, 
double ka, 
double ks);
    99   void GetIJKToRASDirections(
double dirs[3][3]);
   100   void GetIToRASDirection(
double dirs[3]);
   101   void GetJToRASDirection(
double dirs[3]);
   102   void GetKToRASDirection(
double dirs[3]);
   109   vtkGetVector3Macro (Spacing, 
double);
   110   virtual 
void SetSpacing(
double arg1, 
double arg2, 
double arg3);
   111   virtual 
void SetSpacing(
double arg[3]);
   112   vtkGetVector3Macro (Origin, 
double);
   113   virtual 
void SetOrigin(
double arg1, 
double arg2, 
double arg3);
   114   virtual 
void SetOrigin(
double arg[3]);
   118   double GetMinSpacing();
   122   double GetMaxSpacing();
   128   void GetIJKToRASMatrix(vtkMatrix4x4* mat);
   129   void GetRASToIJKMatrix(vtkMatrix4x4* mat);
   131   void GetIJKToRASDirectionMatrix(vtkMatrix4x4* mat);
   132   void SetIJKToRASDirectionMatrix(vtkMatrix4x4* mat);
   137   void SetIJKToRASMatrix(vtkMatrix4x4* mat);
   138   void SetRASToIJKMatrix(vtkMatrix4x4* mat);
   146   virtual 
void GetRASBounds(
double bounds[6]) VTK_OVERRIDE;
   151   virtual 
void GetBounds(
double bounds[6]) VTK_OVERRIDE;
   157   void GetSliceBounds(
double bounds[6], vtkMatrix4x4* rasToSlice);
   173   void SetAndObserveImageData(vtkImageData *ImageData);
   174   virtual vtkImageData* GetImageData();
   178   virtual 
void SetImageDataConnection(vtkAlgorithmOutput *inputPort);
   180   vtkGetObjectMacro(ImageDataConnection, vtkAlgorithmOutput);
   186   void ShiftImageDataExtentToZeroStart();
   190   virtual 
void ProcessMRMLEvents ( vtkObject * ,
   192                                    void *  ) VTK_OVERRIDE;
   197     ImageDataModifiedEvent = 18001
   202   void SetMetaDataDictionary( 
const itk::MetaDataDictionary& );
   203   const itk::MetaDataDictionary& GetMetaDataDictionary() 
const;
   207   virtual 
void ApplyTransform(vtkAbstractTransform* transform) VTK_OVERRIDE;
   209   virtual 
void ApplyTransformMatrix(vtkMatrix4x4* transformMatrix) VTK_OVERRIDE;
   211   virtual 
void ApplyNonLinearTransform(vtkAbstractTransform* transform);
   213   virtual 
bool GetModifiedSinceRead() VTK_OVERRIDE;
   216   ~vtkMRMLVolumeNode();
   217   vtkMRMLVolumeNode(const vtkMRMLVolumeNode&);
   218   void operator=(const vtkMRMLVolumeNode&);
   221   void SetImageDataToDisplayNodes();
   239   virtual 
void GetBoundsInternal(
double bounds[6], vtkMatrix4x4* rasToSlice, 
bool useTransform);
   242   double IJKToRASDirections[3][3];
   248   vtkAlgorithmOutput* ImageDataConnection;
   249   vtkEventForwarderCommand* DataEventForwarder;
   251   itk::MetaDataDictionary Dictionary;
 MRML node for representing a volume display attributes. 
 
Simplified inverse ITK transforms. 
 
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
 
A set of MRML Nodes that supports serialization and undo/redo. 
 
MRML node for representing a volume (image stack). 
 
Abstract class that contains graphical display properties for displayable nodes. 
 
Abstract Superclass for all specific types of MRML nodes. 
 
Class to hold information about a node reference. 
 
virtual vtkMRMLNode * CreateNodeInstance() VTK_OVERRIDE=0
MRMLNode methods.