24 "1.2.840.10008.1.2.1",
28 "1.2.840.10008.1.2.1.99"
72 return "Basic Text SR";
76 return "Comprehensive SR";
78 return "Comprehensive 3D SR";
80 return "Extensible SR";
82 return "Key Object Selection";
86 return "Dose Report SR";
88 return "Procedure Log SR";
101constexpr std::string_view value_type_strings[] = {
123 auto index =
static_cast<size_t>(type);
124 if (index < std::size(value_type_strings)) {
125 return value_type_strings[index];
163 return "HAS OBS CONTEXT";
165 return "HAS ACQ CONTEXT";
167 return "HAS CONCEPT MOD";
169 return "HAS PROPERTIES";
171 return "INFERRED FROM";
173 return "SELECTED FROM";
206 if (value ==
"COMPLETE") {
223 if (value ==
"VERIFIED") {
235constexpr std::array<sr_sop_class_info, 17> sr_sop_classes = {{
239 "Basic Text SR Storage",
240 "Simple text-based structured report",
248 "Enhanced SR Storage",
249 "Enhanced structured report with image references",
257 "Comprehensive SR Storage",
258 "Comprehensive structured report with spatial coordinates",
266 "Comprehensive 3D SR Storage",
267 "Comprehensive structured report with 3D spatial coordinates",
275 "Extensible SR Storage",
276 "Extensible structured report with table support",
286 "Key Object Selection Document Storage",
287 "Document for marking significant images",
297 "Mammography CAD SR Storage",
298 "Computer-aided detection results for mammography",
306 "Chest CAD SR Storage",
307 "Computer-aided detection results for chest imaging",
315 "Colon CAD SR Storage",
316 "Computer-aided detection results for colonography",
326 "X-Ray Radiation Dose SR Storage",
327 "Radiation dose structured report for X-ray procedures",
335 "Radiopharmaceutical Radiation Dose SR Storage",
336 "Radiation dose for nuclear medicine procedures",
344 "Patient Radiation Dose SR Storage",
345 "Cumulative patient radiation dose report",
353 "Enhanced X-Ray Radiation Dose SR Storage",
354 "Enhanced radiation dose report with detailed exposure data",
364 "Acquisition Context SR Storage",
365 "Acquisition context documentation",
373 "Simplified Adult Echo SR Storage",
374 "Simplified echocardiography structured report",
382 "Planned Imaging Agent Administration SR Storage",
383 "Planned contrast agent administration record",
391 "Performed Imaging Agent Administration SR Storage",
392 "Performed contrast agent administration record",
402std::vector<std::string>
404 std::vector<std::string> result;
405 result.reserve(sr_sop_classes.size());
407 for (
const auto& info : sr_sop_classes) {
418 result.emplace_back(info.uid);
425const sr_sop_class_info*
427 auto it = std::find_if(
428 sr_sop_classes.begin(),
429 sr_sop_classes.end(),
430 [
uid](
const auto& info) { return info.uid == uid; }
433 if (it != sr_sop_classes.end()) {
455 return info !=
nullptr && info->supports_spatial_coords;
constexpr std::string_view mammography_cad_report
Mammography CAD Report (TID 4000)
constexpr std::string_view key_object_selection
Key Object Selection (TID 2010)
constexpr std::string_view chest_cad_report
Chest CAD Report (TID 4100)
constexpr std::string_view xray_radiation_dose_report
X-Ray Radiation Dose Report (TID 10001)
constexpr std::string_view colon_cad_report
Colon CAD Report (TID 4200)
constexpr std::string_view basic_diagnostic_imaging_report
Basic Diagnostic Imaging Report (TID 2000)
constexpr std::string_view comprehensive_sr_storage_uid
Comprehensive SR Storage SOP Class UID.
sr_relationship_type
SR Content Item Relationship Type (0040,A010)
@ inferred_from
INFERRED FROM - Inference source.
@ selected_from
SELECTED FROM - Selection source.
@ has_concept_mod
HAS CONCEPT MOD - Concept modifier.
@ has_obs_context
HAS OBS CONTEXT - Observation context.
@ contains
CONTAINS - Parent contains child.
@ has_properties
HAS PROPERTIES - Property value.
@ unknown
Unknown relationship.
@ has_acq_context
HAS ACQ CONTEXT - Acquisition context.
constexpr std::string_view simplified_adult_echo_sr_storage_uid
Simplified Adult Echo SR Storage SOP Class UID.
constexpr std::string_view colon_cad_sr_storage_uid
Colon CAD SR Storage SOP Class UID.
sr_document_type get_sr_document_type(std::string_view uid) noexcept
Get SR document type for a SOP Class UID.
constexpr std::string_view patient_radiation_dose_sr_storage_uid
Patient Radiation Dose SR Storage SOP Class UID.
constexpr std::string_view mammography_cad_sr_storage_uid
Mammography CAD SR Storage SOP Class UID.
bool is_dose_sr_storage_sop_class(std::string_view uid) noexcept
Check if a SOP Class UID is a Dose Report SR Storage SOP Class.
constexpr std::string_view radiopharmaceutical_radiation_dose_sr_storage_uid
Radiopharmaceutical Radiation Dose SR Storage SOP Class UID.
sr_completion_flag parse_sr_completion_flag(std::string_view value) noexcept
Parse SR completion flag from DICOM string.
bool is_sr_storage_sop_class(std::string_view uid) noexcept
Check if a SOP Class UID is an SR Storage SOP Class.
constexpr std::string_view acquisition_context_sr_storage_uid
Acquisition Context SR Storage SOP Class UID.
bool sr_supports_spatial_coords(std::string_view uid) noexcept
Check if an SR SOP Class supports spatial coordinates.
std::vector< std::string > get_sr_transfer_syntaxes()
Get recommended transfer syntaxes for SR objects.
bool is_valid_sr_value_type(std::string_view value) noexcept
Check if SR value type string is valid.
bool is_cad_sr_storage_sop_class(std::string_view uid) noexcept
Check if a SOP Class UID is a CAD SR Storage SOP Class.
constexpr std::string_view basic_text_sr_storage_uid
Basic Text SR Storage SOP Class UID.
sr_document_type
SR Document type classification.
@ procedure_log
Procedure Log - Procedure documentation.
@ enhanced
Enhanced SR - References to images/waveforms.
@ extensible
Extensible SR - Template-based.
@ comprehensive
Comprehensive SR - Complex with spatial coords.
@ comprehensive_3d
Comprehensive 3D SR - 3D spatial coordinates.
@ other
Other specialized SR types.
@ basic_text
Basic Text SR - Simple text reports.
@ cad
CAD SR - Computer-aided detection results.
@ key_object_selection
Key Object Selection - Image selection.
@ dose_report
Dose Report - Radiation dose information.
sr_completion_flag
SR Completion Flag (0040,A491)
@ partial
PARTIAL - Document is not complete.
@ complete
COMPLETE - Document is complete.
sr_value_type parse_sr_value_type(std::string_view value) noexcept
Parse SR value type from DICOM string.
constexpr std::string_view performed_imaging_agent_admin_sr_storage_uid
Performed Imaging Agent Administration SR Storage SOP Class UID.
std::string_view get_recommended_sr_template(std::string_view uid) noexcept
Get recommended template ID for an SR SOP Class.
sr_relationship_type parse_sr_relationship_type(std::string_view value) noexcept
Parse SR relationship type from DICOM string.
constexpr std::string_view extensible_sr_storage_uid
Extensible SR Storage SOP Class UID.
sr_verification_flag parse_sr_verification_flag(std::string_view value) noexcept
Parse SR verification flag from DICOM string.
constexpr std::string_view enhanced_sr_storage_uid
Enhanced SR Storage SOP Class UID.
const sr_sop_class_info * get_sr_sop_class_info(std::string_view uid) noexcept
Get information about a specific SR SOP Class.
constexpr std::string_view xray_radiation_dose_sr_storage_uid
X-Ray Radiation Dose SR Storage SOP Class UID.
constexpr std::string_view planned_imaging_agent_admin_sr_storage_uid
Planned Imaging Agent Administration SR Storage SOP Class UID.
constexpr std::string_view comprehensive_3d_sr_storage_uid
Comprehensive 3D SR Storage SOP Class UID.
sr_verification_flag
SR Verification Flag (0040,A493)
@ verified
VERIFIED - Verified by authorized person.
@ unverified
UNVERIFIED - Not verified.
constexpr std::string_view chest_cad_sr_storage_uid
Chest CAD SR Storage SOP Class UID.
constexpr std::string_view key_object_selection_document_storage_uid
Key Object Selection Document Storage SOP Class UID.
sr_value_type
SR Content Item Value Type (0040,A040)
@ num
NUM - Numeric measurement.
@ pname
PNAME - Person name.
@ scoord
SCOORD - Spatial coordinates (2D)
@ container
CONTAINER - Container for other items.
@ image
IMAGE - Reference to image.
@ uidref
UIDREF - UID reference.
@ waveform
WAVEFORM - Reference to waveform.
@ table
TABLE - Tabular data (Extensible SR)
@ unknown
Unknown value type.
@ code
CODE - Coded entry.
@ scoord3d
SCOORD3D - Spatial coordinates (3D)
@ tcoord
TCOORD - Temporal coordinates.
@ datetime
DATETIME - Date/time value.
@ composite
COMPOSITE - Reference to composite object.
std::string_view to_string(dx_photometric_interpretation interp) noexcept
Convert photometric interpretation enum to DICOM string.
std::vector< std::string > get_sr_storage_sop_classes(bool include_cad=true, bool include_dose=true)
Get all SR Storage SOP Class UIDs.
constexpr std::string_view enhanced_xray_radiation_dose_sr_storage_uid
Enhanced X-Ray Radiation Dose SR Storage SOP Class UID.
Structured Report (SR) Storage SOP Classes.