![]() |
Slicer
4.11
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
|
MRML node for representing a volume (image stack). More...
#include <Libs/MRML/Core/vtkMRMLVolumeNode.h>
Public Types | |
enum | { VoxelVectorTypeUndefined, VoxelVectorTypeSpatial, VoxelVectorTypeColorRGB, VoxelVectorTypeColorRGBA, VoxelVectorType_Last } |
enum | { ImageDataModifiedEvent = 18001 } |
ImageDataModifiedEvent is generated when image data is changed. More... | |
typedef vtkMRMLDisplayableNode | Superclass |
![]() | |
enum | { DisplayModifiedEvent = 17000 } |
typedef vtkMRMLTransformableNode | Superclass |
![]() | |
enum | { TransformModifiedEvent = 15000 } |
TransformModifiedEvent is send when the parent transform is modidied. More... | |
typedef vtkMRMLStorableNode | Superclass |
![]() | |
typedef vtkMRMLNode | Superclass |
![]() | |
enum | { HierarchyModifiedEvent = 16000, IDChangedEvent = 16001, ReferenceAddedEvent, ReferenceModifiedEvent, ReferenceRemovedEvent, ReferencedNodeModifiedEvent } |
typedef vtkObject | Superclass |
Public Member Functions | |
bool | AddCenteringTransform () |
virtual void | ApplyNonLinearTransform (vtkAbstractTransform *transform) |
void | ApplyTransform (vtkAbstractTransform *transform) override |
void | ApplyTransformMatrix (vtkMatrix4x4 *transformMatrix) override |
bool | CanApplyNonLinearTransforms () const override |
void | CopyOrientation (vtkMRMLVolumeNode *node) |
Copy the node's attributes to this object More... | |
void | CreateDefaultSequenceDisplayNodes () override |
Creates the most appropriate display node class for storing a sequence of these nodes. More... | |
vtkMRMLNode * | CreateNodeInstance () override=0 |
MRMLNode methods. More... | |
void | GetBounds (double bounds[6]) override |
virtual const char * | GetClassName () |
void | GetIJKToRASDirectionMatrix (vtkMatrix4x4 *mat) |
void | GetIJKToRASDirections (double dirs[3][3]) |
void | GetIJKToRASMatrix (vtkMatrix4x4 *mat) |
virtual double | GetImageBackgroundScalarComponentAsDouble (int component) |
virtual vtkImageData * | GetImageData () |
virtual vtkAlgorithmOutput * | GetImageDataConnection () |
Return the input image data pipeline. More... | |
void | GetIToRASDirection (double dirs[3]) |
void | GetJToRASDirection (double dirs[3]) |
void | GetKToRASDirection (double dirs[3]) |
double | GetMaxSpacing () |
Utility function that returns the max spacing between the 3 orientations More... | |
const itk::MetaDataDictionary & | GetMetaDataDictionary () const |
double | GetMinSpacing () |
Utility function that returns the min spacing between the 3 orientations More... | |
bool | GetModifiedSinceRead () override |
const char * | GetNodeTagName () override=0 |
Get node XML tag name (like Volume, Model) More... | |
virtual void | GetOrigin (double &, double &, double &) |
virtual void | GetOrigin (double [3]) |
virtual double * | GetOrigin () |
void | GetRASBounds (double bounds[6]) override |
void | GetRASToIJKMatrix (vtkMatrix4x4 *mat) |
void | GetSliceBounds (double bounds[6], vtkMatrix4x4 *rasToSlice, bool useVoxelCenter=false) |
virtual void | GetSpacing (double &, double &, double &) |
virtual double * | GetSpacing () |
virtual void | GetSpacing (double [3]) |
virtual vtkMRMLVolumeDisplayNode * | GetVolumeDisplayNode () |
Associated display MRML node More... | |
virtual int | GetVoxelVectorType () |
virtual int | IsA (const char *type) |
bool | IsCentered () |
Returns true if the volume center is in the origin. More... | |
void | PrintSelf (ostream &os, vtkIndent indent) override |
void | ProcessMRMLEvents (vtkObject *, unsigned long, void *) override |
alternative method to propagate events generated in Display nodes More... | |
void | ReadXMLAttributes (const char **atts) override |
Read node attributes from XML file More... | |
virtual void | SetAndObserveImageData (vtkImageData *ImageData) |
void | SetIJKToRASDirectionMatrix (vtkMatrix4x4 *mat) |
void | SetIJKToRASDirections (double dirs[3][3]) |
void | SetIJKToRASDirections (double ir, double ia, double is, double jr, double ja, double js, double kr, double ka, double ks) |
void | SetIJKToRASMatrix (vtkMatrix4x4 *mat) |
virtual void | SetImageDataConnection (vtkAlgorithmOutput *inputPort) |
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 &) |
Set/Get the ITK MetaDataDictionary More... | |
virtual void | SetOrigin (double arg1, double arg2, double arg3) |
virtual void | SetOrigin (double arg[3]) |
void | SetRASToIJKMatrix (vtkMatrix4x4 *mat) |
virtual void | SetSpacing (double arg1, double arg2, double arg3) |
virtual void | SetSpacing (double arg[3]) |
virtual void | SetVoxelVectorType (int) |
void | ShiftImageDataExtentToZeroStart () |
void | UpdateScene (vtkMRMLScene *scene) override |
Finds the storage node and read the data More... | |
vtkMRMLCopyContentMacro (vtkMRMLVolumeNode) | |
void | WriteXML (ostream &of, int indent) override |
Write this node's information to a MRML file in XML format. More... | |
![]() | |
void | AddAndObserveDisplayNodeID (const char *displayNodeID) |
void | Copy (vtkMRMLNode *node) override |
Copy the node's attributes to this object More... | |
virtual void | CreateDefaultDisplayNodes () |
virtual int | GetDisplayClassVisibility (const char *nodeClass) |
vtkMRMLDisplayNode * | GetDisplayNode () |
const char * | GetDisplayNodeID () |
virtual const char * | GetDisplayNodeReferenceRole () |
virtual int | GetDisplayVisibility () |
vtkMRMLDisplayNode * | GetNthDisplayNode (int n) |
const char * | GetNthDisplayNodeID (int n) |
int | GetNumberOfDisplayNodes () |
bool | HasDisplayNodeID (const char *displayNodeID) |
Return true if displayNodeID is in the display node ID list. More... | |
void | PrintSelf (ostream &os, vtkIndent indent) override |
void | RemoveAllDisplayNodeIDs () |
Remove all display node IDs and associated display nodes. More... | |
void | RemoveNthDisplayNodeID (int n) |
void | SetAndObserveDisplayNodeID (const char *displayNodeID) |
void | SetAndObserveNthDisplayNodeID (int n, const char *displayNodeID) |
virtual void | SetDisplayClassVisibility (const char *nodeClass, int visible) |
virtual void | SetDisplayVisibility (int visible) |
void | SetSelectable (int) override |
virtual void | WriteCLI (std::vector< std::string > &vtkNotUsed(commandLine), std::string vtkNotUsed(prefix), int vtkNotUsed(coordinateSystemFlag)=0, int vtkNotUsed(multipleFlag)=1) |
![]() | |
vtkMRMLTransformNode * | GetParentTransformNode () |
Associated transform MRML node More... | |
const char * | GetTransformNodeID () |
Get referenced transform node id. More... | |
bool | HardenTransform () |
void | PrintSelf (ostream &os, vtkIndent indent) override |
bool | SetAndObserveTransformNodeID (const char *transformNodeID) |
virtual void | TransformPointFromWorld (const double inWorld[3], double outLocal[3]) |
virtual void | TransformPointFromWorld (const vtkVector3d &inWorld, vtkVector3d &outLocal) |
virtual void | TransformPointToWorld (const double inLocal[3], double outWorld[3]) |
virtual void | TransformPointToWorld (const vtkVector3d &inLocal, vtkVector3d &outWorld) |
![]() | |
void | AddAndObserveStorageNodeID (const char *storageNodeID) |
virtual bool | AddDefaultStorageNode (const char *filename=nullptr) |
virtual vtkMRMLStorageNode * | CreateDefaultSequenceStorageNode () |
virtual vtkMRMLStorageNode * | CreateDefaultStorageNode () |
virtual std::string | GetDefaultStorageNodeClassName (const char *filename=nullptr) |
vtkMRMLStorageNode * | GetNthStorageNode (int n) |
Get associated display MRML node More... | |
const char * | GetNthStorageNodeID (int n) |
int | GetNumberOfStorageNodes () |
const char * | GetSlicerDataType () |
vtkMRMLStorageNode * | GetStorageNode () |
const char * | GetStorageNodeID () |
virtual vtkTagTable * | GetUserTagTable () |
Methods for user-specified metadata. More... | |
bool | HasStorageNodeID (const char *storageNodeID) |
Return true if storageNodeID is in the storage node ID list. More... | |
void | PrintSelf (ostream &os, vtkIndent indent) override |
void | SetAndObserveNthStorageNodeID (int n, const char *storageNodeID) |
void | SetAndObserveStorageNodeID (const char *storageNodeID) |
String ID of the storage MRML node More... | |
void | SetSlicerDataType (const char *type) |
virtual void | StorableModified () |
vtkMRMLCopyContentMacro (vtkMRMLStorableNode) | |
![]() | |
vtkMRMLNode * | AddAndObserveNodeReferenceID (const char *referenceRole, const char *referencedNodeID, vtkIntArray *events=nullptr) |
Add and observe a reference node from this node for a specific referenceRole. More... | |
vtkMRMLNode * | AddNodeReferenceID (const char *referenceRole, const char *referencedNodeID) |
Convenience method that adds a referencedNodeID at the end of the list. More... | |
void | AddNodeReferenceRole (const char *referenceRole, const char *mrmlAttributeName=nullptr, vtkIntArray *events=nullptr) |
Add a referenceRole. More... | |
virtual void | AddToSceneOff () |
virtual void | AddToSceneOn () |
virtual void | CopyContent (vtkMRMLNode *node, bool deepCopy=true) |
Copy node contents from another node of the same type. Does not copy node ID, Scene, Name, SingletonTag, HideFromEditors, AddToScene, UndoEnabled, and node references. If deepCopy is set to false then a shallow copy of bulk data (such as image or mesh data) could be made; copying may be faster but the node may share some data with the source node instead of creating an independent copy. More... | |
virtual void | CopyReferences (vtkMRMLNode *node) |
Copy the references of the node into this. More... | |
void | CopyWithScene (vtkMRMLNode *node) |
Copy everything (including Scene and ID) from another node of the same type. More... | |
void | DisableModifiedEventOff () |
void | DisableModifiedEventOn () |
virtual int | EndModify (int previousDisableModifiedEventState) |
End modifying the node. More... | |
virtual int | GetAddToScene () |
node added to MRML scene. More... | |
const char * | GetAttribute (const char *name) |
Get value of a name value pair attribute. More... | |
std::vector< std::string > | GetAttributeNames () |
Get all attribute names. More... | |
void | GetAttributeNames (vtkStringArray *attributeNames) |
Get all attribute names. Python-wrappable version. More... | |
virtual vtkIntArray * | GetContentModifiedEvents () |
virtual char * | GetDescription () |
virtual int | GetDisableModifiedEvent () |
Turn on/off generating InvokeEvent for set macros. More... | |
virtual int | GetHideFromEditors () |
Describes if the node is hidden. More... | |
virtual char * | GetID () |
ID use by other nodes to reference this node in XML. More... | |
virtual int | GetInMRMLCallbackFlag () |
Flags to avoid event loops. More... | |
virtual int | GetModifiedEventPending () |
virtual char * | GetName () |
vtkMRMLNode * | GetNodeReference (const char *referenceRole) |
const char * | GetNodeReferenceID (const char *referenceRole) |
Utility function that returns the first node id for a specific referenceRole. More... | |
void | GetNodeReferenceIDs (const char *referenceRole, std::vector< const char *> &referencedNodeIDs) |
Return a list of the referenced node IDs. More... | |
void | GetNodeReferenceRoles (std::vector< std::string > &roles) |
void | GetNodeReferences (const char *referenceRole, std::vector< vtkMRMLNode *> &nodes) |
Return a list of the referenced nodes. More... | |
vtkMRMLNode * | GetNthNodeReference (const char *referenceRole, int n) |
Get referenced MRML node for a specific referenceRole. More... | |
const char * | GetNthNodeReferenceID (const char *referenceRole, int n) |
Return the string of the Nth node ID for a specific reference role. More... | |
const char * | GetNthNodeReferenceRole (int n) |
int | GetNumberOfNodeReferenceRoles () |
int | GetNumberOfNodeReferences (const char *referenceRole) |
Return the number of node IDs for a specific reference role (and nodes as they always have the same size). More... | |
virtual int | GetSaveWithScene () |
Save node with MRML scene. More... | |
virtual vtkMRMLScene * | GetScene () |
Get the scene this node has been added to. More... | |
virtual int | GetSelectable () |
Describes if the node is selectable. More... | |
virtual int | GetSelected () |
Get/Set for Selected. More... | |
virtual char * | GetSingletonTag () |
virtual bool | GetUndoEnabled () |
virtual bool | HasCopyContent () const |
Returns true if the class supports deep and shallow copying node content. More... | |
bool | HasNodeReferenceID (const char *referenceRole, const char *referencedNodeID) |
Return true if referencedNodeID is in the node ID list for a specific referenceRole. More... | |
virtual void | HideFromEditorsOff () |
virtual void | HideFromEditorsOn () |
virtual void | InvokeCustomModifiedEvent (int eventId, void *callData=nullptr) |
This method allows the node to compress events. More... | |
virtual int | InvokePendingModifiedEvent () |
Invokes any modified events that are pending . More... | |
bool | IsSingleton () |
void | Modified () override |
Customized version of Modified() allowing to compress vtkCommand::ModifiedEvent. More... | |
virtual void | OnNodeAddedToScene () |
void | PrintSelf (ostream &os, vtkIndent indent) override |
virtual void | ProcessChildNode (vtkMRMLNode *) |
Set dependencies between this node and a child node when parsing XML file. More... | |
void | RemoveAttribute (const char *name) |
Remove attribute with the specified name. More... | |
void | RemoveNodeReferenceIDs (const char *referenceRole) |
Remove all node IDs and associated nodes for a specific referenceRole. More... | |
void | RemoveNthNodeReferenceID (const char *referenceRole, int n) |
Convenience method that removes the Nth node ID from the list. More... | |
virtual void | Reset (vtkMRMLNode *defaultNode) |
Reset node attributes to the initial state as defined in the constructor or the passed default node. More... | |
virtual void | SaveWithSceneOff () |
virtual void | SaveWithSceneOn () |
virtual void | SelectableOff () |
virtual void | SelectableOn () |
virtual void | SelectedOff () |
virtual void | SelectedOn () |
virtual void | SetAddToScene (int) |
void | SetAddToSceneNoModify (int value) |
vtkMRMLNode * | SetAndObserveNodeReferenceID (const char *referenceRole, const char *referencedNodeID, vtkIntArray *events=nullptr) |
Set and observe a reference node from this node for a specific referenceRole. More... | |
vtkMRMLNode * | SetAndObserveNthNodeReferenceID (const char *referenceRole, int n, const char *referencedNodeID, vtkIntArray *events=nullptr) |
Set and observe the Nth node ID for a specific reference role. More... | |
void | SetAttribute (const char *name, const char *value) |
Set a name value pair attribute. More... | |
virtual void | SetDescription (const char *) |
Text description of this node, to be set by the user. More... | |
void | SetDisableModifiedEvent (int onOff) |
virtual void | SetHideFromEditors (int) |
void | SetInMRMLCallbackFlag (int flag) |
virtual void | SetName (const char *) |
Name of this node, to be set by the user. More... | |
vtkMRMLNode * | SetNodeReferenceID (const char *referenceRole, const char *referencedNodeID) |
Set a reference to a node with specified nodeID from this node for a specific referenceRole. More... | |
vtkMRMLNode * | SetNthNodeReferenceID (const char *referenceRole, int n, const char *referencedNodeID) |
Set a N-th reference from this node with specified referencedNodeID for a specific referenceRole. More... | |
virtual void | SetSaveWithScene (int) |
virtual void | SetScene (vtkMRMLScene *scene) |
This method is for internal use only. Use AddNode method of vtkMRMLScene to add a node to the scene. More... | |
virtual void | SetSceneReferences () |
Update the references of the node to the scene. More... | |
virtual void | SetSelected (int) |
void | SetSingletonOff () |
void | SetSingletonOn () |
virtual void | SetSingletonTag (const char *) |
Tag that make this node a singleton in the scene. More... | |
virtual void | SetUndoEnabled (bool) |
virtual int | StartModify () |
Start modifying the node. Disable Modify events. More... | |
virtual void | UndoEnabledOff () |
virtual void | UndoEnabledOn () |
virtual void | UpdateReferenceID (const char *oldID, const char *newID) |
Update the stored reference to another node in the scene. More... | |
virtual void | UpdateReferences () |
The method should remove all pointers and observations to all nodes that are not in the scene anymore. More... | |
const char * | URLDecodeString (const char *inString) |
Decode a URL string. More... | |
const char * | URLEncodeString (const char *inString) |
Encode a URL string. More... | |
virtual void | WriteNodeBodyXML (ostream &of, int indent) |
Write this node's body to a MRML file in XML format. More... | |
std::string | XMLAttributeDecodeString (const std::string &inString) |
Decode an XML attribute string. More... | |
std::string | XMLAttributeEncodeString (const std::string &inString) |
Encode an XML attribute string (replaces special characters by code sequences) More... | |
Static Public Member Functions | |
static bool | ComputeIJKToRASFromScanOrder (const char *order, const double *spacing, const int *dims, bool centerImage, vtkMatrix4x4 *IJKToRAS) |
RAS->IJK Matrix Calculation. More... | |
static const char * | ComputeScanOrderFromIJKToRAS (vtkMatrix4x4 *IJKToRAS) |
static const char * | GetVoxelVectorTypeAsString (int id) |
Convert between voxel type ID and name. More... | |
static int | GetVoxelVectorTypeFromString (const char *name) |
static int | IsTypeOf (const char *type) |
static vtkMRMLVolumeNode * | SafeDownCast (vtkObject *o) |
![]() | |
static int | IsTypeOf (const char *type) |
static vtkMRMLDisplayableNode * | SafeDownCast (vtkObject *o) |
![]() | |
static int | IsTypeOf (const char *type) |
static vtkMRMLTransformableNode * | SafeDownCast (vtkObject *o) |
![]() | |
static int | IsTypeOf (const char *type) |
static vtkMRMLStorableNode * | SafeDownCast (vtkObject *o) |
![]() | |
static int | IsTypeOf (const char *type) |
static vtkMRMLNode * | SafeDownCast (vtkObject *o) |
Protected Member Functions | |
virtual void | GetBoundsInternal (double bounds[6], vtkMatrix4x4 *rasToSlice, bool useTransform, bool useVoxelCenter=false) |
void | GetCenterPositionRAS (double *centerPositionRAS, bool useParentTransform=true) |
void | OnNodeReferenceAdded (vtkMRMLNodeReference *reference) override |
Called when a node reference ID is added (list size increased). More... | |
void | OnNodeReferenceModified (vtkMRMLNodeReference *reference) override |
Called when a node reference ID is modified. More... | |
void | operator= (const vtkMRMLVolumeNode &) |
void | SetImageDataToDisplayNode (vtkMRMLVolumeDisplayNode *displayNode) |
void | SetImageDataToDisplayNodes () |
Set the image data pipeline to all the display nodes. More... | |
virtual void | UpdateDisplayNodeImageData (vtkMRMLDisplayNode *dnode) |
vtkMRMLVolumeNode () | |
vtkMRMLVolumeNode (const vtkMRMLVolumeNode &) | |
~vtkMRMLVolumeNode () override | |
![]() | |
virtual const char * | GetDisplayNodeReferenceMRMLAttributeName () |
void | OnNodeReferenceRemoved (vtkMRMLNodeReference *reference) override |
Called after a node reference ID is removed (list size decreased). More... | |
void | operator= (const vtkMRMLDisplayableNode &) |
vtkMRMLDisplayableNode () | |
vtkMRMLDisplayableNode (const vtkMRMLDisplayableNode &) | |
~vtkMRMLDisplayableNode () override | |
![]() | |
virtual const char * | GetTransformNodeReferenceMRMLAttributeName () |
virtual const char * | GetTransformNodeReferenceRole () |
void | OnNodeReferenceRemoved (vtkMRMLNodeReference *reference) override |
Called after a node reference ID is removed (list size decreased). More... | |
virtual void | OnTransformNodeReferenceChanged (vtkMRMLTransformNode *transformNode) |
Called when transform node reference added/modified/removed. More... | |
void | operator= (const vtkMRMLTransformableNode &) |
vtkMRMLTransformableNode () | |
vtkMRMLTransformableNode (const vtkMRMLTransformableNode &) | |
~vtkMRMLTransformableNode () override | |
![]() | |
virtual const char * | GetStorageNodeReferenceMRMLAttributeName () |
virtual const char * | GetStorageNodeReferenceRole () |
virtual vtkTimeStamp | GetStoredTime () |
void | operator= (const vtkMRMLStorableNode &) |
vtkMRMLStorableNode () | |
vtkMRMLStorableNode (const vtkMRMLStorableNode &) | |
~vtkMRMLStorableNode () override | |
![]() | |
virtual const char * | GetMRMLAttributeNameFromReferenceRole (const char *refRole) |
Return the mrml attribute name (if found) associated with a reference role. Return 0 otherwise. More... | |
virtual const char * | GetReferenceRoleFromMRMLAttributeName (const char *attName) |
Return the reference role (if found) associated with the attribute name found in a MRML scene file. Return 0 otherwise. More... | |
virtual char * | GetTempURLString () |
void | GetUpdatedReferencedNodeEventList (int &oldReferencedNodeUseCount, int &newReferencedNodeUseCount, vtkIntArray *oldConsolidatedEventList, vtkIntArray *newConsolidatedEventList, vtkMRMLNode *oldReferencedNode, vtkMRMLNode *newReferencedNode, vtkMRMLNodeReference *referenceToIgnore, vtkIntArray *newEvents) |
virtual void | InvalidateNodeReferences () |
virtual bool | IsReferenceRoleGeneric (const char *refRole) |
Return true if the reference role is generic (ends with '/') or false otherwise. More... | |
void | operator= (const vtkMRMLNode &) |
void | ParseReferencesAttribute (const char *attValue, std::set< std::string > &references) |
virtual void | SetTempURLString (const char *) |
Get/Set the string used to manage encoding/decoding of strings/URLs with special characters. More... | |
vtkMRMLNode * | UpdateNodeReferenceEventObserver (vtkMRMLNode *oldReferencedNode, vtkMRMLNode *newReferencedNode, vtkIntArray *newEvents, vtkMRMLNodeReference *referenceToIgnore) |
virtual void | UpdateNodeReferences (const char *referenceRole=nullptr) |
virtual void | UpdateNthNodeReference (const char *referenceRole, int n) |
vtkMRMLNode () | |
vtkMRMLNode (const vtkMRMLNode &) | |
~vtkMRMLNode () override | |
critical to have a virtual destructor! More... | |
Protected Attributes | |
vtkEventForwarderCommand * | DataEventForwarder |
itk::MetaDataDictionary | Dictionary |
double | IJKToRASDirections [3][3] |
these are unit length direction cosines More... | |
vtkAlgorithmOutput * | ImageDataConnection |
double | Origin [3] |
double | Spacing [3] |
these are mappings to mm space More... | |
int | VoxelVectorType |
![]() | |
std::string | SlicerDataType |
vtkTimeStamp | StorableModifiedTime |
vtkTagTable * | UserTagTable |
![]() | |
int | AddToScene {1} |
AttributesType | Attributes |
vtkIntArray * | ContentModifiedEvents |
char * | Description {nullptr} |
int | HideFromEditors {0} |
char * | ID {nullptr} |
int | InMRMLCallbackFlag {0} |
Flag to avoid event loops More... | |
vtkCallbackCommand * | MRMLCallbackCommand |
Holders for MRML callbacks. More... | |
vtkObserverManager * | MRMLObserverManager |
char * | Name {nullptr} |
NodeReferenceEventsType | NodeReferenceEvents |
std::map< std::string, std::string > | NodeReferenceMRMLAttributeNames |
NodeReferencesType | NodeReferences |
int | SaveWithScene {true} |
vtkWeakPointer< vtkMRMLScene > | Scene |
int | Selectable {1} |
int | Selected {0} |
bool | UndoEnabled {false} |
Additional Inherited Members | |
![]() | |
typedef std::map< std::string, std::string > | AttributesType |
typedef std::map< std::string, vtkSmartPointer< vtkIntArray > > | NodeReferenceEventsType |
typedef std::vector< vtkSmartPointer< vtkMRMLNodeReference > > | NodeReferenceListType |
typedef std::map< std::string, NodeReferenceListType > | NodeReferencesType |
![]() | |
static void | MRMLCallback (vtkObject *caller, unsigned long eid, void *clientData, void *callData) |
![]() | |
static const char * | DisplayNodeReferenceMRMLAttributeName |
static const char * | DisplayNodeReferenceRole |
![]() | |
static const char * | TransformNodeReferenceMRMLAttributeName |
static const char * | TransformNodeReferenceRole |
![]() | |
static const char * | StorageNodeReferenceMRMLAttributeName |
static const char * | StorageNodeReferenceRole |
MRML node for representing a volume (image stack).
Volume nodes describe data sets that can be thought of as stacks of 2D images that form a 3D volume. Volume nodes describe where the images are stored on disk, how to render the data (window and level), and how to read the files. This information is extracted from the image headers (if they exist) at the time the MRML file is generated. Consequently, MRML files isolate MRML browsers from understanding how to read the myriad of file formats for medical data.
Definition at line 40 of file vtkMRMLVolumeNode.h.
Definition at line 43 of file vtkMRMLVolumeNode.h.
anonymous enum |
Enumerator | |
---|---|
VoxelVectorTypeUndefined | |
VoxelVectorTypeSpatial | |
VoxelVectorTypeColorRGB | |
VoxelVectorTypeColorRGBA | |
VoxelVectorType_Last |
Definition at line 46 of file vtkMRMLVolumeNode.h.
anonymous enum |
ImageDataModifiedEvent is generated when image data is changed.
Enumerator | |
---|---|
ImageDataModifiedEvent |
Definition at line 206 of file vtkMRMLVolumeNode.h.
|
protected |
|
overrideprotected |
|
protected |
bool vtkMRMLVolumeNode::AddCenteringTransform | ( | ) |
Add a transform to the scene that puts the center of the volume in the origin. Returns true if the parent transform is changed.
|
virtual |
|
overridevirtual |
Transforms the node with the provided non-linear transform.
Reimplemented from vtkMRMLTransformableNode.
|
overridevirtual |
Convenience function to allow transforming a node by specifying a transformation matrix.
Reimplemented from vtkMRMLTransformableNode.
|
overridevirtual |
Returns true if the transformable node can apply non-linear transforms. A transformable node is always expected to apply linear transforms.
Reimplemented from vtkMRMLTransformableNode.
|
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. Return true on success, false otherwise
|
static |
void vtkMRMLVolumeNode::CopyOrientation | ( | vtkMRMLVolumeNode * | node | ) |
Copy the node's attributes to this object
|
overridevirtual |
Creates the most appropriate display node class for storing a sequence of these nodes.
Reimplemented from vtkMRMLDisplayableNode.
|
overridepure virtual |
MRMLNode methods.
Implements vtkMRMLDisplayableNode.
Implemented in vtkMRMLStreamingVolumeNode, vtkMRMLLabelMapVolumeNode, vtkMRMLDiffusionWeightedVolumeNode, vtkMRMLScalarVolumeNode, vtkMRMLTensorVolumeNode, vtkMRMLDiffusionTensorVolumeNode, vtkMRMLDiffusionImageVolumeNode, and vtkMRMLVectorVolumeNode.
|
overridevirtual |
Get bounding box in global RAS form (xmin,xmax, ymin,ymax, zmin,zmax). This method always returns the bounds of the untransformed object.
Reimplemented from vtkMRMLDisplayableNode.
|
protectedvirtual |
Return the bounds of the node transformed or not depending on the useTransform parameter and the rasToSlice transform If useVoxelCenter is set to false (default) then bounds of voxel sides are returned (otherwise then bounds of voxels centers are returned).
|
protected |
Returns the origin that would put the volume center in the origin. If useParentTransform is false then parent transform is ignored.
|
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
|
virtual |
Get background voxel value of the image. It can be used for assigning intensity value to "empty" voxels when the image is transformed. It is computed as median value of the 8 corner voxels.
|
virtual |
Reimplemented in vtkMRMLStreamingVolumeNode.
|
virtual |
Return the input image data pipeline.
Reimplemented in vtkMRMLStreamingVolumeNode.
void vtkMRMLVolumeNode::GetIToRASDirection | ( | double | dirs[3] | ) |
void vtkMRMLVolumeNode::GetJToRASDirection | ( | double | dirs[3] | ) |
void vtkMRMLVolumeNode::GetKToRASDirection | ( | double | dirs[3] | ) |
double vtkMRMLVolumeNode::GetMaxSpacing | ( | ) |
Utility function that returns the max spacing between the 3 orientations
const itk::MetaDataDictionary& vtkMRMLVolumeNode::GetMetaDataDictionary | ( | ) | const |
double vtkMRMLVolumeNode::GetMinSpacing | ( | ) |
Utility function that returns the min spacing between the 3 orientations
|
overridevirtual |
Returns true if the node is more recent than the file on disk. This information can be used by the application to know which node has been modified since it has been last read or written. Only storable properties are considered: even if a "non storable" property (e.g. color of a mesh) is modified after the node is being loaded, GetModifiedSinceRead() should return false; the new property value won't be stored on file (only in the MRML scene). By default, calling Modified() on the node doesn't make the node "modified since read", only calling Modified() on StorableModifiedTime does. GetModifiedSinceRead() can be overwritten to handle special storable property modification time.
Reimplemented from vtkMRMLStorableNode.
|
overridepure virtual |
Get node XML tag name (like Volume, Model)
Implements vtkMRMLDisplayableNode.
Implemented in vtkMRMLStreamingVolumeNode, vtkMRMLDiffusionWeightedVolumeNode, vtkMRMLScalarVolumeNode, vtkMRMLTensorVolumeNode, vtkMRMLDiffusionImageVolumeNode, vtkMRMLVectorVolumeNode, vtkMRMLLabelMapVolumeNode, and vtkMRMLDiffusionTensorVolumeNode.
|
virtual |
|
virtual |
|
virtual |
|
overridevirtual |
Get bounding box in global RAS form (xmin,xmax, ymin,ymax, zmin,zmax). This method returns the bounds of the object with any transforms that may be applied to it.
Reimplemented from vtkMRMLDisplayableNode.
void vtkMRMLVolumeNode::GetRASToIJKMatrix | ( | vtkMatrix4x4 * | mat | ) |
void vtkMRMLVolumeNode::GetSliceBounds | ( | double | bounds[6], |
vtkMatrix4x4 * | rasToSlice, | ||
bool | useVoxelCenter = false |
||
) |
Get bounding box in slice form (xmin,xmax, ymin,ymax, zmin,zmax). If not rasToSlice is passed, then it returns the bounds in global RAS form.
|
virtual |
Spacing and Origin, with the Directions, are the independent parameters that go to make up the IJKToRAS matrix In setter methods, StorableModifiedTime may need to be updated, which cannot be achieved by using vtkGetVector3Macro.
|
virtual |
|
virtual |
|
virtual |
Associated display MRML node
|
virtual |
Get/Set how to interpret a scalar components of a voxel. VoxelVectorTypeUndefined: voxel type is not specified, scalar or independent scalar components. VoxelVectorTypeSpatialVector: 3-component spatial vector with RAS components, (sign of first two values are inverted when stored in files as LPS)/ VoxelVectorTypeColorRGB: 3-component vector stores red, green, blue values. VoxelVectorTypeColorRGBA: 4-component vector stores red, green, blue, alpha values.
|
static |
Convert between voxel type ID and name.
|
static |
|
virtual |
bool vtkMRMLVolumeNode::IsCentered | ( | ) |
Returns true if the volume center is in the origin.
|
static |
|
overrideprotectedvirtual |
Called when a node reference ID is added (list size increased).
Reimplemented from vtkMRMLDisplayableNode.
|
overrideprotectedvirtual |
Called when a node reference ID is modified.
Reimplemented from vtkMRMLDisplayableNode.
|
protected |
|
override |
|
overridevirtual |
alternative method to propagate events generated in Display nodes
Reimplemented from vtkMRMLDisplayableNode.
|
overridevirtual |
Read node attributes from XML file
Reimplemented from vtkMRMLDisplayableNode.
|
static |
|
virtual |
In the ImageData object origin must be set to (0,0,0) and spacing must be set to (1,1,1). If the variables are set to different values then the application's behavior is undefined. The reason for not using origin and spacing in vtkImageData is that vtkImageData cannot store image orientation, and so it cannot store all the information that is necessary to compute the mapping between voxel (IJK) and physical (RAS) coordinate systems. Instead of storing some information in vtkImageData and some outside, the decision was made to store all information in the MRML node (vtkMRMLVolumeNode::Origin, vtkMRMLVolumeNode::Spacing, and vtkMRMLVolumeNode::IJKToRASDirections).
Reimplemented in vtkMRMLStreamingVolumeNode.
void vtkMRMLVolumeNode::SetIJKToRASDirectionMatrix | ( | vtkMatrix4x4 * | mat | ) |
void vtkMRMLVolumeNode::SetIJKToRASDirections | ( | double | dirs[3][3] | ) |
void vtkMRMLVolumeNode::SetIJKToRASDirections | ( | double | ir, |
double | ia, | ||
double | is, | ||
double | jr, | ||
double | ja, | ||
double | js, | ||
double | kr, | ||
double | ka, | ||
double | ks | ||
) |
void vtkMRMLVolumeNode::SetIJKToRASMatrix | ( | vtkMatrix4x4 * | mat | ) |
Convenience methods to set the directions, spacing, and origin from a matrix
|
virtual |
Set and observe image data pipeline. It is propagated to the display nodes.
|
protected |
|
protected |
Set the image data pipeline to all the display nodes.
void vtkMRMLVolumeNode::SetIToRASDirection | ( | double | ir, |
double | ia, | ||
double | is | ||
) |
void vtkMRMLVolumeNode::SetJToRASDirection | ( | double | jr, |
double | ja, | ||
double | js | ||
) |
void vtkMRMLVolumeNode::SetKToRASDirection | ( | double | kr, |
double | ka, | ||
double | ks | ||
) |
void vtkMRMLVolumeNode::SetMetaDataDictionary | ( | const itk::MetaDataDictionary & | ) |
Set/Get the ITK MetaDataDictionary
|
virtual |
|
virtual |
void vtkMRMLVolumeNode::SetRASToIJKMatrix | ( | vtkMatrix4x4 * | mat | ) |
|
virtual |
|
virtual |
|
virtual |
void vtkMRMLVolumeNode::ShiftImageDataExtentToZeroStart | ( | ) |
Make sure image data of a volume node has extents that start at zero. This needs to be done for compatibility reasons, as many components assume the extent has a form of (0,dim[0],0,dim[1],0,dim[2]), which is not the case many times for segmentation merged labelmaps.
|
protectedvirtual |
Called when a display node is added/removed/modified. Propagate the polydata to the new display node.
|
overridevirtual |
Finds the storage node and read the data
Reimplemented from vtkMRMLStorableNode.
vtkMRMLVolumeNode::vtkMRMLCopyContentMacro | ( | vtkMRMLVolumeNode | ) |
Copy node content (excludes basic data, such as name and node references).
|
overridevirtual |
Write this node's information to a MRML file in XML format.
Reimplemented from vtkMRMLDisplayableNode.
|
protected |
Definition at line 296 of file vtkMRMLVolumeNode.h.
|
protected |
Definition at line 299 of file vtkMRMLVolumeNode.h.
|
protected |
these are unit length direction cosines
Definition at line 289 of file vtkMRMLVolumeNode.h.
|
protected |
Definition at line 295 of file vtkMRMLVolumeNode.h.
|
protected |
Definition at line 293 of file vtkMRMLVolumeNode.h.
|
protected |
these are mappings to mm space
Definition at line 292 of file vtkMRMLVolumeNode.h.
|
protected |
Definition at line 298 of file vtkMRMLVolumeNode.h.