Slicer  4.11
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes
vtkMRMLSegmentationStorageNode Class Reference

MRML node for segmentation storage on disk. More...

#include <Libs/MRML/Core/vtkMRMLSegmentationStorageNode.h>

Inheritance diagram for vtkMRMLSegmentationStorageNode:
Inheritance graph
[legend]
Collaboration diagram for vtkMRMLSegmentationStorageNode:
Collaboration graph
[legend]

Public Types

typedef vtkMRMLStorageNode Superclass
 
- Public Types inherited from vtkMRMLStorageNode
enum  {
  Idle, Pending, Scheduled, Transferring,
  TransferDone, Cancelled, SkippedNoData
}
 
enum  {
  CoordinateSystemRAS = 0, RAS = 0, CoordinateSystemLPS = 1, LPS = 1,
  CoordinateSystemType_Last
}
 
typedef vtkMRMLNode Superclass
 
- Public Types inherited from vtkMRMLNode
enum  {
  HierarchyModifiedEvent = 16000, IDChangedEvent = 16001, ReferenceAddedEvent, ReferenceModifiedEvent,
  ReferenceRemovedEvent, ReferencedNodeModifiedEvent
}
 
typedef vtkObject Superclass
 

Public Member Functions

bool CanReadInReferenceNode (vtkMRMLNode *refNode) override
 Return true if the reference node can be read in. More...
 
void Copy (vtkMRMLNode *node) override
 Copy the node's attributes to this object. More...
 
vtkMRMLNodeCreateNodeInstance () override
 Create instance of the default node. Like New only virtual. More...
 
virtual void CropToMinimumExtentOff ()
 
virtual void CropToMinimumExtentOn ()
 
virtual const char * GetClassName ()
 
virtual bool GetCropToMinimumExtent ()
 
const char * GetDefaultWriteFileExtension () override
 
const char * GetNodeTagName () override
 Get node XML tag name (like Storage, Model) More...
 
virtual int IsA (const char *type)
 
void PrintSelf (ostream &os, vtkIndent indent) override
 
void ReadXMLAttributes (const char **atts) override
 Read node attributes from XML file. More...
 
void ResetSupportedWriteFileTypes ()
 Reset supported write file types. Called when master representation is changed. More...
 
virtual void SetCropToMinimumExtent (bool)
 
void WriteXML (ostream &of, int indent) override
 Write this node's information to a MRML file in XML format. More...
 
- Public Member Functions inherited from vtkMRMLStorageNode
unsigned int AddFileName (const char *fileName)
 
Add in another file name to the list of file names More...
 
unsigned int AddURI (const char *uri)
 
Add in another URI to the list of URI's More...
 
virtual bool CanWriteFromReferenceNode (vtkMRMLNode *refNode)
 
virtual void ConfigureForDataExchange ()
 
void Copy (vtkMRMLNode *node) override
 
Copy the node's attributes to this object More...
 
int FileNameIsInList (const char *fileName)
 
const char * GetAbsoluteFilePath (const char *inputPath)
 
virtual std::string GetCompressionParameter ()
 
virtual std::string GetCompressionParameterFromDisplayName (const std::string &name)
 Returns a string representing the specified preset. More...
 
virtual std::vector< std::string > GetCompressionPresetDisplayNames ()
 Returns a list of displayable names of the supported compression presets. More...
 
virtual const std::vector< CompressionPresetGetCompressionPresets ()
 Get a list of all supported compression presets. More...
 
virtual std::string GetDisplayNameFromCompressionParameter (const std::string &preset)
 Returns the name of the specified preset. More...
 
virtual void GetFileExtensionsFromFileTypes (vtkStringArray *inputFileTypes, vtkStringArray *outputFileExtensions)
 
virtual char * GetFileName ()
 
std::string GetFileNameWithoutExtension (const char *fileName=nullptr)
 
std::string GetFullNameFromFileName ()
 
std::string GetFullNameFromNthFileName (int n)
 
const char * GetNthFileName (int n) const
 
return the nth file name, null if doesn't exist More...
 
const char * GetNthURI (int n)
 
Get the nth URI from the list of URI's More...
 
virtual int GetNumberOfCompressionPresets ()
 Get the number of compression presets. More...
 
int GetNumberOfFileNames () const
 
See how many file names were generated during ExecuteInformation More...
 
int GetNumberOfURIs ()
 
Return how many uri names this storage node holds in it's list More...
 
virtual int GetReadState ()
 Get/Set the state of reading. More...
 
const char * GetReadStateAsString ()
 
const char * GetStateAsString (int state)
 
virtual vtkMRMLStorableNodeGetStorableNode ()
 
vtkTimeStamp GetStoredTime ()
 
virtual std::string GetSupportedFileExtension (const char *fileName=nullptr, bool includeReadable=true, bool includeWriteable=true)
 
virtual vtkStringArray * GetSupportedReadFileTypes ()
 
virtual vtkStringArray * GetSupportedWriteFileTypes ()
 
virtual char * GetTempFileName ()
 
virtual char * GetURI ()
 
virtual vtkURIHandlerGetURIHandler ()
 
virtual int GetUseCompression ()
 
const vtkMRMLMessageCollectionGetUserMessages () const
 
vtkMRMLMessageCollectionGetUserMessages ()
 
virtual char * GetWriteFileFormat ()
 
virtual int GetWriteState ()
 
Get/Set the state of writing More...
 
const char * GetWriteStateAsString ()
 
void InvalidateFile ()
 
int IsFilePathRelative (const char *filepath)
 
void PrintSelf (ostream &os, vtkIndent indent) override
 
void ProcessMRMLEvents (vtkObject *caller, unsigned long event, void *callData) override
 
Propagate Progress Event generated in ReadData More...
 
virtual int ReadData (vtkMRMLNode *refNode, bool temporaryFile=false)
 
void ReadXMLAttributes (const char **atts) override
 
Read node attributes from XML file More...
 
void ResetFileNameList ()
 
Clear the array of file names More...
 
void ResetNthFileName (int n, const char *fileName)
 
Set the nth file in FileNameList, checks that it is already defined More...
 
void ResetNthURI (int n, const char *uri)
 
Set the nth uri in URIList, checks that it is already defined More...
 
void ResetURIList ()
 
Clear the array of URIs More...
 
virtual void SetCompressionParameter (std::string)
 Compression parameter that is used to save the node. More...
 
void SetDataDirectory (const char *dataDirName)
 
Set a new data directory for all files More...
 
virtual void SetDefaultWriteFileExtension (const char *ext)
 
virtual void SetFileName (const char *)
 
virtual void SetReadState (int)
 
void SetReadStateCancelled ()
 
void SetReadStateIdle ()
 
void SetReadStatePending ()
 
void SetReadStateScheduled ()
 
void SetReadStateSkippedNoData ()
 
void SetReadStateTransferDone ()
 
void SetReadStateTransferring ()
 
virtual void SetTempFileName (const char *)
 
A temporary file name used to calculate absolute paths More...
 
virtual void SetURI (const char *)
 
Location of the remote copy of this file. More...
 
virtual void SetURIHandler (vtkURIHandler *uriHandler)
 
void SetURIPrefix (const char *uriPrefix)
 
Set a new URI base for all URI's More...
 
virtual void SetUseCompression (int)
 
virtual void SetWriteFileFormat (const char *)
 
Allow to set specific file format that this node will write output. More...
 
virtual void SetWriteState (int)
 
void SetWriteStateCancelled ()
 
void SetWriteStateIdle ()
 
void SetWriteStatePending ()
 
void SetWriteStateScheduled ()
 
void SetWriteStateSkippedNoData ()
 
void SetWriteStateTransferDone ()
 
void SetWriteStateTransferring ()
 
virtual int SupportedFileType (const char *fileName)
 
virtual void UseCompressionOff ()
 
virtual void UseCompressionOn ()
 
Use compression on write More...
 
virtual int WriteData (vtkMRMLNode *refNode)
 
void WriteXML (ostream &of, int indent) override
 
Write this node's information to a MRML file in XML format. More...
 
- Public Member Functions inherited from vtkMRMLNode
vtkMRMLNodeAddAndObserveNodeReferenceID (const char *referenceRole, const char *referencedNodeID, vtkIntArray *events=nullptr)
 Add and observe a reference node from this node for a specific referenceRole. More...
 
vtkMRMLNodeAddNodeReferenceID (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 ()
 
vtkMRMLNodeGetNodeReference (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...
 
vtkMRMLNodeGetNthNodeReference (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 vtkMRMLSceneGetScene ()
 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)
 
vtkMRMLNodeSetAndObserveNodeReferenceID (const char *referenceRole, const char *referencedNodeID, vtkIntArray *events=nullptr)
 Set and observe a reference node from this node for a specific referenceRole. More...
 
vtkMRMLNodeSetAndObserveNthNodeReferenceID (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...
 
vtkMRMLNodeSetNodeReferenceID (const char *referenceRole, const char *referencedNodeID)
 Set a reference to a node with specified nodeID from this node for a specific referenceRole. More...
 
vtkMRMLNodeSetNthNodeReferenceID (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 SetSelectable (int)
 
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...
 
virtual void UpdateScene (vtkMRMLScene *)
 
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 int IsTypeOf (const char *type)
 
static vtkMRMLSegmentationStorageNodeNew ()
 
static vtkMRMLSegmentationStorageNodeSafeDownCast (vtkObject *o)
 
- Static Public Member Functions inherited from vtkMRMLStorageNode
static const char * GetCoordinateSystemTypeAsString (int id)
 
Convert between coordinate system ID and name More...
 
static int GetCoordinateSystemTypeFromString (const char *name)
 
static std::string GetLowercaseExtensionFromFileName (const std::string &filename)
 
static int IsTypeOf (const char *type)
 
static vtkMRMLStorageNodeSafeDownCast (vtkObject *o)
 
- Static Public Member Functions inherited from vtkMRMLNode
static int IsTypeOf (const char *type)
 
static vtkMRMLNodeSafeDownCast (vtkObject *o)
 

Protected Member Functions

void AddPolyDataFileNames (std::string path, vtkSegmentation *segmentation)
 
void CreateRepresentationsBySerializedNames (vtkSegmentation *segmentation, std::string representationNames)
 Create representations based on serialized representation names string. More...
 
vtkMRMLSegmentationNodeGetAssociatedDataNode ()
 Get data node that is associated with this storage node. More...
 
void InitializeSupportedReadFileTypes () override
 Initialize all the supported read file types. More...
 
void InitializeSupportedWriteFileTypes () override
 Initialize all the supported write file types. More...
 
virtual int ReadBinaryLabelmapRepresentation (vtkMRMLSegmentationNode *segmentationNode, std::string path)
 Read binary labelmap representation from nrrd file (3D spatial + list) More...
 
virtual int ReadBinaryLabelmapRepresentation4DSpatial (vtkMRMLSegmentationNode *segmentationNode, std::string path)
 Read binary labelmap representation from 4D spatial nrrd file - obsolete. More...
 
int ReadDataInternal (vtkMRMLNode *refNode) override
 Read data and set it in the referenced node. More...
 
virtual int ReadPolyDataRepresentation (vtkMRMLSegmentationNode *segmentationNode, std::string path)
 Read a poly data representation to file. More...
 
std::string SerializeContainedRepresentationNames (vtkSegmentation *segmentation)
 Serialize contained representation names in a string. More...
 
 vtkMRMLSegmentationStorageNode ()
 
virtual int WriteBinaryLabelmapRepresentation (vtkMRMLSegmentationNode *segmentationNode, std::string path)
 Write binary labelmap representation to file. More...
 
int WriteDataInternal (vtkMRMLNode *refNode) override
 Write data from a referenced node. More...
 
virtual int WritePolyDataRepresentation (vtkMRMLSegmentationNode *segmentationNode, std::string path)
 Write a poly data representation to file. More...
 
 ~vtkMRMLSegmentationStorageNode () override
 
- Protected Member Functions inherited from vtkMRMLStorageNode
void operator= (const vtkMRMLStorageNode &)
 
void StageReadData (vtkMRMLNode *refNode)
 
void StageWriteData (vtkMRMLNode *refNode)
 
virtual void UpdateCompressionPresets ()
 
 vtkMRMLStorageNode ()
 
 vtkMRMLStorageNode (const vtkMRMLStorageNode &)
 
 ~vtkMRMLStorageNode () override
 
- Protected Member Functions inherited from vtkMRMLNode
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...
 
virtual void OnNodeReferenceAdded (vtkMRMLNodeReference *reference)
 
virtual void OnNodeReferenceModified (vtkMRMLNodeReference *reference)
 Called when a referenced node pointer is modified. More...
 
virtual void OnNodeReferenceRemoved (vtkMRMLNodeReference *reference)
 Called when a referenced node pointer is removed (set to nullptr). 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...
 
vtkMRMLNodeUpdateNodeReferenceEventObserver (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...
 

Static Protected Member Functions

static std::string GetImageExtentAsString (vtkOrientedImageData *image)
 
static std::string GetImageExtentAsString (int extent[6])
 
static void GetImageExtentFromString (int extent[6], std::string extentValue)
 
static bool GetSegmentationMetaDataFromDicitionary (std::string &headerValue, itk::MetaDataDictionary dictionary, std::string keyName)
 Get the metadata string for the segmentation key from the dictionary. More...
 
static std::string GetSegmentationMetaDataKey (const std::string &keyName)
 
static std::string GetSegmentColorAsString (vtkMRMLSegmentationNode *segmentationNode, const std::string &segmentId)
 
static void GetSegmentColorFromString (double color[3], std::string colorString)
 
static bool GetSegmentMetaDataFromDicitionary (std::string &headerValue, itk::MetaDataDictionary dictionary, int segmentIndex, std::string keyName)
 Get the metadata string for the segment and key from the dictionary. More...
 
static std::string GetSegmentMetaDataKey (int segmentIndex, const std::string &keyName)
 
static std::string GetSegmentTagsAsString (vtkSegment *segment)
 
static void SetSegmentTagsFromString (vtkSegment *segment, std::string tagsValue)
 
- Static Protected Member Functions inherited from vtkMRMLNode
static void MRMLCallback (vtkObject *caller, unsigned long eid, void *clientData, void *callData)
 

Protected Attributes

bool CropToMinimumExtent {false}
 
- Protected Attributes inherited from vtkMRMLStorageNode
std::string CompressionParameter
 
std::vector< CompressionPresetCompressionPresets
 
std::string DefaultWriteFileExtension
 List of supported extensions to write in. More...
 
char * FileName
 
std::vector< std::string > FileNameList
 
An array of file names, should contain the FileName but may not More...
 
vtkWeakPointer< vtkMRMLStorableNodeLastFoundStorableNode
 
int ReadState
 
vtkTimeStamp * StoredTime
 
vtkStringArray * SupportedReadFileTypes
 List of supported extensions to read in. More...
 
vtkStringArray * SupportedWriteFileTypes
 
char * TempFileName
 
char * URI
 
vtkURIHandlerURIHandler
 
std::vector< std::string > URIList
 
An array of URI's, should contain the URI but may not More...
 
int UseCompression
 
vtkMRMLMessageCollectionUserMessages
 
char * WriteFileFormat
 
int WriteState
 
- Protected Attributes inherited from vtkMRMLNode
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...
 
vtkObserverManagerMRMLObserverManager
 
char * Name {nullptr}
 
NodeReferenceEventsType NodeReferenceEvents
 
std::map< std::string, std::string > NodeReferenceMRMLAttributeNames
 
NodeReferencesType NodeReferences
 
int SaveWithScene {true}
 
vtkWeakPointer< vtkMRMLSceneScene
 
int Selectable {1}
 
int Selected {0}
 
bool UndoEnabled {false}
 

Additional Inherited Members

- Protected Types inherited from vtkMRMLNode
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, NodeReferenceListTypeNodeReferencesType
 

Detailed Description

MRML node for segmentation storage on disk.

Storage nodes has methods to read/write segmentations to/from disk.

Only the master representation of the segmentation is stored on disk. If master representation is labelmap then it is stored as a 4D image volume (.seg.nrrd file). If master representation is polygonal mesh, such as closed surface, then the segmentation is stored as a VTK multiblock data set (.vtm file accompanied by a number of .vtk polydata files).

Specification of .seg.nrrd file:

Segmentation is stored in a standard 4D NRRD image file (one "list" dimension and 3 spatial dimensions). Some additional metadata is stored in custom data fields (starting with Segmentation_ and SegmentN_ prefix), which provide hints on how the segments should be displayed or what they contain. Each 3D volume is a "layer" in the image can contain many non-overlapping segments. If no segments within the segmentation overlap, then the segmentation will be saved as a 3D volume. Upon saving, segments are automatically collapsed to as few layers as possible.

Common custom fields:

Custom fields for N-th segment (N is between 0 and size of the first axis - 1):

A frequently used key is "TerminologyEntry", which defines what the segment contains using DICOM compliant terminology. Value stores 7 parts: terminology context name, category, type, type modifier, anatomic context name, anatomic region, and anatomic region modifier. Parts are separated from each other by ~ character. Five of these parts - category, type, type modifier, anatomic region, and anatomic region modifier are defined by a triplet of (coding scheme designator, code value, and code meaning). Components of the triplet are separated by ^ character.

Example: a mass in the right side of the adrenal gland would be encoded with the tag:

"TerminologyEntry: Segmentation category and type - 3D Slicer General Anatomy list ~SCT^49755003^Morphologically Altered Structure ~SCT^4147007^Mass ~^^ ~Anatomic codes - DICOM master list ~SCT^23451007^Adrenal gland ~SCT^24028007^Right"

Interpretation:

Definition at line 132 of file vtkMRMLSegmentationStorageNode.h.

Member Typedef Documentation

◆ Superclass

Definition at line 144 of file vtkMRMLSegmentationStorageNode.h.

Constructor & Destructor Documentation

◆ vtkMRMLSegmentationStorageNode()

vtkMRMLSegmentationStorageNode::vtkMRMLSegmentationStorageNode ( )
protected

◆ ~vtkMRMLSegmentationStorageNode()

vtkMRMLSegmentationStorageNode::~vtkMRMLSegmentationStorageNode ( )
overrideprotected

Member Function Documentation

◆ AddPolyDataFileNames()

void vtkMRMLSegmentationStorageNode::AddPolyDataFileNames ( std::string  path,
vtkSegmentation segmentation 
)
protected

Add all files corresponding to poly data representation to the storage node (multiblock dataset writes segments to individual files in a separate folder)

◆ CanReadInReferenceNode()

bool vtkMRMLSegmentationStorageNode::CanReadInReferenceNode ( vtkMRMLNode refNode)
overridevirtual

Return true if the reference node can be read in.

Implements vtkMRMLStorageNode.

◆ Copy()

void vtkMRMLSegmentationStorageNode::Copy ( vtkMRMLNode node)
overridevirtual

Copy the node's attributes to this object.

Reimplemented from vtkMRMLNode.

◆ CreateNodeInstance()

vtkMRMLNode* vtkMRMLSegmentationStorageNode::CreateNodeInstance ( )
overridevirtual

Create instance of the default node. Like New only virtual.

Note
Subclasses should implement this method

Implements vtkMRMLStorageNode.

◆ CreateRepresentationsBySerializedNames()

void vtkMRMLSegmentationStorageNode::CreateRepresentationsBySerializedNames ( vtkSegmentation segmentation,
std::string  representationNames 
)
protected

Create representations based on serialized representation names string.

◆ CropToMinimumExtentOff()

virtual void vtkMRMLSegmentationStorageNode::CropToMinimumExtentOff ( )
virtual

◆ CropToMinimumExtentOn()

virtual void vtkMRMLSegmentationStorageNode::CropToMinimumExtentOn ( )
virtual

◆ GetAssociatedDataNode()

vtkMRMLSegmentationNode* vtkMRMLSegmentationStorageNode::GetAssociatedDataNode ( )
protected

Get data node that is associated with this storage node.

◆ GetClassName()

virtual const char* vtkMRMLSegmentationStorageNode::GetClassName ( )
virtual

Reimplemented from vtkMRMLStorageNode.

◆ GetCropToMinimumExtent()

virtual bool vtkMRMLSegmentationStorageNode::GetCropToMinimumExtent ( )
virtual

◆ GetDefaultWriteFileExtension()

const char* vtkMRMLSegmentationStorageNode::GetDefaultWriteFileExtension ( )
overridevirtual

Return a default file extension for writing File write extension is determined dynamically from master representation type.

Reimplemented from vtkMRMLStorageNode.

◆ GetImageExtentAsString() [1/2]

static std::string vtkMRMLSegmentationStorageNode::GetImageExtentAsString ( vtkOrientedImageData image)
staticprotected

◆ GetImageExtentAsString() [2/2]

static std::string vtkMRMLSegmentationStorageNode::GetImageExtentAsString ( int  extent[6])
staticprotected

◆ GetImageExtentFromString()

static void vtkMRMLSegmentationStorageNode::GetImageExtentFromString ( int  extent[6],
std::string  extentValue 
)
staticprotected

◆ GetNodeTagName()

const char* vtkMRMLSegmentationStorageNode::GetNodeTagName ( )
inlineoverridevirtual

Get node XML tag name (like Storage, Model)

Implements vtkMRMLStorageNode.

Definition at line 159 of file vtkMRMLSegmentationStorageNode.h.

◆ GetSegmentationMetaDataFromDicitionary()

static bool vtkMRMLSegmentationStorageNode::GetSegmentationMetaDataFromDicitionary ( std::string &  headerValue,
itk::MetaDataDictionary  dictionary,
std::string  keyName 
)
staticprotected

Get the metadata string for the segmentation key from the dictionary.

◆ GetSegmentationMetaDataKey()

static std::string vtkMRMLSegmentationStorageNode::GetSegmentationMetaDataKey ( const std::string &  keyName)
staticprotected

◆ GetSegmentColorAsString()

static std::string vtkMRMLSegmentationStorageNode::GetSegmentColorAsString ( vtkMRMLSegmentationNode segmentationNode,
const std::string &  segmentId 
)
staticprotected

◆ GetSegmentColorFromString()

static void vtkMRMLSegmentationStorageNode::GetSegmentColorFromString ( double  color[3],
std::string  colorString 
)
staticprotected

◆ GetSegmentMetaDataFromDicitionary()

static bool vtkMRMLSegmentationStorageNode::GetSegmentMetaDataFromDicitionary ( std::string &  headerValue,
itk::MetaDataDictionary  dictionary,
int  segmentIndex,
std::string  keyName 
)
staticprotected

Get the metadata string for the segment and key from the dictionary.

◆ GetSegmentMetaDataKey()

static std::string vtkMRMLSegmentationStorageNode::GetSegmentMetaDataKey ( int  segmentIndex,
const std::string &  keyName 
)
staticprotected

◆ GetSegmentTagsAsString()

static std::string vtkMRMLSegmentationStorageNode::GetSegmentTagsAsString ( vtkSegment segment)
staticprotected

◆ InitializeSupportedReadFileTypes()

void vtkMRMLSegmentationStorageNode::InitializeSupportedReadFileTypes ( )
overrideprotectedvirtual

Initialize all the supported read file types.

Reimplemented from vtkMRMLStorageNode.

◆ InitializeSupportedWriteFileTypes()

void vtkMRMLSegmentationStorageNode::InitializeSupportedWriteFileTypes ( )
overrideprotectedvirtual

Initialize all the supported write file types.

Reimplemented from vtkMRMLStorageNode.

◆ IsA()

virtual int vtkMRMLSegmentationStorageNode::IsA ( const char *  type)
virtual

Reimplemented from vtkMRMLStorageNode.

◆ IsTypeOf()

static int vtkMRMLSegmentationStorageNode::IsTypeOf ( const char *  type)
static

◆ New()

static vtkMRMLSegmentationStorageNode* vtkMRMLSegmentationStorageNode::New ( )
static

◆ PrintSelf()

void vtkMRMLSegmentationStorageNode::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
override

◆ ReadBinaryLabelmapRepresentation()

virtual int vtkMRMLSegmentationStorageNode::ReadBinaryLabelmapRepresentation ( vtkMRMLSegmentationNode segmentationNode,
std::string  path 
)
protectedvirtual

Read binary labelmap representation from nrrd file (3D spatial + list)

◆ ReadBinaryLabelmapRepresentation4DSpatial()

virtual int vtkMRMLSegmentationStorageNode::ReadBinaryLabelmapRepresentation4DSpatial ( vtkMRMLSegmentationNode segmentationNode,
std::string  path 
)
protectedvirtual

Read binary labelmap representation from 4D spatial nrrd file - obsolete.

◆ ReadDataInternal()

int vtkMRMLSegmentationStorageNode::ReadDataInternal ( vtkMRMLNode refNode)
overrideprotectedvirtual

Read data and set it in the referenced node.

Reimplemented from vtkMRMLStorageNode.

◆ ReadPolyDataRepresentation()

virtual int vtkMRMLSegmentationStorageNode::ReadPolyDataRepresentation ( vtkMRMLSegmentationNode segmentationNode,
std::string  path 
)
protectedvirtual

Read a poly data representation to file.

◆ ReadXMLAttributes()

void vtkMRMLSegmentationStorageNode::ReadXMLAttributes ( const char **  atts)
overridevirtual

Read node attributes from XML file.

Reimplemented from vtkMRMLNode.

◆ ResetSupportedWriteFileTypes()

void vtkMRMLSegmentationStorageNode::ResetSupportedWriteFileTypes ( )

Reset supported write file types. Called when master representation is changed.

◆ SafeDownCast()

static vtkMRMLSegmentationStorageNode* vtkMRMLSegmentationStorageNode::SafeDownCast ( vtkObject *  o)
static

◆ SerializeContainedRepresentationNames()

std::string vtkMRMLSegmentationStorageNode::SerializeContainedRepresentationNames ( vtkSegmentation segmentation)
protected

Serialize contained representation names in a string.

◆ SetCropToMinimumExtent()

virtual void vtkMRMLSegmentationStorageNode::SetCropToMinimumExtent ( bool  )
virtual

Controls if segmentation labelmap representation is written using minimum necessary extent or the extent of reference image. If false (default): the segmentation will be saved using the same extent as the reference image. If true: the segmentation will be saved using the effective extent. This saves space (especially when saving the segmentation uncompressed), but makes voxel coordinates of the segmentation different from voxel coordinates of the reference image, which may cause problems in software that assume voxel coordinate system of the reference image is the same as the segmentation's.

◆ SetSegmentTagsFromString()

static void vtkMRMLSegmentationStorageNode::SetSegmentTagsFromString ( vtkSegment segment,
std::string  tagsValue 
)
staticprotected

◆ WriteBinaryLabelmapRepresentation()

virtual int vtkMRMLSegmentationStorageNode::WriteBinaryLabelmapRepresentation ( vtkMRMLSegmentationNode segmentationNode,
std::string  path 
)
protectedvirtual

Write binary labelmap representation to file.

◆ WriteDataInternal()

int vtkMRMLSegmentationStorageNode::WriteDataInternal ( vtkMRMLNode refNode)
overrideprotectedvirtual

Write data from a referenced node.

Reimplemented from vtkMRMLStorageNode.

◆ WritePolyDataRepresentation()

virtual int vtkMRMLSegmentationStorageNode::WritePolyDataRepresentation ( vtkMRMLSegmentationNode segmentationNode,
std::string  path 
)
protectedvirtual

Write a poly data representation to file.

◆ WriteXML()

void vtkMRMLSegmentationStorageNode::WriteXML ( ostream &  of,
int  indent 
)
overridevirtual

Write this node's information to a MRML file in XML format.

Reimplemented from vtkMRMLNode.

Member Data Documentation

◆ CropToMinimumExtent

bool vtkMRMLSegmentationStorageNode::CropToMinimumExtent {false}
protected

Definition at line 247 of file vtkMRMLSegmentationStorageNode.h.


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