Slicer 5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
vtkSegmentationModifier Class Reference

Utility functions for resampling oriented image data. More...

#include <Libs/vtkSegmentationCore/vtkSegmentationModifier.h>

Inheritance diagram for vtkSegmentationModifier:
Collaboration diagram for vtkSegmentationModifier:

Public Types

enum  { MODE_REPLACE = 0 , MODE_MERGE_MAX , MODE_MERGE_MIN , MODE_MERGE_MASK }
 
typedef vtkObject Superclass
 

Public Member Functions

virtual const char * GetClassName ()
 
virtual int IsA (const char *type)
 

Static Public Member Functions

static bool GetSharedSegmentIDsInMask (vtkSegmentation *segmentation, std::string sharedSegmentID, vtkOrientedImageData *mask, const int extent[6], std::vector< std::string > &segmentIDs, int maskThreshold=0.0, bool includeInputSharedSegmentID=false)
 
static int IsTypeOf (const char *type)
 
static bool ModifyBinaryLabelmap (vtkOrientedImageData *labelmap, vtkSegmentation *segmentation, std::string segmentID, int mergeMode=MODE_REPLACE, const int extent[6]=nullptr, bool minimumOfAllSegments=false, bool sourceRepresentationModifiedEnabled=false, const std::vector< std::string > segmentIdsToOverwrite={}, std::vector< std::string > *modifiedSegmentIDs=nullptr)
 
static vtkSegmentationModifierNew ()
 
static vtkSegmentationModifierSafeDownCast (vtkObject *o)
 

Protected Member Functions

 vtkSegmentationModifier ()
 
 ~vtkSegmentationModifier () override
 

Static Protected Member Functions

static bool AppendLabelmapToSegment (vtkOrientedImageData *labelmap, vtkSegmentation *segmentation, std::string segmentID, int mergeMode, const int extent[6], bool minimumOfAllSegments, std::vector< std::string > *modifiedSegmentIDs, bool &segmentLabelmapModified)
 
static void GetExtentIntersection (const int extentA[6], const int extentB[6], int extentIntersection[6])
 
static bool IsExtentValid (int extent[6])
 
static void SeparateModifiedSegmentFromSharedLabelmap (vtkOrientedImageData *labelmap, vtkSegmentation *segmentation, std::string segmentID, const int extent[6], const std::vector< std::string > &segmentIDsToOverwrite)
 
static bool SharedLabelmapShouldOverlap (vtkSegmentation *segmentation, std::string segmentID, std::vector< std::string > &segmentIDsToOverwrite)
 
static void ShrinkSegmentToEffectiveExtent (vtkOrientedImageData *segmentLabelmap)
 

Detailed Description

Utility functions for resampling oriented image data.

Definition at line 37 of file vtkSegmentationModifier.h.

Member Typedef Documentation

◆ Superclass

Definition at line 41 of file vtkSegmentationModifier.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

Set a labelmap image as binary labelmap representation into the segment defined by the segmentation node and segment ID. Source representation must be binary labelmap! Source representation changed event is disabled to prevent deletion of all other representation in all segments. The other representations in the given segment are re-converted. The extent of the segment binary labelmap is shrunk to the effective extent. Display update is triggered.

Parameters
mergeModeDetermines if the labelmap should replace the segment, combined with a maximum or minimum operation, or set under the mask.
extentIf extent is specified then only that extent of the labelmap is used.
Enumerator
MODE_REPLACE 
MODE_MERGE_MAX 
MODE_MERGE_MIN 
MODE_MERGE_MASK 

Definition at line 50 of file vtkSegmentationModifier.h.

Constructor & Destructor Documentation

◆ vtkSegmentationModifier()

vtkSegmentationModifier::vtkSegmentationModifier ( )
protected

◆ ~vtkSegmentationModifier()

vtkSegmentationModifier::~vtkSegmentationModifier ( )
overrideprotected

Member Function Documentation

◆ AppendLabelmapToSegment()

static bool vtkSegmentationModifier::AppendLabelmapToSegment ( vtkOrientedImageData * labelmap,
vtkSegmentation * segmentation,
std::string segmentID,
int mergeMode,
const int extent[6],
bool minimumOfAllSegments,
std::vector< std::string > * modifiedSegmentIDs,
bool & segmentLabelmapModified )
staticprotected

◆ GetClassName()

virtual const char * vtkSegmentationModifier::GetClassName ( )
virtual

◆ GetExtentIntersection()

static void vtkSegmentationModifier::GetExtentIntersection ( const int extentA[6],
const int extentB[6],
int extentIntersection[6] )
staticprotected

Get the intersection of two extents. If any of the input extents are nullptr or empty (extent[i*2]>extent[i*2+1]) then the extent is considered to be infinite.

Parameters
extentAfirst input extent
extentAsecond input extent
extentIntersectioncomputed intersection of the two input extents

◆ GetSharedSegmentIDsInMask()

static bool vtkSegmentationModifier::GetSharedSegmentIDsInMask ( vtkSegmentation * segmentation,
std::string sharedSegmentID,
vtkOrientedImageData * mask,
const int extent[6],
std::vector< std::string > & segmentIDs,
int maskThreshold = 0.0,
bool includeInputSharedSegmentID = false )
static

Get the list of segment IDs in the same shared labelmap that are contained within the mask

Parameters
segmentationNodeNode containing the segmentation
sharedSegmentIDSegment ID of the segment that contains the shared labelmap to be checked
maskMask labelmap
segmentIDsOutput list of segment IDs under the mask
includeInputSharedSegmentIDIf false, sharedSegmentID will not be added to the list of output segment IDs even if it is within the mask

◆ IsA()

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

◆ IsExtentValid()

static bool vtkSegmentationModifier::IsExtentValid ( int extent[6])
staticprotected

Returns true if the extent is valid, false otherwise

Parameters
Extentto be validated

◆ IsTypeOf()

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

◆ ModifyBinaryLabelmap()

static bool vtkSegmentationModifier::ModifyBinaryLabelmap ( vtkOrientedImageData * labelmap,
vtkSegmentation * segmentation,
std::string segmentID,
int mergeMode = MODE_REPLACE,
const int extent[6] = nullptr,
bool minimumOfAllSegments = false,
bool sourceRepresentationModifiedEnabled = false,
const std::vector< std::string > segmentIdsToOverwrite = {},
std::vector< std::string > * modifiedSegmentIDs = nullptr )
static

◆ New()

static vtkSegmentationModifier * vtkSegmentationModifier::New ( )
static

◆ SafeDownCast()

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

◆ SeparateModifiedSegmentFromSharedLabelmap()

static void vtkSegmentationModifier::SeparateModifiedSegmentFromSharedLabelmap ( vtkOrientedImageData * labelmap,
vtkSegmentation * segmentation,
std::string segmentID,
const int extent[6],
const std::vector< std::string > & segmentIDsToOverwrite )
staticprotected

◆ SharedLabelmapShouldOverlap()

static bool vtkSegmentationModifier::SharedLabelmapShouldOverlap ( vtkSegmentation * segmentation,
std::string segmentID,
std::vector< std::string > & segmentIDsToOverwrite )
staticprotected

◆ ShrinkSegmentToEffectiveExtent()

static void vtkSegmentationModifier::ShrinkSegmentToEffectiveExtent ( vtkOrientedImageData * segmentLabelmap)
staticprotected

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