19#ifndef PACS_SERVICES_SOP_CLASSES_SEG_STORAGE_HPP
20#define PACS_SERVICES_SOP_CLASSES_SEG_STORAGE_HPP
39 "1.2.840.10008.5.1.4.1.1.66.4";
43 "1.2.840.10008.5.1.4.1.1.66.5";
47 "1.2.840.10008.5.1.4.1.1.66.7";
51 "1.2.840.10008.5.1.4.1.1.66.8";
214[[nodiscard]] std::vector<std::string>
std::string_view get_segment_category_code(segment_category category) noexcept
Get SNOMED CT code for segment category.
const seg_sop_class_info * get_seg_sop_class_info(std::string_view uid) noexcept
Get information about a specific SEG SOP Class.
@ automatic
AUTOMATIC - Automated segmentation.
@ manual
MANUAL - Manual contouring.
@ semiautomatic
SEMIAUTOMATIC - Semi-automated with user input.
constexpr std::string_view label_map_segmentation_storage_uid
Label Map Segmentation Storage SOP Class UID (Supplement 243)
segment_algorithm_type parse_segment_algorithm_type(std::string_view value) noexcept
Parse segment algorithm type from DICOM string.
segment_algorithm_type
Segment algorithm type (0062,0008)
segmentation_fractional_type parse_segmentation_fractional_type(std::string_view value) noexcept
Parse segmentation fractional type from DICOM string.
bool is_valid_segmentation_type(std::string_view value) noexcept
Check if segmentation type string is valid.
constexpr std::string_view heightmap_segmentation_storage_uid
Heightmap Segmentation Storage SOP Class UID (Supplement 240)
bool is_surface_segmentation_sop_class(std::string_view uid) noexcept
Check if a SOP Class UID is Surface Segmentation.
segmentation_type parse_segmentation_type(std::string_view value) noexcept
Parse segmentation type from DICOM string.
std::vector< std::string > get_seg_storage_sop_classes(bool include_surface=true)
Get all SEG Storage SOP Class UIDs.
constexpr std::string_view surface_segmentation_storage_uid
Surface Segmentation Storage SOP Class UID.
std::vector< std::string > get_seg_transfer_syntaxes()
Get recommended transfer syntaxes for SEG objects.
bool is_valid_segment_algorithm_type(std::string_view value) noexcept
Check if segment algorithm type string is valid.
segmentation_type
Segmentation type (0062,0001)
@ binary
BINARY - Binary segmentation (0 or 1)
@ fractional
FRACTIONAL - Fractional/probabilistic segmentation.
constexpr std::string_view segmentation_storage_uid
Segmentation Storage SOP Class UID.
bool is_seg_storage_sop_class(std::string_view uid) noexcept
Check if a SOP Class UID is a SEG Storage SOP Class.
segmentation_fractional_type
Segmentation fractional type (0062,0010)
@ probability
PROBABILITY - Values represent probability (0.0-1.0)
@ occupancy
OCCUPANCY - Values represent fractional occupancy.
segment_color get_recommended_segment_color(std::string_view segment_label) noexcept
Get recommended color for common segment types.
std::string_view get_segment_category_meaning(segment_category category) noexcept
Get code meaning for segment category.
segment_category
Common anatomical property categories (CID 7150)
@ physical_object
Physical object (implant, etc.)
@ morphologically_abnormal
Tumor, lesion, etc.
@ body_substance
Body fluid, substance.
@ tissue
Tissue type (organ, muscle, etc.)
@ function
Functional region.
@ spatial
Spatial reference.
@ anatomical_structure
Named anatomical structure.
std::string_view to_string(dx_photometric_interpretation interp) noexcept
Convert photometric interpretation enum to DICOM string.
Information about a SEG Storage SOP Class.
bool is_surface
Whether this is surface segmentation.
std::string_view uid
SOP Class UID.
std::string_view description
Brief description.
std::string_view name
Human-readable name.
bool is_retired
Whether this SOP class is retired.
Standard segment colors for common anatomical structures.
uint16_t b
b* component (0-65535, maps to -128 to 127)
uint16_t a
a* component (0-65535, maps to -128 to 127)
uint16_t l
L* component (0-65535, maps to 0-100)