![]() |
Slicer
5.0
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
|
MRML node containing segmentationsSegmentation node stores a set of segments (also known as contours or segmented regions). Segments may overlap and may be stored in various representations (binary labelmap image, closed surface mesh, fractional labelmap image, etc). Segments can be stored in multiple data representations to facilitate visualization and processing. More...
#include <Libs/MRML/Core/vtkMRMLSegmentationNode.h>
Public Types | |
enum | { EditAllowedEverywhere = 0, EditAllowedInsideAllSegments, EditAllowedInsideVisibleSegments, EditAllowedOutsideAllSegments, EditAllowedOutsideVisibleSegments, EditAllowedInsideSingleSegment, EditAllowed_Last } |
enum | { ReferenceImageGeometryChangedEvent = 23000, SegmentationChangedEvent } |
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 | |
std::string | AddSegmentFromBinaryLabelmapRepresentation (vtkOrientedImageData *imageData, std::string segmentName="", double color[3]=nullptr, std::string segmentId="") |
virtual std::string | AddSegmentFromClosedSurfaceRepresentation (vtkPolyData *polyData, std::string segmentName="", double color[3]=nullptr, std::string segmentId="") |
void | ApplyTransform (vtkAbstractTransform *transform) override |
void | ApplyTransformMatrix (vtkMatrix4x4 *transformMatrix) override |
bool | CanApplyNonLinearTransforms () const override |
virtual bool | CreateBinaryLabelmapRepresentation () |
Generate binary labelmap representation for all segments. More... | |
virtual bool | CreateClosedSurfaceRepresentation () |
void | CreateDefaultDisplayNodes () override |
Create and observe a segmentation display node. More... | |
vtkMRMLStorageNode * | CreateDefaultStorageNode () override |
Create a segmentation storage node. More... | |
vtkMRMLNode * | CreateNodeInstance () override |
Create instance of a GAD node. More... | |
virtual bool | GenerateEditMask (vtkOrientedImageData *maskImage, int editMode, vtkOrientedImageData *referenceGeometry, std::string editedSegmentID="", std::string maskSegmentID="", vtkOrientedImageData *masterVolume=nullptr, double editableIntensityRange[2]=nullptr, vtkMRMLSegmentationDisplayNode *displayNode=nullptr) |
virtual bool | GenerateMergedLabelmap (vtkOrientedImageData *mergedImageData, int extentComputationMode, vtkOrientedImageData *mergedLabelmapGeometry=nullptr, const std::vector< std::string > &segmentIDs=std::vector< std::string >(), vtkIntArray *labelValues=nullptr) |
virtual bool | GenerateMergedLabelmapForAllSegments (vtkOrientedImageData *mergedImageData, int extentComputationMode=vtkSegmentation::EXTENT_UNION_OF_EFFECTIVE_SEGMENTS, vtkOrientedImageData *mergedLabelmapGeometry=nullptr, vtkStringArray *segmentIDs=nullptr, vtkIntArray *labelValues=nullptr) |
virtual vtkOrientedImageData * | GetBinaryLabelmapInternalRepresentation (const std::string segmentId) |
virtual bool | GetBinaryLabelmapRepresentation (const std::string segmentId, vtkOrientedImageData *outputBinaryLabelmap) |
void | GetBounds (double bounds[6]) override |
virtual const char * | GetClassName () |
virtual vtkPolyData * | GetClosedSurfaceInternalRepresentation (const std::string segmentId) |
virtual bool | GetClosedSurfaceRepresentation (const std::string segmentId, vtkPolyData *outputClosedSurface) |
vtkMRMLColorTableNode * | GetLabelmapConversionColorTableNode () |
const char * | GetNodeTagName () override |
Get unique node XML tag name (like Volume, Model) More... | |
void | GetRASBounds (double bounds[6]) override |
virtual vtkSegmentation * | GetSegmentation () |
Get segmentation object. More... | |
double * | GetSegmentCenter (const std::string &segmentID) VTK_SIZEHINT(3) |
Get position of the segment's center (in the segmentation node's coordinate system) More... | |
void | GetSegmentCenter (const std::string &segmentID, double center[3]) |
double * | GetSegmentCenterRAS (const std::string &segmentID) VTK_SIZEHINT(3) |
void | GetSegmentCenterRAS (const std::string &segmentID, double centerRAS[3]) |
virtual bool | GetSegmentListFilterEnabled () |
virtual std::string | GetSegmentListFilterOptions () |
virtual vtkIdType | GetSegmentSubjectHierarchyItem (std::string segmentID, vtkMRMLSubjectHierarchyNode *shNode) |
virtual int | IsA (const char *type) |
virtual void | OnSubjectHierarchyUIDAdded (vtkMRMLSubjectHierarchyNode *shNode, vtkIdType itemWithNewUID) |
void | PrintSelf (ostream &os, vtkIndent indent) override |
void | ReadXMLAttributes (const char **atts) override |
Set node attributes from name/value pairs. More... | |
virtual void | RemoveBinaryLabelmapRepresentation () |
Remove binary labelmap representation for all segments. More... | |
virtual void | RemoveClosedSurfaceRepresentation () |
Remove closed surface representation for all segments. More... | |
void | RemoveSegment (const std::string &segmentID) |
Delete segment from segmentation. More... | |
virtual void | SegmentListFilterEnabledOff () |
virtual void | SegmentListFilterEnabledOn () |
void | SetAndObserveSegmentation (vtkSegmentation *segmentation) |
Set and observe segmentation object. More... | |
void | SetLabelmapConversionColorTableNodeID (const char *labelmapConversionColorTableNodeID) |
virtual bool | SetMasterRepresentationToBinaryLabelmap () |
virtual bool | SetMasterRepresentationToClosedSurface () |
virtual void | SetReferenceImageGeometryParameterFromVolumeNode (vtkMRMLScalarVolumeNode *volumeNode) |
Set reference image geometry conversion parameter from the volume node, keeping reference. More... | |
virtual void | SetSegmentListFilterEnabled (bool) |
Indicates whether or not the segment filter is visible in the segments view. More... | |
virtual void | SetSegmentListFilterOptions (std::string) |
Contains a serialized representation of the filtering options used by the segments view. More... | |
vtkMRMLCopyContentMacro (vtkMRMLSegmentationNode) | |
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 | CreateDefaultSequenceDisplayNodes () |
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 | ProcessMRMLEvents (vtkObject *, unsigned long, void *) override |
alternative method to propagate events generated in Display nodes More... | |
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)=vtkMRMLStorageNode::CoordinateSystemRAS, 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 |
void | ProcessMRMLEvents (vtkObject *, unsigned long, void *) override |
alternative method to propagate events generated in Transform nodes More... | |
void | ReadXMLAttributes (const char **atts) override |
Read node attributes from XML file More... | |
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 | WriteXML (ostream &of, int indent) override |
Write this node's information to a MRML file in XML format. More... | |
![]() | |
void | AddAndObserveStorageNodeID (const char *storageNodeID) |
virtual bool | AddDefaultStorageNode (const char *filename=nullptr) |
void | Copy (vtkMRMLNode *node) override |
Copy node contents from another node of the same type. Reimplemented to copy default sequence storage node class. More... | |
virtual vtkMRMLStorageNode * | CreateDefaultSequenceStorageNode () |
virtual std::string | GetDefaultSequenceStorageNodeClassName () |
virtual std::string | GetDefaultStorageNodeClassName (const char *filename=nullptr) |
virtual bool | GetModifiedSinceRead () |
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... | |
virtual void | SetDefaultSequenceStorageNodeClassName (std::string) |
void | SetSlicerDataType (const char *type) |
virtual void | StorableModified () |
void | UpdateScene (vtkMRMLScene *scene) override |
Finds the storage node and read the data More... | |
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 () |
int | GetCustomModifiedEventPending (int eventId) |
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 const char * | GetTypeDisplayName () |
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 std::string | GetReferenceImageGeometryReferenceRole () |
Expose reference identifier to get the volume node defining the reference image geometry if any. More... | |
static const char * | GetSegmentIDAttributeName () |
static int | IsTypeOf (const char *type) |
static vtkMRMLSegmentationNode * | New () |
static vtkMRMLSegmentationNode * | SafeDownCast (vtkObject *o) |
static const char * | ConvertMaskModeToString (int mode) |
Convert between constants IDs to/from string. More... | |
static int | ConvertMaskModeFromString (const char *modeStr) |
![]() | |
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 | |
void | OnMasterRepresentationModified () |
void | OnNodeReferenceAdded (vtkMRMLNodeReference *reference) override |
Reimplemented to invoke ReferenceImageGeometryChangedEvent. More... | |
void | OnNodeReferenceModified (vtkMRMLNodeReference *reference) override |
Reimplemented to invoke ReferenceImageGeometryChangedEvent. More... | |
void | OnNodeReferenceRemoved (vtkMRMLNodeReference *reference) override |
Reimplemented to invoke ReferenceImageGeometryChangedEvent. More... | |
void | OnSegmentAdded (const char *segmentId) |
void | OnSegmentModified (const char *segmentId) |
void | OnSegmentRemoved (const char *segmentId) |
void | operator= (const vtkMRMLSegmentationNode &) |
virtual void | SetSegmentation (vtkSegmentation *) |
Set segmentation object. More... | |
vtkMRMLSegmentationNode () | |
vtkMRMLSegmentationNode (const vtkMRMLSegmentationNode &) | |
~vtkMRMLSegmentationNode () override | |
![]() | |
virtual const char * | GetDisplayNodeReferenceMRMLAttributeName () |
void | operator= (const vtkMRMLDisplayableNode &) |
vtkMRMLDisplayableNode () | |
vtkMRMLDisplayableNode (const vtkMRMLDisplayableNode &) | |
~vtkMRMLDisplayableNode () override | |
![]() | |
virtual const char * | GetTransformNodeReferenceMRMLAttributeName () |
virtual const char * | GetTransformNodeReferenceRole () |
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 | 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) |
void | RemoveInvalidReferences (const std::set< std::string > &validNodeIDs) |
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... | |
Static Protected Member Functions | |
static const char * | GetLabelmapConversionColorTableNodeReferenceMRMLAttributeName () |
static const char * | GetLabelmapConversionColorTableNodeReferenceRole () |
static void | SegmentationModifiedCallback (vtkObject *caller, unsigned long eid, void *clientData, void *callData) |
Callback function for all events from the segmentation object. More... | |
![]() | |
static void | MRMLCallback (vtkObject *caller, unsigned long eid, void *clientData, void *callData) |
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 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 containing segmentations
Segmentation node stores a set of segments (also known as contours or segmented regions). Segments may overlap and may be stored in various representations (binary labelmap image, closed surface mesh, fractional labelmap image, etc). Segments can be stored in multiple data representations to facilitate visualization and processing.
Storage and automatic conversion between representations are provided by
Definition at line 53 of file vtkMRMLSegmentationNode.h.
Definition at line 60 of file vtkMRMLSegmentationNode.h.
anonymous enum |
Definition at line 159 of file vtkMRMLSegmentationNode.h.
anonymous enum |
ReferenceImageGeometryChangedEvent is fired when the ReferenceImageGeometry node reference is Added, Modified, or Removed SegmentationChangedEvent is fired when a different vtkSegmentation object is set into the node.
Enumerator | |
---|---|
ReferenceImageGeometryChangedEvent | |
SegmentationChangedEvent |
Definition at line 301 of file vtkMRMLSegmentationNode.h.
|
protected |
|
overrideprotected |
|
protected |
std::string vtkMRMLSegmentationNode::AddSegmentFromBinaryLabelmapRepresentation | ( | vtkOrientedImageData * | imageData, |
std::string | segmentName = "" , |
||
double | color[3] = nullptr , |
||
std::string | segmentId = "" |
||
) |
Add new segment from a binary labelmap.
|
virtual |
Add new segment from a closed surface.
|
overridevirtual |
Apply a transform on the segmentation
Reimplemented from vtkMRMLTransformableNode.
|
overridevirtual |
Apply a transform matrix on the segmentation
Reimplemented from vtkMRMLTransformableNode.
|
overridevirtual |
Returns true if the transformable node can apply non linear transforms
Reimplemented from vtkMRMLTransformableNode.
|
static |
|
static |
Convert between constants IDs to/from string.
|
virtual |
Generate binary labelmap representation for all segments.
|
virtual |
Generate closed surface representation for all segments. Useful for 3D visualization.
|
overridevirtual |
Create and observe a segmentation display node.
Reimplemented from vtkMRMLDisplayableNode.
|
overridevirtual |
Create a segmentation storage node.
Reimplemented from vtkMRMLStorableNode.
|
overridevirtual |
Create instance of a GAD node.
Implements vtkMRMLDisplayableNode.
|
virtual |
Generates an edit mask image. If a mask voxel is non-zero it means that the image at that position is editable.
maskImage | output image, contains non-zero voxels where editing is not allowed |
editMode | defines editable regions based on existing segments |
referenceGeometry | defines image geometry (extent and IJK to world matrix) of the output |
editedSegmentID | this segment will be always editable (regardless of editMode), optional |
masterVolume | used for intensity-based masking |
editableIntensityRange | used for intensity-based masking |
displayNode | used when edit mode refers to visible segments. If not specified then the first display node is used. |
|
virtual |
Build merged labelmap of the binary labelmap representations of the specified segments
mergedImageData | Output image data for the merged labelmap image data. Voxels of background volume will be of signed short type. Label value of n-th segment in segmentIDs list will be (n + 1), or will be specified in labelValues. Label value of background = 0. |
extentComputationMode | Determines how to compute extents (EXTENT_REFERENCE_GEOMETRY, EXTENT_UNION_OF_SEGMENTS, EXTENT_UNION_OF_SEGMENTS_PADDED, EXTENT_UNION_OF_EFFECTIVE_SEGMENTS, or EXTENT_UNION_OF_EFFECTIVE_SEGMENTS_PADDED). |
mergedLabelmapGeometry | Determines geometry of merged labelmap if not nullptr, automatically determined otherwise |
segmentIDs | List of IDs of segments to include in the merged labelmap. If empty or missing, then all segments are included |
labelValues | Input list of label values that will be used in the merged labelmap. If not specified, then the label values in the segmentation will be used. The size of the array should match the number of segment IDs used in the merged labelmap. |
|
virtual |
Python-accessible version of the more generic
mergedImageData | Output image data for the merged labelmap image data. Voxels of background volume will be of signed short type. Label value of n-th segment in segmentIDs list will be (n + 1), or will be specified in labelValues. Label value of background = 0. |
extentComputationMode | Determines how to compute extents (EXTENT_REFERENCE_GEOMETRY, EXTENT_UNION_OF_SEGMENTS, |
mergedLabelmapGeometry | Determines geometry of merged labelmap if not nullptr, automatically determined otherwise |
segmentIDs | List of IDs of segments to include in the merged labelmap. If empty or missing, then all segments are included |
labelValues | Input list of label values that will be used in the merged labelmap. If not specified, then the label values in the segmentation will be used. The size of the array should match the number of segment IDs used in the merged labelmap. |
|
virtual |
Get a segment as binary labelmap. If representation does not exist yet then call CreateBinaryLabelmapRepresentation() before. This function returns a pointer to the original labelmap representation in the segment. The binary labelmap can be a shared labelmap containing multiple segments. To get a list of all segments in a shared labelmap, call vtkSegmentation::GetSegmentIDsSharingRepresentation() The label value used for each segment can be retrieved using vtkSegment::GetLabelValue().
|
virtual |
Get a segment as binary labelmap. If representation does not exist yet then call CreateBinaryLabelmapRepresentation() before. This function returns a copy of the segment binary labelmap in outputBinaryLabelmap. Returns true on success.
|
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.
|
virtual |
Reimplemented from vtkMRMLDisplayableNode.
|
virtual |
Get a segment as binary labelmap. If representation does not exist yet then call CreateClosedSurfaceRepresentation() before. This function returns a copy of the segment closed surface.
|
virtual |
Get a segment as binary labelmap. If representation does not exist yet then call CreateClosedSurfaceRepresentation() before. This function returns a copy of the segment closed surface in outputClosedSurface. Returns true on success.
vtkMRMLColorTableNode* vtkMRMLSegmentationNode::GetLabelmapConversionColorTableNode | ( | ) |
|
inlinestaticprotected |
Definition at line 331 of file vtkMRMLSegmentationNode.h.
|
inlinestaticprotected |
Definition at line 330 of file vtkMRMLSegmentationNode.h.
|
inlineoverridevirtual |
Get unique node XML tag name (like Volume, Model)
Implements vtkMRMLDisplayableNode.
Definition at line 77 of file vtkMRMLSegmentationNode.h.
|
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.
|
inlinestatic |
Expose reference identifier to get the volume node defining the reference image geometry if any.
Definition at line 201 of file vtkMRMLSegmentationNode.h.
|
virtual |
Get segmentation object.
double* vtkMRMLSegmentationNode::GetSegmentCenter | ( | const std::string & | segmentID | ) |
Get position of the segment's center (in the segmentation node's coordinate system)
void vtkMRMLSegmentationNode::GetSegmentCenter | ( | const std::string & | segmentID, |
double | center[3] | ||
) |
Python-accessible version of
double* vtkMRMLSegmentationNode::GetSegmentCenterRAS | ( | const std::string & | segmentID | ) |
Get position of the segment's center in world coordinate system. It is the position returned by
void vtkMRMLSegmentationNode::GetSegmentCenterRAS | ( | const std::string & | segmentID, |
double | centerRAS[3] | ||
) |
Python-accessible version of
|
inlinestatic |
Definition at line 57 of file vtkMRMLSegmentationNode.h.
|
virtual |
|
virtual |
|
virtual |
Get subject hierarchy item belonging to a certain segment
segmentID | ID of segment contained by this segmentation to get the subject hierarchy virtual item for |
shNode | Subject hierarchy node to search in (there should be only one in the scene and it can be got using vtkMRMLSubjectHierarchyNode::GetSubjectHierarchyNode) |
|
virtual |
Reimplemented from vtkMRMLDisplayableNode.
|
static |
|
static |
|
protected |
Callback function observing the master representation of the segmentation (and each segment within) Invalidates all representations other than the master. These representations will be automatically converted later on demand.
|
overrideprotectedvirtual |
Reimplemented to invoke ReferenceImageGeometryChangedEvent.
Reimplemented from vtkMRMLDisplayableNode.
|
overrideprotectedvirtual |
Reimplemented to invoke ReferenceImageGeometryChangedEvent.
Reimplemented from vtkMRMLDisplayableNode.
|
overrideprotectedvirtual |
Reimplemented to invoke ReferenceImageGeometryChangedEvent.
Reimplemented from vtkMRMLDisplayableNode.
|
protected |
Callback function observing segment added events. Triggers update of display properties
|
protected |
Callback function observing segment modified events. Forwards event from the node.
|
protected |
Callback function observing segment removed events. Triggers update of display properties
|
virtual |
Function called from segmentation logic when UID is added in a subject hierarchy node. In case the newly added UID is a volume node referenced from this segmentation, its geometry will be set as image geometry conversion parameter. The "other order", i.e. when the volume is loaded first and the segmentation second, should be handled at loading time of the segmentation (because then we already know about the volume)
shNode | Subject hierarchy node that contains the item (should be the only SH node in the scene) |
itemWithNewUID | ID of subject hierarchy item that just got a new UID |
|
protected |
|
override |
|
overridevirtual |
Set node attributes from name/value pairs.
Reimplemented from vtkMRMLDisplayableNode.
|
virtual |
Remove binary labelmap representation for all segments.
|
virtual |
Remove closed surface representation for all segments.
void vtkMRMLSegmentationNode::RemoveSegment | ( | const std::string & | segmentID | ) |
Delete segment from segmentation.
|
static |
|
staticprotected |
Callback function for all events from the segmentation object.
|
virtual |
|
virtual |
void vtkMRMLSegmentationNode::SetAndObserveSegmentation | ( | vtkSegmentation * | segmentation | ) |
Set and observe segmentation object.
void vtkMRMLSegmentationNode::SetLabelmapConversionColorTableNodeID | ( | const char * | labelmapConversionColorTableNodeID | ) |
The vtkMRMLColorTableNode that is used to convert to and from labelmap representations. If a segment name matches the name of a color in the table, then the value of the color will be used as the labelmap value for the segment when exporting the segmentation to labelmap.
|
virtual |
Change master representation. All other representations are automatically computed from the master representation.
|
virtual |
Change master representation. All other representations are automatically computed from the master representation.
|
virtual |
Set reference image geometry conversion parameter from the volume node, keeping reference.
|
protectedvirtual |
Set segmentation object.
|
virtual |
Indicates whether or not the segment filter is visible in the segments view.
|
virtual |
Contains a serialized representation of the filtering options used by the segments view.
vtkMRMLSegmentationNode::vtkMRMLCopyContentMacro | ( | vtkMRMLSegmentationNode | ) |
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 |
Segmentation object to store the actual data.
Definition at line 349 of file vtkMRMLSegmentationNode.h.
|
protected |
Command handling events from segmentation object.
Definition at line 352 of file vtkMRMLSegmentationNode.h.
|
protected |
Temporary buffer that holds value returned by GetSegmentCenter(...) and GetSegmentCenterRAS(...) Has 4 components to allow usage in homogeneous transformations
Definition at line 356 of file vtkMRMLSegmentationNode.h.
|
protected |
Definition at line 358 of file vtkMRMLSegmentationNode.h.
|
protected |
Definition at line 359 of file vtkMRMLSegmentationNode.h.