13 #ifndef mitkDICOMSegmentationPropertyHelper_h
14 #define mitkDICOMSegmentationPropertyHelper_h
28 class IPropertyProvider;
120 bool synthesizeMissingIdentity =
false;
130 bool deriveGeometryFromSegmentation =
false;
189 bool overwrite =
true);
206 bool overwrite =
true);
224 bool overwrite =
true);
#define MITKMULTILABEL_EXPORT
Thrown when a DICOM SEG write is rejected in strict mode because the segmentation is missing contract...
mitkExceptionClassMacro(DICOMSegStrictModeException, mitk::Exception)
Helpers around the DICOM SEG property contract on MultiLabelSegmentation.
static const std::string & UnknownPatientID()
static std::vector< MissingItem > Validate(const MultiLabelSegmentation *seg)
Reports what is missing from the seg's DICOM SEG contract without mutating it.
static std::string MintSyntheticUID(const std::string &kind)
Mint a globally unique DICOM-valid UID for a synthetic identifier.
static std::size_t MigrateLegacyReferenceFilesToRelation(MultiLabelSegmentation *seg)
Migrate a legacy "referenceFiles" StringLookupTable property on seg into SegSourceImageRelationRule c...
static const std::string & UnknownContentCreatorName()
static const std::string & UnknownPatientName()
static void InheritPatientFromSource(MultiLabelSegmentation *seg, const IPropertyProvider *source, bool overwrite=true)
Copies PatientName (0010,0010) and PatientID (0010,0020) from source to seg.
static std::vector< MissingItem > Complete(MultiLabelSegmentation *seg, const CompletionOptions &options)
Stamps MITK-specific branding defaults and applies the opt-in synthesis flags.
static void InheritStudyFromSource(MultiLabelSegmentation *seg, const IPropertyProvider *source, bool overwrite=true)
Copies StudyID (0020,0010) and StudyInstanceUID (0020,000d) from source to seg.
static void InheritFrameOfReferenceFromSource(MultiLabelSegmentation *seg, const IPropertyProvider *source, bool overwrite=true)
Copies FrameOfReferenceUID (0020,0052) from source to seg.
static const std::string & UnknownStudyID()
Base class for all MITK exceptions.
Interface implemented by classes that provide access to property information.
A data structure describing a label in a multi-label segmentation.
MultiLabelSegmentation class for handling labels and layers in a segmentation session.
Find image slices visible on a given plane.
Synthesis options for Complete. Flags are independent and additive.
One item missing from the DICOM SEG property contract on a seg.