vtkMRMLVolumeNode Class Reference

#include <vtkMRMLVolumeNode.h>

Inheritance diagram for vtkMRMLVolumeNode:
vtkMRMLDisplayableNode vtkMRMLStorableNode vtkMRMLTransformableNode vtkMRMLNode vtkObject vtkMRMLScalarVolumeNode vtkMRMLVolumeNodeTestHelper1 vtkMRMLDiffusionWeightedVolumeNode vtkMRMLFiniteElementImageNode vtkMRMLTensorVolumeNode vtkMRMLDiffusionImageVolumeNode vtkMRMLVectorVolumeNode vtkMRMLDiffusionTensorVolumeNode

List of all members.

Public Types

enum  { ImageDataModifiedEvent = 18001 }

Public Member Functions

virtual void ApplyTransform (vtkAbstractTransform *transform)
virtual void ApplyTransform (vtkMatrix4x4 *transformMatrix)
virtual bool CanApplyNonLinearTransforms ()
void ComputeIJKToRASFromScanOrder (char *order, double spacing1, double spacing2, double spacing3, int dims1, int dims2, int dims3, bool centerImage, vtkMatrix4x4 *IJKToRAS)
virtual void Copy (vtkMRMLNode *node)
void CopyOrientation (vtkMRMLVolumeNode *node)
virtual vtkMRMLStorageNodeCreateDefaultStorageNode ()
virtual vtkMRMLNodeCreateNodeInstance ()=0
 MRMLNode methods.
void GetIJKToRASDirectionMatrix (vtkMatrix4x4 *mat)
void GetIJKToRASDirections (double dirs[3][3])
void GetIJKToRASMatrix (vtkMatrix4x4 *mat)
void GetIToRASDirection (double dirs[3])
void GetJToRASDirection (double dirs[3])
void GetKToRASDirection (double dirs[3])
const itk::MetaDataDictionary & GetMetaDataDictionary () const
virtual const charGetNodeTagName ()=0
void GetRASToIJKMatrix (vtkMatrix4x4 *mat)
virtual vtkMRMLVolumeDisplayNodeGetVolumeDisplayNode ()
void PrintSelf (ostream &os, vtkIndent indent)
virtual void ProcessMRMLEvents (vtkObject *, unsigned long, void *)
virtual void ReadXMLAttributes (const char **atts)
void SetAndObserveImageData (vtkImageData *ImageData)
void SetIJKToRASDirectionMatrix (vtkMatrix4x4 *mat)
void SetIJKToRASDirections (double ir, double ia, double is, double jr, double ja, double js, double kr, double ka, double ks)
void SetIJKToRASDirections (double dirs[3][3])
void SetIJKToRASMatrix (vtkMatrix4x4 *mat)
void SetIToRASDirection (double ir, double ia, double is)
void SetJToRASDirection (double jr, double ja, double js)
void SetKToRASDirection (double kr, double ka, double ks)
void SetMetaDataDictionary (const itk::MetaDataDictionary &)
void SetRASToIJKMatrix (vtkMatrix4x4 *mat)
virtual void UpdateFromMRML ()
virtual void UpdateScene (vtkMRMLScene *scene)
 vtkGetObjectMacro (ImageData, vtkImageData)
 vtkGetVector3Macro (Origin, double)
 vtkGetVector3Macro (Spacing, double)
 vtkSetVector3Macro (Origin, double)
 vtkSetVector3Macro (Spacing, double)
 vtkTypeMacro (vtkMRMLVolumeNode, vtkMRMLDisplayableNode)
virtual void WriteXML (ostream &of, int indent)

Static Public Member Functions

static void ComputeIJKToRASFromScanOrder (char *order, double *spacing, int *dims, bool centerImage, vtkMatrix4x4 *IJKToRAS)
 RAS->IJK Matrix Calculation.
static const charComputeScanOrderFromIJKToRAS (vtkMatrix4x4 *IJKToRAS)
static vtkMRMLVolumeNodeNew ()

Protected Member Functions

void operator= (const vtkMRMLVolumeNode &)
 vtkMRMLVolumeNode (const vtkMRMLVolumeNode &)
 vtkMRMLVolumeNode ()
 vtkSetObjectMacro (ImageData, vtkImageData)
 ~vtkMRMLVolumeNode ()

Protected Attributes

itk::MetaDataDictionary Dictionary
double IJKToRASDirections [3][3]
 these are unit length direction cosines
vtkImageDataImageData
double Origin [3]
double Spacing [3]
 these are mappings to mm space

Member Enumeration Documentation

anonymous enum

DisplayModifiedEvent is generated when display node parameters is changed PolyDataModifiedEvent is generated when PloyData is changed

Enumerator:
ImageDataModifiedEvent 

Constructor & Destructor Documentation

vtkMRMLVolumeNode::vtkMRMLVolumeNode (  )  [protected]
vtkMRMLVolumeNode::~vtkMRMLVolumeNode (  )  [protected]
vtkMRMLVolumeNode::vtkMRMLVolumeNode ( const vtkMRMLVolumeNode  )  [protected]

Member Function Documentation

void vtkMRMLVolumeNode::ApplyTransform ( vtkAbstractTransform *  transform  )  [virtual]

Implements vtkMRMLTransformableNode.

References ApplyTransform().

void vtkMRMLVolumeNode::ApplyTransform ( vtkMatrix4x4 *  transformMatrix  )  [virtual]

Reimplemented from vtkMRMLTransformableNode.

References GetIJKToRASMatrix(), New(), and SetIJKToRASMatrix().

Referenced by ApplyTransform().

virtual bool vtkMRMLVolumeNode::CanApplyNonLinearTransforms (  )  [inline, virtual]
void vtkMRMLVolumeNode::ComputeIJKToRASFromScanOrder ( char order,
double  spacing1,
double  spacing2,
double  spacing3,
int  dims1,
int  dims2,
int  dims3,
bool  centerImage,
vtkMatrix4x4 *  IJKToRAS 
)
void vtkMRMLVolumeNode::ComputeIJKToRASFromScanOrder ( char order,
double *  spacing,
int dims,
bool  centerImage,
vtkMatrix4x4 *  IJKToRAS 
) [static]

RAS->IJK Matrix Calculation.

The order of slices in the volume. One of: LR (left-to-right), RL, AP, PA, IS, SI. This information is encoded in the rasToIJKMatrix. This matrix can be computed either from corner points, or just he scanOrder.

References j, and New().

Referenced by ComputeIJKToRASFromScanOrder(), and vtkMRMLVolumeHeaderlessStorageNode::ReadData().

const char * vtkMRMLVolumeNode::ComputeScanOrderFromIJKToRAS ( vtkMatrix4x4 *  IJKToRAS  )  [static]
void vtkMRMLVolumeNode::Copy ( vtkMRMLNode node  )  [virtual]
void vtkMRMLVolumeNode::CopyOrientation ( vtkMRMLVolumeNode node  ) 
virtual vtkMRMLStorageNode* vtkMRMLVolumeNode::CreateDefaultStorageNode (  )  [inline, virtual]
virtual vtkMRMLNode* vtkMRMLVolumeNode::CreateNodeInstance (  )  [pure virtual]
void vtkMRMLVolumeNode::GetIJKToRASDirectionMatrix ( vtkMatrix4x4 *  mat  ) 
void vtkMRMLVolumeNode::GetIJKToRASDirections ( double  dirs[3][3]  ) 
void vtkMRMLVolumeNode::GetIJKToRASMatrix ( vtkMatrix4x4 *  mat  ) 

Get the IJKToRAS Matrix that includes the spacing and origin information (assumes the image data is Origin 0 0 0 and Spacing 1 1 1) RASToIJK is the inverse of this

References IJKToRASDirections, Origin, and Spacing.

Referenced by vtkPharmacokineticsLogic::AddMapVolumeNode(), ApplyTransform(), vtkIGTLToMRMLImage::CenterImage(), vtkChangeTrackerStep::CreateRender(), vtkChangeTrackerLogic::CreateSuperSample(), vtkZFrameRobotToImageRegistration::DoRegistration(), vtkSlicerSlicesControlGUI::FitFOVToBackground(), GetRASToIJKMatrix(), vtkSlicerSliceLogic::GetSliceIndexFromOffset(), vtkSlicerSliceLogic::GetVolumeRASBox(), vtkSlicerSliceLogic::GetVolumeSliceSpacing(), vtkEMSegmentLogic::IsVolumeGeometryEqual(), vtkChangeTrackerLogic::LinearResample(), vtkIGTLToMRMLImage::MRMLToIGTL(), vtkEMSegmentRunSegmentationStep::MRMLUpdateROINodeFromROI(), vtkChangeTrackerROIStep::MRMLUpdateROINodeFromROI(), vtkEMSegmentLogic::PrintImageInfo(), vtkEMSegmentRunSegmentationStep::ResetROICenter(), vtkChangeTrackerROIStep::ResetROICenter(), vtkChangeTrackerROIStep::ROIReset(), vtkMRMLSliceNode::RotateToVolumePlane(), vtkMRMLROIListNode::SetNthROIIJK(), vtkEMSegmentLogic::SlicerImageReslice(), vtkEMSegmentLogic::SlicerImageResliceWithGrid(), vtkSlicerSliceLogic::SnapSliceOffsetToIJK(), vtkEMSegmentLogic::TransferIJKToRAS(), vtkSlicerVolumesLogic::TranslateFreeSurferRegistrationMatrixIntoSlicerRASToRASMatrix(), vtkMRMLTransRectalProstateRobotNode::UpdateCalibration(), vtkOpenIGTLinkIFLogic::UpdateSliceNodeByImage(), vtkSlicerVolumeHeaderWidget::UpdateWidgetFromMRML(), and vtkMRMLNRRDStorageNode::WriteData().

void vtkMRMLVolumeNode::GetIToRASDirection ( double  dirs[3]  ) 

References IJKToRASDirections.

void vtkMRMLVolumeNode::GetJToRASDirection ( double  dirs[3]  ) 

References IJKToRASDirections.

void vtkMRMLVolumeNode::GetKToRASDirection ( double  dirs[3]  ) 

References IJKToRASDirections.

const itk::MetaDataDictionary & vtkMRMLVolumeNode::GetMetaDataDictionary (  )  const
virtual const char* vtkMRMLVolumeNode::GetNodeTagName (  )  [pure virtual]
void vtkMRMLVolumeNode::GetRASToIJKMatrix ( vtkMatrix4x4 *  mat  ) 
virtual vtkMRMLVolumeDisplayNode* vtkMRMLVolumeNode::GetVolumeDisplayNode (  )  [inline, virtual]
static vtkMRMLVolumeNode* vtkMRMLVolumeNode::New (  )  [inline, static]
void vtkMRMLVolumeNode::operator= ( const vtkMRMLVolumeNode  )  [protected]
void vtkMRMLVolumeNode::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
void vtkMRMLVolumeNode::ProcessMRMLEvents ( vtkObject caller,
unsigned long  event,
void *  callData 
) [virtual]
void vtkMRMLVolumeNode::ReadXMLAttributes ( const char **  atts  )  [virtual]
void vtkMRMLVolumeNode::SetAndObserveImageData ( vtkImageData ImageData  ) 
void vtkMRMLVolumeNode::SetIJKToRASDirectionMatrix ( vtkMatrix4x4 *  mat  ) 
void vtkMRMLVolumeNode::SetIJKToRASDirections ( double  ir,
double  ia,
double  is,
double  jr,
double  ja,
double  js,
double  kr,
double  ka,
double  ks 
)

References IJKToRASDirections.

void vtkMRMLVolumeNode::SetIJKToRASDirections ( double  dirs[3][3]  ) 

References IJKToRASDirections, and j.

Referenced by SetIJKToRASDirectionMatrix().

void vtkMRMLVolumeNode::SetIJKToRASMatrix ( vtkMatrix4x4 *  mat  ) 
void vtkMRMLVolumeNode::SetIToRASDirection ( double  ir,
double  ia,
double  is 
)

References IJKToRASDirections.

void vtkMRMLVolumeNode::SetJToRASDirection ( double  jr,
double  ja,
double  js 
)

References IJKToRASDirections.

void vtkMRMLVolumeNode::SetKToRASDirection ( double  kr,
double  ka,
double  ks 
)

References IJKToRASDirections.

void vtkMRMLVolumeNode::SetMetaDataDictionary ( const itk::MetaDataDictionary &  dictionary  ) 

Set/Get the ITK MetaDataDictionary

References Dictionary, and vtkMRMLNode::Modified().

Referenced by vtkMRMLVolumeArchetypeStorageNode::ReadData().

void vtkMRMLVolumeNode::SetRASToIJKMatrix ( vtkMatrix4x4 *  mat  ) 
void vtkMRMLVolumeNode::UpdateFromMRML (  )  [virtual]

Subclasses can define actions to take when the mrml scene passes an event that the image data has changed, usually call CalculateAutoLevels

Reimplemented in vtkMRMLDiffusionWeightedVolumeNode, vtkMRMLScalarVolumeNode, and vtkMRMLTensorVolumeNode.

Referenced by ProcessMRMLEvents().

void vtkMRMLVolumeNode::UpdateScene ( vtkMRMLScene scene  )  [virtual]

Finds the storage node and read the data

Reimplemented from vtkMRMLDisplayableNode.

Reimplemented in vtkMRMLScalarVolumeNode.

References SetAndObserveImageData().

vtkMRMLVolumeNode::vtkGetObjectMacro ( ImageData  ,
vtkImageData   
)

Associated ImageData

vtkMRMLVolumeNode::vtkGetVector3Macro ( Origin  ,
double   
)
vtkMRMLVolumeNode::vtkGetVector3Macro ( Spacing  ,
double   
)

Spacing and Origin, with the Directions, are the independent parameters that go to make up the IJKToRAS matrix

vtkMRMLVolumeNode::vtkSetObjectMacro ( ImageData  ,
vtkImageData   
) [protected]
vtkMRMLVolumeNode::vtkSetVector3Macro ( Origin  ,
double   
)
vtkMRMLVolumeNode::vtkSetVector3Macro ( Spacing  ,
double   
)
vtkMRMLVolumeNode::vtkTypeMacro ( vtkMRMLVolumeNode  ,
vtkMRMLDisplayableNode   
)
void vtkMRMLVolumeNode::WriteXML ( ostream &  of,
int  indent 
) [virtual]

Member Data Documentation

itk::MetaDataDictionary vtkMRMLVolumeNode::Dictionary [protected]
double vtkMRMLVolumeNode::IJKToRASDirections[3][3] [protected]
double vtkMRMLVolumeNode::Origin[3] [protected]
double vtkMRMLVolumeNode::Spacing[3] [protected]

The documentation for this class was generated from the following files:

Generated on 6 Apr 2011 for Slicer3 by  doxygen 1.6.1