|
PACS System 0.1.0
PACS DICOM system library
|
#include <sop_class_registry.h>

Public Member Functions | |
| bool | is_supported (std::string_view uid) const |
| Check if a SOP Class UID is supported. | |
| const sop_class_info * | get_info (std::string_view uid) const |
| Get information about a SOP Class. | |
| std::vector< std::string > | get_by_category (sop_class_category category) const |
| Get all SOP Classes in a category. | |
| std::vector< std::string > | get_by_modality (modality_type modality, bool include_retired=true) const |
| Get all storage SOP Classes for a modality. | |
| std::vector< std::string > | get_all_storage_classes (bool include_retired=true) const |
| Get all storage SOP Classes. | |
| std::vector< std::string > | get_all () const |
| Get all registered SOP Class UIDs. | |
| bool | register_sop_class (const sop_class_info &info) |
| Register a new SOP Class. | |
Static Public Member Functions | |
| static sop_class_registry & | instance () |
| Get the singleton instance. | |
| static std::string_view | modality_to_string (modality_type modality) noexcept |
| Get the modality string for a modality type. | |
| static modality_type | parse_modality (std::string_view modality) noexcept |
| Parse a modality string to enum. | |
Private Member Functions | |
| sop_class_registry () | |
| ~sop_class_registry ()=default | |
| sop_class_registry (const sop_class_registry &)=delete | |
| sop_class_registry & | operator= (const sop_class_registry &)=delete |
| sop_class_registry (sop_class_registry &&)=delete | |
| sop_class_registry & | operator= (sop_class_registry &&)=delete |
| void | register_standard_sop_classes () |
| void | register_us_sop_classes () |
| void | register_xa_sop_classes () |
| void | register_dx_sop_classes () |
| void | register_ct_sop_classes () |
| void | register_mr_sop_classes () |
| void | register_pet_sop_classes () |
| void | register_nm_sop_classes () |
| void | register_rt_sop_classes () |
| void | register_seg_sop_classes () |
| void | register_sr_sop_classes () |
| void | register_print_sop_classes () |
| void | register_ups_sop_classes () |
| void | register_wsi_sop_classes () |
| void | register_ophthalmic_sop_classes () |
| void | register_parametric_map_sop_classes () |
| void | register_waveform_sop_classes () |
| void | register_other_sop_classes () |
Private Attributes | |
| std::unordered_map< std::string, sop_class_info > | registry_ |
Definition at line 115 of file sop_class_registry.h.
|
private |
Definition at line 38 of file sop_class_registry.cpp.
References register_standard_sop_classes().

|
privatedefault |
|
privatedelete |
|
privatedelete |
|
nodiscard |
Get all registered SOP Class UIDs.
Definition at line 94 of file sop_class_registry.cpp.
|
nodiscard |
Get all storage SOP Classes.
| include_retired | Include retired SOP classes |
Definition at line 83 of file sop_class_registry.cpp.
References registry_, kcenon::pacs::services::storage, and uid.
|
nodiscard |
Get all SOP Classes in a category.
| category | The category to filter by |
Definition at line 59 of file sop_class_registry.cpp.
|
nodiscard |
Get all storage SOP Classes for a modality.
| modality | The modality type |
| include_retired | Include retired SOP classes |
Definition at line 70 of file sop_class_registry.cpp.
References registry_, kcenon::pacs::services::storage, and uid.
|
nodiscard |
Get information about a SOP Class.
| uid | The SOP Class UID |
Definition at line 50 of file sop_class_registry.cpp.
References registry_, and uid.
Referenced by kcenon::pacs::services::get_sop_class_name(), kcenon::pacs::services::get_storage_modality(), and kcenon::pacs::services::is_storage_sop_class().

|
staticnodiscard |
Get the singleton instance.
Definition at line 33 of file sop_class_registry.cpp.
References instance().
Referenced by kcenon::pacs::services::get_sop_class_name(), kcenon::pacs::services::get_storage_modality(), instance(), and kcenon::pacs::services::is_storage_sop_class().


|
nodiscard |
Check if a SOP Class UID is supported.
| uid | The SOP Class UID to check |
Definition at line 46 of file sop_class_registry.cpp.
|
staticnodiscardnoexcept |
Get the modality string for a modality type.
| modality | The modality type |
Definition at line 115 of file sop_class_registry.cpp.
References kcenon::pacs::services::cr, kcenon::pacs::services::ct, kcenon::pacs::services::dx, kcenon::pacs::services::mg, kcenon::pacs::services::mr, kcenon::pacs::services::nm, kcenon::pacs::services::op, kcenon::pacs::services::other, kcenon::pacs::services::pet, kcenon::pacs::services::pmap, kcenon::pacs::services::rt, kcenon::pacs::services::sc, kcenon::pacs::services::seg, kcenon::pacs::services::sm, kcenon::pacs::services::sr, kcenon::pacs::services::us, kcenon::pacs::services::xa, and kcenon::pacs::services::xrf.
|
privatedelete |
|
privatedelete |
|
staticnodiscardnoexcept |
Parse a modality string to enum.
| modality | The DICOM modality code |
Definition at line 139 of file sop_class_registry.cpp.
References kcenon::pacs::services::cr, kcenon::pacs::services::ct, kcenon::pacs::services::dx, kcenon::pacs::services::mg, kcenon::pacs::services::mr, kcenon::pacs::services::nm, kcenon::pacs::services::op, kcenon::pacs::services::other, kcenon::pacs::services::pet, kcenon::pacs::services::pmap, kcenon::pacs::services::rt, kcenon::pacs::services::sc, kcenon::pacs::services::seg, kcenon::pacs::services::sm, kcenon::pacs::services::sr, kcenon::pacs::services::us, kcenon::pacs::services::xa, and kcenon::pacs::services::xrf.
|
private |
Definition at line 389 of file sop_class_registry.cpp.
References kcenon::pacs::services::ct, registry_, and kcenon::pacs::services::storage.
Referenced by register_standard_sop_classes().

|
private |
Definition at line 309 of file sop_class_registry.cpp.
References kcenon::pacs::services::dx, kcenon::pacs::services::sop_classes::dx_image_storage_for_presentation_uid, kcenon::pacs::services::sop_classes::dx_image_storage_for_processing_uid, kcenon::pacs::services::sop_classes::intraoral_image_storage_for_presentation_uid, kcenon::pacs::services::sop_classes::intraoral_image_storage_for_processing_uid, kcenon::pacs::services::sop_classes::mammography_image_storage_for_presentation_uid, kcenon::pacs::services::sop_classes::mammography_image_storage_for_processing_uid, kcenon::pacs::services::mg, registry_, and kcenon::pacs::services::storage.
Referenced by register_standard_sop_classes().

|
private |
Definition at line 430 of file sop_class_registry.cpp.
References kcenon::pacs::services::mr, registry_, and kcenon::pacs::services::storage.
Referenced by register_standard_sop_classes().

|
private |
Definition at line 499 of file sop_class_registry.cpp.
References kcenon::pacs::services::nm, kcenon::pacs::services::sop_classes::nm_image_storage_retired_uid, kcenon::pacs::services::sop_classes::nm_image_storage_uid, registry_, and kcenon::pacs::services::storage.
Referenced by register_standard_sop_classes().

|
private |
Definition at line 1007 of file sop_class_registry.cpp.
References kcenon::pacs::services::op, kcenon::pacs::services::sop_classes::ophthalmic_oct_bscan_analysis_storage_uid, kcenon::pacs::services::sop_classes::ophthalmic_photo_16bit_storage_uid, kcenon::pacs::services::sop_classes::ophthalmic_photo_8bit_storage_uid, kcenon::pacs::services::sop_classes::ophthalmic_tomography_storage_uid, registry_, kcenon::pacs::services::storage, and kcenon::pacs::services::sop_classes::wide_field_ophthalmic_photo_storage_uid.
Referenced by register_standard_sop_classes().

|
private |
Definition at line 1110 of file sop_class_registry.cpp.
References kcenon::pacs::services::cr, kcenon::pacs::services::other, registry_, kcenon::pacs::services::sc, kcenon::pacs::services::storage, kcenon::pacs::services::storage_commitment, kcenon::pacs::services::storage_commitment_push_model_sop_class_uid, and kcenon::pacs::services::verification.
Referenced by register_standard_sop_classes().

|
private |
Definition at line 1074 of file sop_class_registry.cpp.
References kcenon::pacs::services::sop_classes::parametric_map_storage_uid, kcenon::pacs::services::pmap, registry_, and kcenon::pacs::services::storage.
Referenced by register_standard_sop_classes().

|
private |
Definition at line 458 of file sop_class_registry.cpp.
References kcenon::pacs::services::sop_classes::enhanced_pet_image_storage_uid, kcenon::pacs::services::sop_classes::legacy_converted_enhanced_pet_image_storage_uid, kcenon::pacs::services::pet, kcenon::pacs::services::sop_classes::pet_image_storage_uid, registry_, and kcenon::pacs::services::storage.
Referenced by register_standard_sop_classes().

|
private |
Definition at line 832 of file sop_class_registry.cpp.
References kcenon::pacs::services::other, kcenon::pacs::services::print, and registry_.
Referenced by register_standard_sop_classes().

|
private |
Definition at line 527 of file sop_class_registry.cpp.
References registry_, kcenon::pacs::services::rt, kcenon::pacs::services::sop_classes::rt_beams_treatment_record_storage_uid, kcenon::pacs::services::sop_classes::rt_brachy_treatment_record_storage_uid, kcenon::pacs::services::sop_classes::rt_dose_storage_uid, kcenon::pacs::services::sop_classes::rt_image_storage_uid, kcenon::pacs::services::sop_classes::rt_ion_beams_treatment_record_storage_uid, kcenon::pacs::services::sop_classes::rt_ion_plan_storage_uid, kcenon::pacs::services::sop_classes::rt_plan_storage_uid, kcenon::pacs::services::sop_classes::rt_structure_set_storage_uid, kcenon::pacs::services::sop_classes::rt_treatment_summary_record_storage_uid, and kcenon::pacs::services::storage.
Referenced by register_standard_sop_classes().

|
private |
Definition at line 646 of file sop_class_registry.cpp.
References kcenon::pacs::services::sop_classes::heightmap_segmentation_storage_uid, kcenon::pacs::services::sop_classes::label_map_segmentation_storage_uid, registry_, kcenon::pacs::services::seg, kcenon::pacs::services::sop_classes::segmentation_storage_uid, kcenon::pacs::services::storage, and kcenon::pacs::services::sop_classes::surface_segmentation_storage_uid.
Referenced by register_standard_sop_classes().

| bool kcenon::pacs::services::sop_class_registry::register_sop_class | ( | const sop_class_info & | info | ) |
Register a new SOP Class.
Used to add custom or new SOP Classes dynamically.
| info | The SOP Class information |
Definition at line 103 of file sop_class_registry.cpp.
References registry_.
|
private |
Definition at line 700 of file sop_class_registry.cpp.
References kcenon::pacs::services::sop_classes::basic_text_sr_storage_uid, kcenon::pacs::services::sop_classes::chest_cad_sr_storage_uid, kcenon::pacs::services::sop_classes::colon_cad_sr_storage_uid, kcenon::pacs::services::sop_classes::comprehensive_3d_sr_storage_uid, kcenon::pacs::services::sop_classes::comprehensive_sr_storage_uid, kcenon::pacs::services::sop_classes::enhanced_sr_storage_uid, kcenon::pacs::services::sop_classes::extensible_sr_storage_uid, kcenon::pacs::services::sop_classes::key_object_selection_document_storage_uid, kcenon::pacs::services::sop_classes::mammography_cad_sr_storage_uid, registry_, kcenon::pacs::services::sr, kcenon::pacs::services::storage, and kcenon::pacs::services::sop_classes::xray_radiation_dose_sr_storage_uid.
Referenced by register_standard_sop_classes().

|
private |
Definition at line 168 of file sop_class_registry.cpp.
References register_ct_sop_classes(), register_dx_sop_classes(), register_mr_sop_classes(), register_nm_sop_classes(), register_ophthalmic_sop_classes(), register_other_sop_classes(), register_parametric_map_sop_classes(), register_pet_sop_classes(), register_print_sop_classes(), register_rt_sop_classes(), register_seg_sop_classes(), register_sr_sop_classes(), register_ups_sop_classes(), register_us_sop_classes(), register_waveform_sop_classes(), register_wsi_sop_classes(), and register_xa_sop_classes().
Referenced by sop_class_registry().


|
private |
Definition at line 925 of file sop_class_registry.cpp.
References kcenon::pacs::services::other, registry_, and kcenon::pacs::services::ups.
Referenced by register_standard_sop_classes().

|
private |
Definition at line 188 of file sop_class_registry.cpp.
References registry_, kcenon::pacs::services::storage, kcenon::pacs::services::us, kcenon::pacs::services::sop_classes::us_image_storage_retired_uid, kcenon::pacs::services::sop_classes::us_image_storage_uid, kcenon::pacs::services::sop_classes::us_multiframe_image_storage_retired_uid, and kcenon::pacs::services::sop_classes::us_multiframe_image_storage_uid.
Referenced by register_standard_sop_classes().

|
private |
Definition at line 1089 of file sop_class_registry.cpp.
References kcenon::pacs::services::sop_classes::get_waveform_sop_class_info(), kcenon::pacs::services::sop_classes::get_waveform_storage_sop_classes(), kcenon::pacs::services::other, registry_, kcenon::pacs::services::storage, and uid.
Referenced by register_standard_sop_classes().


|
private |
Definition at line 992 of file sop_class_registry.cpp.
References registry_, kcenon::pacs::services::sm, kcenon::pacs::services::storage, and kcenon::pacs::services::sop_classes::wsi_image_storage_uid.
Referenced by register_standard_sop_classes().

|
private |
Definition at line 242 of file sop_class_registry.cpp.
References kcenon::pacs::services::sop_classes::enhanced_xa_image_storage_uid, registry_, kcenon::pacs::services::storage, kcenon::pacs::services::xa, kcenon::pacs::services::sop_classes::xa_image_storage_uid, kcenon::pacs::services::sop_classes::xray_3d_angiographic_image_storage_uid, kcenon::pacs::services::sop_classes::xray_3d_craniofacial_image_storage_uid, kcenon::pacs::services::xrf, and kcenon::pacs::services::sop_classes::xrf_image_storage_uid.
Referenced by register_standard_sop_classes().

|
private |
Definition at line 222 of file sop_class_registry.h.
Referenced by get_all(), get_all_storage_classes(), get_by_category(), get_by_modality(), get_info(), is_supported(), register_ct_sop_classes(), register_dx_sop_classes(), register_mr_sop_classes(), register_nm_sop_classes(), register_ophthalmic_sop_classes(), register_other_sop_classes(), register_parametric_map_sop_classes(), register_pet_sop_classes(), register_print_sop_classes(), register_rt_sop_classes(), register_seg_sop_classes(), register_sop_class(), register_sr_sop_classes(), register_ups_sop_classes(), register_us_sop_classes(), register_waveform_sop_classes(), register_wsi_sop_classes(), and register_xa_sop_classes().