21#ifndef __vtkSegmentationModifier_h
22#define __vtkSegmentationModifier_h
25#include "vtkSegmentationCoreConfigure.h"
58 int mergeMode =
MODE_REPLACE,
const int extent[6] =
nullptr,
bool minimumOfAllSegments =
false,
bool sourceRepresentationModifiedEnabled =
false,
59 const std::vector<std::string> segmentIdsToOverwrite = {}, std::vector<std::string>* modifiedSegmentIDs =
nullptr);
68 std::vector<std::string>& segmentIDs,
int maskThreshold = 0.0,
bool includeInputSharedSegmentID =
false);
72 bool minimumOfAllSegments, std::vector<std::string>* modifiedSegmentIDs,
bool& segmentLabelmapModified);
79 const int extent[6],
const std::vector<std::string>& segmentIDsToOverwrite);
Image data containing orientation information.
~vtkSegmentationModifier() override
static void GetExtentIntersection(const int extentA[6], const int extentB[6], int extentIntersection[6])
static vtkSegmentationModifier * New()
vtkSegmentationModifier()
static void SeparateModifiedSegmentFromSharedLabelmap(vtkOrientedImageData *labelmap, vtkSegmentation *segmentation, std::string segmentID, const int extent[6], const std::vector< std::string > &segmentIDsToOverwrite)
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 bool SharedLabelmapShouldOverlap(vtkSegmentation *segmentation, std::string segmentID, std::vector< std::string > &segmentIDsToOverwrite)
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 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 bool IsExtentValid(int extent[6])
static void ShrinkSegmentToEffectiveExtent(vtkOrientedImageData *segmentLabelmap)
This class encapsulates a segmentation that can contain multiple segments and multiple representation...