|
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...
|
|
vtkMRMLNode * | CreateNodeInstance () 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...
|
|
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< CompressionPreset > | GetCompressionPresets () |
| 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 vtkMRMLStorableNode * | GetStorableNode () |
|
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 vtkURIHandler * | GetURIHandler () |
|
virtual int | GetUseCompression () |
|
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...
|
|
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 | CopyReferences (vtkMRMLNode *node) |
| Copy the references of the node into this. More...
|
|
void | CopyWithoutModifiedEvent (vtkMRMLNode *node) |
|
void | CopyWithScene (vtkMRMLNode *node) |
| Copy everything (including Scene and ID) from another node of the same type. More...
|
|
void | CopyWithSceneWithSingleModifiedEvent (vtkMRMLNode *node) |
| Copy everything (including Scene and ID) from another node of the same type. More...
|
|
void | CopyWithSingleModifiedEvent (vtkMRMLNode *node) |
|
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 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 () |
|
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 | 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...
|
|
|
void | AddPolyDataFileNames (std::string path, vtkSegmentation *segmentation) |
|
void | CreateRepresentationsBySerializedNames (vtkSegmentation *segmentation, std::string representationNames) |
| Create representations based on serialized representation names string. More...
|
|
vtkMRMLSegmentationNode * | GetAssociatedDataNode () |
| 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 |
|
void | operator= (const vtkMRMLStorageNode &) |
|
void | StageReadData (vtkMRMLNode *refNode) |
|
void | StageWriteData (vtkMRMLNode *refNode) |
|
virtual void | UpdateCompressionPresets () |
|
| vtkMRMLStorageNode () |
|
| vtkMRMLStorageNode (const vtkMRMLStorageNode &) |
|
| ~vtkMRMLStorageNode () 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...
|
|
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::map< std::string, 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...
|
|
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.
Common custom fields:
- Segmentation_ContainedRepresentationNames: names of segmentation representations (separated by | character) that should be displayed. Common representation names includ "Binary labelmap", "Closed surface", "Planar contours", "Fractional labelmap"
- Segmentation_ConversionParameters: parameters for algorithms that compute requested representations. Each parameter definition is separated by & character. A parameter definition consists of parameter name, value, and description text, separated by | character.
- Segmentation_MasterRepresentation: defines what representation is stored in the file. It is most commonly "Binary labelmap", but there are other representations, too, which are stored in an image volume - such as "Fractional labelmap".
- Segmentation_ReferenceImageExtentOffset: This field allows storing an image with arbitrary extent in a NRRD file. NRRD file only stores size of the volume. This field stores voxel coordinates (separated by spaces), therefore the extent can be computed as (ReferenceImageExtentOffsetI, ReferenceImageExtentOffsetI+sizeI-1, ReferenceImageExtentOffsetJ, ReferenceImageExtentOffsetJ+sizeJ-1, ReferenceImageExtentOffsetK, ReferenceImageExtentOffsetk+sizeK-1).
Custom fields for N-th segment (N is between 0 and size of the first axis - 1):
- SegmentN_ID: identifier of the segment, it is unique within the segmentation. Can be used for unanmiguously refer to a segment even if the segment's dispay name is changed.
- SegmentN_Name: displayable name of the segment.
- SegmentN_NameAutoGenerated: if value is 0 then it means that SegmentN_Name was chosen manually by the user, if value is 1 then it means that the segment's name is generated automatically (for example, determined from terminology).
- SegmentN_Color: recommended segment display color, defined with red, green, blue values (between 0.0-1.0) separated by space character
- SegmentN_ColorAutoGenerated: if value is 0 then it means that SegmentN_Color was chosen manually by the user, if value is 1 then it means that the segment's color is generated automatically (for example, color defined based on terminology).
- SegmentN_Extent: 6 space-separated values (minI, maxI, minJ, maxJ, minZ, maxZ) defining extent of non-empty region within the segment.
- SegmentN_Tags: List of key:value pairs for storing additional information about the segmen. Key:value pair is separated by a : character, pairs are separated from each other by | character.
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 ~SRT^M-01000^Morphologically Altered Structure ~SRT^M-03000^Mass ~^^ ~Anatomic codes - DICOM master list ~SRT^T-B3000^Adrenal gland ~SRT^G-A100^Right"
Interpretation:
- terminology context name: Segmentation category and type - 3D Slicer General Anatomy list
- category: codingScheme=SRT, codeValue=M-01000, codeMeaning=Morphologically Altered Structure
- type: codingScheme=SRT, codeValue=M-03000, codeMeaning=Mass
- type modifier: not specified
- anatomic context name: Anatomic codes - DICOM master list
- anatomic region: codingScheme=SRT, codeValue=T-B3000, codeMeaning=Adrenal gland
- anatomic region modifier: codingScheme=SRT, codeValue=^G-A100, codeMeaning=Right
Definition at line 125 of file vtkMRMLSegmentationStorageNode.h.