|
PACS System 0.1.0
PACS DICOM system library
|
Represents a DICOM Dataset (ordered collection of Data Elements) More...
#include <dicom_dataset.h>

Public Types | |
| using | storage_type = std::map<dicom_tag, dicom_element> |
| Storage type for elements (ordered by tag) | |
| using | iterator = storage_type::iterator |
| Iterator type. | |
| using | const_iterator = storage_type::const_iterator |
| Const iterator type. | |
Public Member Functions | |
| dicom_dataset ()=default | |
| Default constructor - creates an empty dataset. | |
| dicom_dataset (const dicom_dataset &)=default | |
| Copy constructor. | |
| dicom_dataset (dicom_dataset &&) noexcept=default | |
| Move constructor. | |
| auto | operator= (const dicom_dataset &) -> dicom_dataset &=default |
| Copy assignment. | |
| auto | operator= (dicom_dataset &&) noexcept -> dicom_dataset &=default |
| Move assignment. | |
| ~dicom_dataset ()=default | |
| Default destructor. | |
| auto | contains (dicom_tag tag) const noexcept -> bool |
| Check if the dataset contains an element with the given tag. | |
| auto | get (dicom_tag tag) noexcept -> dicom_element * |
| Get a pointer to the element with the given tag. | |
| auto | get (dicom_tag tag) const noexcept -> const dicom_element * |
| Get a const pointer to the element with the given tag. | |
| auto | get_string (dicom_tag tag, std::string_view default_value="") const -> std::string |
| Get the string value of an element. | |
| template<typename T > requires std::is_arithmetic_v<T> | |
| auto | get_numeric (dicom_tag tag) const -> std::optional< T > |
| Get the numeric value of an element. | |
| auto | has_sequence (dicom_tag tag) const noexcept -> bool |
| Check if the dataset contains a sequence element with the given tag. | |
| auto | get_sequence (dicom_tag tag) const noexcept -> const std::vector< dicom_dataset > * |
| Get read-only access to sequence items for a given tag. | |
| auto | get_sequence (dicom_tag tag) noexcept -> std::vector< dicom_dataset > * |
| Get mutable access to sequence items for a given tag. | |
| auto | get_or_create_sequence (dicom_tag tag) -> std::vector< dicom_dataset > & |
| Insert or create a sequence element with the given tag. | |
| auto | get_private_creator (dicom_tag private_data_tag) const -> std::optional< std::string > |
| Get the Private Creator identification string for a private data element. | |
| auto | get_private_block (std::string_view creator_id, uint16_t group) const -> std::vector< const dicom_element * > |
| Get all private data elements belonging to a specific creator. | |
| auto | set_private_element (std::string_view creator_id, uint16_t group, uint8_t element_offset, encoding::vr_type vr, std::string_view value) -> std::optional< dicom_tag > |
| Insert a private data element with automatic creator management. | |
| auto | remove_private_block (std::string_view creator_id, uint16_t group) -> size_t |
| Remove all private data elements and their creator for a given creator. | |
| auto | cleanup_orphaned_creators () -> size_t |
| Remove orphaned Private Creator elements that have no data elements. | |
| auto | validate_private_tags () const -> std::vector< dicom_tag > |
| Validate private tag relationships in this dataset. | |
| void | insert (dicom_element element) |
| Insert or replace an element in the dataset. | |
| void | set_string (dicom_tag tag, encoding::vr_type vr, std::string_view value) |
| Set a string value for the given tag. | |
| template<typename T > requires std::is_arithmetic_v<T> | |
| void | set_numeric (dicom_tag tag, encoding::vr_type vr, T value) |
| Set a numeric value for the given tag. | |
| auto | remove (dicom_tag tag) -> bool |
| Remove an element from the dataset. | |
| void | clear () noexcept |
| Remove all elements from the dataset. | |
| auto | begin () noexcept -> iterator |
| Get iterator to the first element. | |
| auto | end () noexcept -> iterator |
| Get iterator past the last element. | |
| auto | begin () const noexcept -> const_iterator |
| Get const iterator to the first element. | |
| auto | end () const noexcept -> const_iterator |
| Get const iterator past the last element. | |
| auto | cbegin () const noexcept -> const_iterator |
| Get const iterator to the first element. | |
| auto | cend () const noexcept -> const_iterator |
| Get const iterator past the last element. | |
| auto | size () const noexcept -> size_t |
| Get the number of elements in the dataset. | |
| auto | empty () const noexcept -> bool |
| Check if the dataset is empty. | |
| auto | copy_with_tags (std::initializer_list< dicom_tag > tags) const -> dicom_dataset |
| Create a copy containing only the specified tags. | |
| auto | copy_with_tags (std::span< const dicom_tag > tags) const -> dicom_dataset |
| Create a copy containing only the specified tags. | |
| void | merge (const dicom_dataset &other) |
| Merge elements from another dataset. | |
| void | merge (dicom_dataset &&other) |
| Merge elements from another dataset (move version) | |
Private Attributes | |
| storage_type | elements_ |
Represents a DICOM Dataset (ordered collection of Data Elements)
A DICOM Dataset is an ordered collection of Data Elements, where each element is uniquely identified by its tag. Elements are stored in ascending tag order as required by the DICOM standard.
Thread Safety: This class is NOT thread-safe. External synchronization is required for concurrent access.
Definition at line 65 of file dicom_dataset.h.
| using kcenon::pacs::core::dicom_dataset::const_iterator = storage_type::const_iterator |
Const iterator type.
Definition at line 74 of file dicom_dataset.h.
| using kcenon::pacs::core::dicom_dataset::iterator = storage_type::iterator |
Iterator type.
Definition at line 71 of file dicom_dataset.h.
| using kcenon::pacs::core::dicom_dataset::storage_type = std::map<dicom_tag, dicom_element> |
Storage type for elements (ordered by tag)
Definition at line 68 of file dicom_dataset.h.
|
default |
Default constructor - creates an empty dataset.
|
default |
Copy constructor.
|
defaultnoexcept |
Move constructor.
|
default |
Default destructor.
|
nodiscardnoexcept |
Get const iterator to the first element.
Definition at line 311 of file dicom_dataset.cpp.
References elements_.
|
nodiscardnoexcept |
Get iterator to the first element.
Definition at line 303 of file dicom_dataset.cpp.
References elements_.
|
nodiscardnoexcept |
Get const iterator to the first element.
Definition at line 319 of file dicom_dataset.cpp.
References elements_.
|
nodiscardnoexcept |
Get const iterator past the last element.
Definition at line 323 of file dicom_dataset.cpp.
References elements_.
| auto kcenon::pacs::core::dicom_dataset::cleanup_orphaned_creators | ( | ) | -> size_t |
Remove orphaned Private Creator elements that have no data elements.
Definition at line 234 of file dicom_dataset.cpp.
|
noexcept |
Remove all elements from the dataset.
Definition at line 295 of file dicom_dataset.cpp.
References elements_.
|
nodiscardnoexcept |
Check if the dataset contains an element with the given tag.
| tag | The DICOM tag to check |
Definition at line 18 of file dicom_dataset.cpp.
Referenced by kcenon::pacs::services::validation::sr_iod_validator::check_completion_flag(), kcenon::pacs::services::validation::mg_iod_validator::check_compression_force_range(), kcenon::pacs::services::validation::rt_dose_iod_validator::check_dose_data_consistency(), kcenon::pacs::services::validation::ophthalmic_iod_validator::check_laterality(), kcenon::pacs::services::validation::mg_iod_validator::check_laterality_consistency(), kcenon::pacs::services::validation::ct_iod_validator::check_modality(), kcenon::pacs::services::validation::ct_processing_iod_validator::check_modality(), kcenon::pacs::services::validation::dx_iod_validator::check_modality(), kcenon::pacs::services::validation::heightmap_seg_iod_validator::check_modality(), kcenon::pacs::services::validation::label_map_seg_iod_validator::check_modality(), kcenon::pacs::services::validation::mg_iod_validator::check_modality(), kcenon::pacs::services::validation::mr_iod_validator::check_modality(), kcenon::pacs::services::validation::nm_iod_validator::check_modality(), kcenon::pacs::services::validation::ophthalmic_iod_validator::check_modality(), kcenon::pacs::services::validation::parametric_map_iod_validator::check_modality(), kcenon::pacs::services::validation::pet_iod_validator::check_modality(), kcenon::pacs::services::validation::seg_iod_validator::check_modality(), kcenon::pacs::services::validation::sr_iod_validator::check_modality(), kcenon::pacs::services::validation::us_iod_validator::check_modality(), kcenon::pacs::services::validation::wsi_iod_validator::check_modality(), kcenon::pacs::services::validation::xa_iod_validator::check_modality(), kcenon::pacs::services::validation::dx_iod_validator::check_photometric_interpretation(), kcenon::pacs::services::validation::mg_iod_validator::check_photometric_interpretation(), kcenon::pacs::services::validation::ct_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::ct_processing_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::heightmap_seg_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::label_map_seg_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::mr_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::nm_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::ophthalmic_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::parametric_map_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::pet_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::seg_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::us_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::wsi_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::xa_iod_validator::check_positioner_angles(), kcenon::pacs::services::validation::rt_structure_set_iod_validator::check_roi_consistency(), kcenon::pacs::services::validation::heightmap_seg_iod_validator::check_segmentation_type(), kcenon::pacs::services::validation::label_map_seg_iod_validator::check_segmentation_type(), kcenon::pacs::services::validation::seg_iod_validator::check_segmentation_type(), kcenon::pacs::services::validation::ct_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::ct_processing_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::dx_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::heightmap_seg_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::label_map_seg_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::mg_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::mr_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::nm_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::ophthalmic_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::parametric_map_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::pet_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::rt_dose_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::rt_plan_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::rt_structure_set_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::seg_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::sr_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::us_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::waveform_ps_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::wsi_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::xa_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::ct_iod_validator::check_type2_attribute(), kcenon::pacs::services::validation::ct_processing_iod_validator::check_type2_attribute(), kcenon::pacs::services::validation::dx_iod_validator::check_type2_attribute(), kcenon::pacs::services::validation::heightmap_seg_iod_validator::check_type2_attribute(), kcenon::pacs::services::validation::label_map_seg_iod_validator::check_type2_attribute(), kcenon::pacs::services::validation::mg_iod_validator::check_type2_attribute(), kcenon::pacs::services::validation::mr_iod_validator::check_type2_attribute(), kcenon::pacs::services::validation::nm_iod_validator::check_type2_attribute(), kcenon::pacs::services::validation::ophthalmic_iod_validator::check_type2_attribute(), kcenon::pacs::services::validation::parametric_map_iod_validator::check_type2_attribute(), kcenon::pacs::services::validation::pet_iod_validator::check_type2_attribute(), kcenon::pacs::services::validation::rt_dose_iod_validator::check_type2_attribute(), kcenon::pacs::services::validation::rt_plan_iod_validator::check_type2_attribute(), kcenon::pacs::services::validation::rt_structure_set_iod_validator::check_type2_attribute(), kcenon::pacs::services::validation::seg_iod_validator::check_type2_attribute(), kcenon::pacs::services::validation::sr_iod_validator::check_type2_attribute(), kcenon::pacs::services::validation::us_iod_validator::check_type2_attribute(), kcenon::pacs::services::validation::waveform_ps_iod_validator::check_type2_attribute(), kcenon::pacs::services::validation::wsi_iod_validator::check_type2_attribute(), kcenon::pacs::services::validation::xa_iod_validator::check_type2_attribute(), kcenon::pacs::services::validation::sr_iod_validator::check_verification_flag(), kcenon::pacs::services::validation::mg_iod_validator::check_view_position_validity(), kcenon::pacs::services::validation::xa_iod_validator::check_xa_photometric(), kcenon::pacs::services::validation::has_breast_implant(), kcenon::pacs::services::validation::has_qca_calibration(), kcenon::pacs::services::validation::is_binary_segmentation(), kcenon::pacs::services::validation::is_for_presentation_dx(), kcenon::pacs::services::validation::is_for_presentation_mg(), kcenon::pacs::services::validation::is_for_processing_dx(), kcenon::pacs::services::validation::is_for_processing_mg(), kcenon::pacs::services::validation::is_fractional_segmentation(), kcenon::pacs::services::validation::is_heightmap_segmentation(), kcenon::pacs::services::validation::is_label_map_segmentation(), kcenon::pacs::services::validation::is_screening_mammogram(), kcenon::pacs::services::validation::is_sr_complete(), kcenon::pacs::services::validation::is_sr_verified(), kcenon::pacs::network::dimse::dimse_message::is_valid(), kcenon::pacs::services::validation::ct_iod_validator::quick_check(), kcenon::pacs::services::validation::ct_processing_iod_validator::quick_check(), kcenon::pacs::services::validation::dx_iod_validator::quick_check(), kcenon::pacs::services::validation::heightmap_seg_iod_validator::quick_check(), kcenon::pacs::services::validation::label_map_seg_iod_validator::quick_check(), kcenon::pacs::services::validation::mg_iod_validator::quick_check(), kcenon::pacs::services::validation::mr_iod_validator::quick_check(), kcenon::pacs::services::validation::nm_iod_validator::quick_check(), kcenon::pacs::services::validation::ophthalmic_iod_validator::quick_check(), kcenon::pacs::services::validation::parametric_map_iod_validator::quick_check(), kcenon::pacs::services::validation::pet_iod_validator::quick_check(), kcenon::pacs::services::validation::rt_dose_iod_validator::quick_check(), kcenon::pacs::services::validation::rt_plan_iod_validator::quick_check(), kcenon::pacs::services::validation::rt_structure_set_iod_validator::quick_check(), kcenon::pacs::services::validation::seg_iod_validator::quick_check(), kcenon::pacs::services::validation::sr_iod_validator::quick_check(), kcenon::pacs::services::validation::us_iod_validator::quick_check(), kcenon::pacs::services::validation::waveform_ps_iod_validator::quick_check(), kcenon::pacs::services::validation::wsi_iod_validator::quick_check(), kcenon::pacs::services::validation::xa_iod_validator::quick_check(), kcenon::pacs::services::validation::rt_iod_validator::validate(), kcenon::pacs::services::validation::sr_iod_validator::validate(), kcenon::pacs::services::validation::ophthalmic_iod_validator::validate_acquisition_context_module(), kcenon::pacs::services::validation::mg_iod_validator::validate_acquisition_dose_module(), kcenon::pacs::services::validation::mg_iod_validator::validate_breast_implant_module(), kcenon::pacs::services::validation::xa_iod_validator::validate_calibration_module(), kcenon::pacs::services::validation::sr_iod_validator::validate_coded_entry(), kcenon::pacs::services::validation::heightmap_seg_iod_validator::validate_common_instance_reference_module(), kcenon::pacs::services::validation::label_map_seg_iod_validator::validate_common_instance_reference_module(), kcenon::pacs::services::validation::parametric_map_iod_validator::validate_common_instance_reference_module(), kcenon::pacs::services::validation::seg_iod_validator::validate_common_instance_reference_module(), kcenon::pacs::services::validation::sr_iod_validator::validate_content_sequence(), kcenon::pacs::services::validation::pet_iod_validator::validate_corrections(), kcenon::pacs::services::validation::ct_iod_validator::validate_ct_image_module(), kcenon::pacs::services::validation::ct_processing_iod_validator::validate_ct_image_module(), kcenon::pacs::services::validation::dx_iod_validator::validate_dx_anatomy_imaged_module(), kcenon::pacs::services::validation::mg_iod_validator::validate_dx_anatomy_imaged_module(), kcenon::pacs::services::validation::dx_iod_validator::validate_dx_detector_module(), kcenon::pacs::services::validation::mg_iod_validator::validate_dx_detector_module(), kcenon::pacs::services::validation::dx_iod_validator::validate_dx_image_module(), kcenon::pacs::services::validation::dx_iod_validator::validate_dx_positioning_module(), kcenon::pacs::services::validation::nm_iod_validator::validate_energy_window_info(), kcenon::pacs::services::validation::sr_iod_validator::validate_evidence_sequences(), kcenon::pacs::services::validation::dx_iod_validator::validate_for_presentation(), kcenon::pacs::services::validation::mg_iod_validator::validate_for_presentation(), kcenon::pacs::services::validation::dx_iod_validator::validate_for_processing(), kcenon::pacs::services::validation::mg_iod_validator::validate_for_processing(), kcenon::pacs::services::validation::rt_dose_iod_validator::validate_image_pixel_module(), kcenon::pacs::services::validation::sr_iod_validator::validate_key_object_selection(), kcenon::pacs::services::validation::mg_iod_validator::validate_mammography_image_module(), kcenon::pacs::services::validation::mg_iod_validator::validate_mammography_series_module(), kcenon::pacs::services::validation::mr_iod_validator::validate_mr_image_module(), kcenon::pacs::services::validation::nm_iod_validator::validate_multiframe(), kcenon::pacs::services::validation::parametric_map_iod_validator::validate_multiframe_dimension_module(), kcenon::pacs::services::validation::wsi_iod_validator::validate_multiframe_dimension_module(), kcenon::pacs::services::validation::parametric_map_iod_validator::validate_multiframe_functional_groups_module(), kcenon::pacs::services::validation::nm_iod_validator::validate_multiframe_module(), kcenon::pacs::services::validation::ophthalmic_iod_validator::validate_multiframe_module(), kcenon::pacs::services::validation::us_iod_validator::validate_multiframe_module(), kcenon::pacs::services::validation::xa_iod_validator::validate_multiframe_module(), kcenon::pacs::services::validation::nm_iod_validator::validate_nm_detector_module(), kcenon::pacs::services::validation::nm_iod_validator::validate_nm_gated_module(), kcenon::pacs::services::validation::nm_iod_validator::validate_nm_image_module(), kcenon::pacs::services::validation::nm_iod_validator::validate_nm_series_module(), kcenon::pacs::services::validation::nm_iod_validator::validate_nm_tomo_module(), kcenon::pacs::services::validation::ophthalmic_iod_validator::validate_ophthalmic_image_module(), kcenon::pacs::services::validation::wsi_iod_validator::validate_optical_path_module(), kcenon::pacs::services::validation::parametric_map_iod_validator::validate_parametric_map_image_module(), kcenon::pacs::services::validation::pet_iod_validator::validate_pet_image_module(), kcenon::pacs::services::validation::pet_iod_validator::validate_pet_series_module(), validate_private_tags(), kcenon::pacs::services::validation::nm_iod_validator::validate_radiopharmaceutical_info(), kcenon::pacs::services::validation::pet_iod_validator::validate_radiopharmaceutical_info(), kcenon::pacs::services::validation::pet_iod_validator::validate_reconstruction_info(), kcenon::pacs::services::validation::waveform_ps_iod_validator::validate_references(), kcenon::pacs::services::validation::rt_structure_set_iod_validator::validate_roi_contour_module(), kcenon::pacs::services::validation::rt_plan_iod_validator::validate_rt_beams_module(), kcenon::pacs::services::validation::rt_dose_iod_validator::validate_rt_dose_module(), kcenon::pacs::services::validation::rt_plan_iod_validator::validate_rt_fraction_scheme_module(), kcenon::pacs::services::validation::rt_plan_iod_validator::validate_rt_general_plan_module(), kcenon::pacs::services::validation::rt_structure_set_iod_validator::validate_rt_roi_observations_module(), kcenon::pacs::services::validation::rt_dose_iod_validator::validate_rt_series_module(), kcenon::pacs::services::validation::rt_plan_iod_validator::validate_rt_series_module(), kcenon::pacs::services::validation::rt_structure_set_iod_validator::validate_rt_series_module(), kcenon::pacs::services::validation::heightmap_seg_iod_validator::validate_segment_sequence(), kcenon::pacs::services::validation::label_map_seg_iod_validator::validate_segment_sequence(), kcenon::pacs::services::validation::seg_iod_validator::validate_segment_sequence(), kcenon::pacs::services::validation::seg_iod_validator::validate_segmentation_image_module(), kcenon::pacs::services::validation::heightmap_seg_iod_validator::validate_single_segment(), kcenon::pacs::services::validation::label_map_seg_iod_validator::validate_single_segment(), kcenon::pacs::services::validation::seg_iod_validator::validate_single_segment(), kcenon::pacs::services::validation::ct_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::ct_processing_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::dx_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::heightmap_seg_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::label_map_seg_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::mg_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::mr_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::nm_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::ophthalmic_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::parametric_map_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::pet_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::rt_dose_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::rt_plan_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::rt_structure_set_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::seg_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::sr_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::us_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::waveform_ps_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::wsi_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::xa_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::wsi_iod_validator::validate_specimen_module(), kcenon::pacs::services::validation::sr_iod_validator::validate_sr_document_content_module(), kcenon::pacs::services::validation::sr_iod_validator::validate_sr_document_general_module(), kcenon::pacs::services::validation::rt_structure_set_iod_validator::validate_structure_set_module(), kcenon::pacs::services::validation::pet_iod_validator::validate_suv_parameters(), kcenon::pacs::services::validation::us_iod_validator::validate_us_image_module(), kcenon::pacs::services::validation::dx_iod_validator::validate_voi_lut_module(), kcenon::pacs::services::validation::mg_iod_validator::validate_voi_lut_module(), kcenon::pacs::services::validation::waveform_ps_iod_validator::validate_waveform_annotation_module(), kcenon::pacs::services::validation::waveform_ps_iod_validator::validate_waveform_ps_module(), kcenon::pacs::services::validation::wsi_iod_validator::validate_wsi_image_module(), and kcenon::pacs::services::validation::xa_iod_validator::validate_xa_acquisition_module().

|
nodiscard |
Create a copy containing only the specified tags.
| tags | List of tags to include in the copy |
Definition at line 343 of file dicom_dataset.cpp.
|
nodiscard |
Create a copy containing only the specified tags.
| tags | Span of tags to include in the copy |
Definition at line 348 of file dicom_dataset.cpp.
References insert().

|
nodiscardnoexcept |
Check if the dataset is empty.
Definition at line 335 of file dicom_dataset.cpp.
References elements_.
Referenced by kcenon::pacs::web::endpoints::register_routing_endpoints_impl().

|
nodiscardnoexcept |
Get const iterator past the last element.
Definition at line 315 of file dicom_dataset.cpp.
References elements_.
|
nodiscardnoexcept |
Get iterator past the last element.
Definition at line 307 of file dicom_dataset.cpp.
References elements_.
|
nodiscardnoexcept |
Get a const pointer to the element with the given tag.
| tag | The DICOM tag to look up |
Definition at line 30 of file dicom_dataset.cpp.
|
nodiscardnoexcept |
Get a pointer to the element with the given tag.
| tag | The DICOM tag to look up |
Definition at line 22 of file dicom_dataset.cpp.
Referenced by kcenon::pacs::network::dimse::dimse_message::attribute_identifier_list(), kcenon::pacs::services::validation::heightmap_seg_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::label_map_seg_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::parametric_map_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::seg_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::sr_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::waveform_ps_iod_validator::check_type1_attribute(), kcenon::pacs::services::print_scu::create_film_box(), kcenon::pacs::services::xds::imaging_document_consumer::extract_references(), kcenon::pacs::services::n_get_scu::get(), kcenon::pacs::services::ups_push_scu::get(), kcenon::pacs::services::validation::get_content_item_count(), kcenon::pacs::encoding::get_decoded_string(), get_numeric(), kcenon::pacs::services::validation::get_segment_count(), kcenon::pacs::services::validation::get_sr_document_title(), kcenon::pacs::services::print_scu::query_printer_status(), kcenon::pacs::web::endpoints::register_dicomweb_endpoints_impl(), kcenon::pacs::services::validation::sr_iod_validator::validate_content_sequence(), kcenon::pacs::services::validation::heightmap_seg_iod_validator::validate_segment_sequence(), kcenon::pacs::services::validation::label_map_seg_iod_validator::validate_segment_sequence(), kcenon::pacs::services::validation::seg_iod_validator::validate_segment_sequence(), and kcenon::pacs::services::validation::sr_iod_validator::validate_sr_document_content_module().

|
nodiscard |
Get the numeric value of an element.
| T | The numeric type to return |
| tag | The DICOM tag to look up |
Definition at line 433 of file dicom_dataset.h.
References get().
Referenced by kcenon::pacs::network::dimse::dimse_message::action_type_id(), kcenon::pacs::services::validation::mg_iod_validator::check_compression_force_range(), kcenon::pacs::services::validation::rt_dose_iod_validator::check_dose_data_consistency(), kcenon::pacs::services::validation::ct_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::ct_processing_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::dx_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::heightmap_seg_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::label_map_seg_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::mg_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::mr_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::nm_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::ophthalmic_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::parametric_map_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::pet_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::seg_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::us_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::wsi_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::xa_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::xa_iod_validator::check_positioner_angles(), kcenon::pacs::network::dimse::dimse_message::completed_subops(), kcenon::pacs::network::dimse::dimse_message::event_type_id(), kcenon::pacs::network::dimse::dimse_message::failed_subops(), kcenon::pacs::services::validation::has_qca_calibration(), main(), kcenon::pacs::network::dimse::dimse_message::message_id_responded_to(), kcenon::pacs::network::dimse::dimse_message::priority(), kcenon::pacs::network::dimse::dimse_message::remaining_subops(), kcenon::pacs::network::dimse::dimse_message::status(), kcenon::pacs::samples::mini_pacs::update_index(), kcenon::pacs::services::validation::mg_iod_validator::validate_acquisition_dose_module(), kcenon::pacs::services::validation::xa_iod_validator::validate_calibration_module(), kcenon::pacs::services::validation::dx_iod_validator::validate_dx_image_module(), kcenon::pacs::services::validation::nm_iod_validator::validate_multiframe_module(), kcenon::pacs::services::validation::rt_plan_iod_validator::validate_rt_beams_module(), and kcenon::pacs::network::dimse::dimse_message::warning_subops().


|
nodiscard |
Insert or create a sequence element with the given tag.
| tag | The DICOM tag for the sequence |
If an element with the tag already exists and is not a sequence, it will be replaced with an empty sequence.
Definition at line 79 of file dicom_dataset.cpp.
References kcenon::pacs::encoding::SQ.
Referenced by kcenon::pacs::services::storage_commitment_scu::build_action_dataset(), kcenon::pacs::services::storage_commitment_scp::build_event_report_dataset(), kcenon::pacs::services::print_scp::create_film_box(), and kcenon::pacs::services::print_scu::create_film_box().

|
nodiscard |
Get all private data elements belonging to a specific creator.
Searches the given group for a Private Creator element matching creator_id, then returns all data elements in that creator's block.
| creator_id | The Private Creator identification string (e.g. "SIEMENS CSA HEADER") |
| group | The private group number (must be odd) |
Definition at line 111 of file dicom_dataset.cpp.
|
nodiscard |
Get the Private Creator identification string for a private data element.
Looks up the Private Creator element (gggg,00xx) for a given private data element (gggg,xxyy) and returns its string value.
| private_data_tag | A private data element tag |
Definition at line 94 of file dicom_dataset.cpp.
Referenced by kcenon::pacs::core::dicom_file::decode_implicit_vr_le().

|
nodiscardnoexcept |
Get read-only access to sequence items for a given tag.
| tag | The DICOM tag of the sequence element |
Definition at line 61 of file dicom_dataset.cpp.
Referenced by kcenon::pacs::services::storage_commitment_scu::parse_event_report_dataset(), and kcenon::pacs::services::storage_commitment_scp::parse_referenced_sop_sequence().

|
nodiscardnoexcept |
Get mutable access to sequence items for a given tag.
| tag | The DICOM tag of the sequence element |
Definition at line 70 of file dicom_dataset.cpp.
|
nodiscard |
Get the string value of an element.
| tag | The DICOM tag to look up |
| default_value | Value to return if element not found |
Definition at line 42 of file dicom_dataset.cpp.
Referenced by kcenon::pacs::services::pir::patient_reconciliation_service::add_instance(), kcenon::pacs::network::dimse::dimse_message::affected_sop_class_uid(), kcenon::pacs::network::dimse::dimse_message::affected_sop_instance_uid(), kcenon::pacs::services::xds::imaging_document_source::build_document_entry(), kcenon::pacs::services::validation::sr_iod_validator::check_completion_flag(), kcenon::pacs::services::validation::ophthalmic_iod_validator::check_laterality(), kcenon::pacs::services::validation::mg_iod_validator::check_laterality_consistency(), kcenon::pacs::services::validation::ct_iod_validator::check_modality(), kcenon::pacs::services::validation::ct_processing_iod_validator::check_modality(), kcenon::pacs::services::validation::dx_iod_validator::check_modality(), kcenon::pacs::services::validation::heightmap_seg_iod_validator::check_modality(), kcenon::pacs::services::validation::label_map_seg_iod_validator::check_modality(), kcenon::pacs::services::validation::mg_iod_validator::check_modality(), kcenon::pacs::services::validation::mr_iod_validator::check_modality(), kcenon::pacs::services::validation::nm_iod_validator::check_modality(), kcenon::pacs::services::validation::ophthalmic_iod_validator::check_modality(), kcenon::pacs::services::validation::parametric_map_iod_validator::check_modality(), kcenon::pacs::services::validation::pet_iod_validator::check_modality(), kcenon::pacs::services::validation::seg_iod_validator::check_modality(), kcenon::pacs::services::validation::sr_iod_validator::check_modality(), kcenon::pacs::services::validation::us_iod_validator::check_modality(), kcenon::pacs::services::validation::wsi_iod_validator::check_modality(), kcenon::pacs::services::validation::xa_iod_validator::check_modality(), kcenon::pacs::services::validation::dx_iod_validator::check_photometric_interpretation(), kcenon::pacs::services::validation::mg_iod_validator::check_photometric_interpretation(), kcenon::pacs::services::validation::ct_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::ct_processing_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::heightmap_seg_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::label_map_seg_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::mr_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::nm_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::ophthalmic_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::parametric_map_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::pet_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::seg_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::us_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::wsi_iod_validator::check_pixel_data_consistency(), kcenon::pacs::services::validation::heightmap_seg_iod_validator::check_segmentation_type(), kcenon::pacs::services::validation::label_map_seg_iod_validator::check_segmentation_type(), kcenon::pacs::services::validation::seg_iod_validator::check_segmentation_type(), kcenon::pacs::services::validation::ct_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::ct_processing_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::dx_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::heightmap_seg_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::label_map_seg_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::mg_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::mr_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::nm_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::ophthalmic_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::parametric_map_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::pet_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::rt_dose_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::rt_plan_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::rt_structure_set_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::seg_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::sr_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::us_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::waveform_ps_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::wsi_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::xa_iod_validator::check_type1_attribute(), kcenon::pacs::services::validation::sr_iod_validator::check_verification_flag(), kcenon::pacs::services::validation::mg_iod_validator::check_view_position_validity(), kcenon::pacs::services::validation::xa_iod_validator::check_xa_photometric(), kcenon::pacs::services::query_scp::extract_query_level(), kcenon::pacs::encoding::get_decoded_string(), kcenon::pacs::client::routing_manager::get_field_value(), kcenon::pacs::samples::mini_pacs::handle_query(), kcenon::pacs::samples::mini_pacs::handle_retrieve(), kcenon::pacs::samples::mini_pacs::handle_store(), kcenon::pacs::samples::mini_pacs::handle_worklist_query(), kcenon::pacs::services::validation::has_breast_implant(), kcenon::pacs::services::validation::is_binary_segmentation(), kcenon::pacs::services::validation::is_for_presentation_dx(), kcenon::pacs::services::validation::is_for_presentation_mg(), kcenon::pacs::services::validation::is_for_processing_dx(), kcenon::pacs::services::validation::is_for_processing_mg(), kcenon::pacs::services::validation::is_fractional_segmentation(), kcenon::pacs::services::validation::is_heightmap_segmentation(), kcenon::pacs::services::validation::is_label_map_segmentation(), kcenon::pacs::services::validation::is_screening_mammogram(), kcenon::pacs::services::validation::is_sr_complete(), kcenon::pacs::services::validation::is_sr_verified(), main(), main(), kcenon::pacs::services::ups_watch_scu::parse_event_dataset(), kcenon::pacs::services::storage_commitment_scu::parse_event_report_dataset(), kcenon::pacs::services::worklist_scu::parse_worklist_item(), kcenon::pacs::samples::print_dataset_summary(), kcenon::pacs::services::xds::imaging_document_source::publish_document(), kcenon::pacs::services::validation::ct_iod_validator::quick_check(), kcenon::pacs::services::validation::ct_processing_iod_validator::quick_check(), kcenon::pacs::services::validation::dx_iod_validator::quick_check(), kcenon::pacs::services::validation::heightmap_seg_iod_validator::quick_check(), kcenon::pacs::services::validation::label_map_seg_iod_validator::quick_check(), kcenon::pacs::services::validation::mg_iod_validator::quick_check(), kcenon::pacs::services::validation::mr_iod_validator::quick_check(), kcenon::pacs::services::validation::nm_iod_validator::quick_check(), kcenon::pacs::services::validation::ophthalmic_iod_validator::quick_check(), kcenon::pacs::services::validation::parametric_map_iod_validator::quick_check(), kcenon::pacs::services::validation::pet_iod_validator::quick_check(), kcenon::pacs::services::validation::rt_dose_iod_validator::quick_check(), kcenon::pacs::services::validation::rt_plan_iod_validator::quick_check(), kcenon::pacs::services::validation::rt_structure_set_iod_validator::quick_check(), kcenon::pacs::services::validation::seg_iod_validator::quick_check(), kcenon::pacs::services::validation::sr_iod_validator::quick_check(), kcenon::pacs::services::validation::us_iod_validator::quick_check(), kcenon::pacs::services::validation::waveform_ps_iod_validator::quick_check(), kcenon::pacs::services::validation::wsi_iod_validator::quick_check(), kcenon::pacs::services::validation::xa_iod_validator::quick_check(), kcenon::pacs::web::endpoints::register_routing_endpoints_impl(), kcenon::pacs::network::dimse::dimse_message::requested_sop_class_uid(), kcenon::pacs::network::dimse::dimse_message::requested_sop_instance_uid(), kcenon::pacs::client::routing_manager::route(), kcenon::pacs::encoding::set_encoded_string(), kcenon::pacs::core::dicom_file::sop_class_uid(), kcenon::pacs::core::dicom_file::sop_instance_uid(), kcenon::pacs::di::test::MockStorage::store(), kcenon::pacs::ai::assessment_manager::store_assessment(), kcenon::pacs::services::storage_scu::store_impl(), kcenon::pacs::core::dicom_file::transfer_syntax(), kcenon::pacs::samples::mini_pacs::update_index(), kcenon::pacs::storage::hsm_storage::update_metadata(), kcenon::pacs::services::validation::rt_iod_validator::validate(), kcenon::pacs::services::validation::sr_iod_validator::validate(), kcenon::pacs::services::validation::waveform_ps_iod_validator::validate(), kcenon::pacs::services::validation::mg_iod_validator::validate_breast_implant_module(), kcenon::pacs::services::validation::sr_iod_validator::validate_content_sequence(), kcenon::pacs::services::validation::pet_iod_validator::validate_corrections(), kcenon::pacs::services::validation::mg_iod_validator::validate_dx_anatomy_imaged_module(), kcenon::pacs::services::validation::dx_iod_validator::validate_dx_detector_module(), kcenon::pacs::services::validation::mg_iod_validator::validate_dx_detector_module(), kcenon::pacs::services::validation::dx_iod_validator::validate_dx_image_module(), kcenon::pacs::services::validation::dx_iod_validator::validate_dx_positioning_module(), kcenon::pacs::services::validation::dx_iod_validator::validate_for_presentation(), kcenon::pacs::services::validation::mg_iod_validator::validate_for_presentation(), kcenon::pacs::services::validation::dx_iod_validator::validate_for_processing(), kcenon::pacs::services::validation::mg_iod_validator::validate_for_processing(), kcenon::pacs::services::validation::mg_iod_validator::validate_mammography_image_module(), kcenon::pacs::services::validation::mr_iod_validator::validate_mr_image_module(), kcenon::pacs::services::validation::nm_iod_validator::validate_multiframe(), kcenon::pacs::services::validation::wsi_iod_validator::validate_multiframe_dimension_module(), kcenon::pacs::services::validation::ophthalmic_iod_validator::validate_multiframe_module(), kcenon::pacs::services::validation::nm_iod_validator::validate_nm_detector_module(), kcenon::pacs::services::validation::nm_iod_validator::validate_nm_image_module(), kcenon::pacs::services::validation::nm_iod_validator::validate_nm_series_module(), kcenon::pacs::services::validation::nm_iod_validator::validate_nm_tomo_module(), kcenon::pacs::services::validation::pet_iod_validator::validate_pet_image_module(), kcenon::pacs::services::validation::pet_iod_validator::validate_pet_series_module(), kcenon::pacs::services::validation::pet_iod_validator::validate_radiopharmaceutical_info(), kcenon::pacs::services::validation::rt_plan_iod_validator::validate_rt_beams_module(), kcenon::pacs::services::validation::rt_dose_iod_validator::validate_rt_dose_module(), kcenon::pacs::services::validation::rt_plan_iod_validator::validate_rt_general_plan_module(), kcenon::pacs::services::validation::rt_dose_iod_validator::validate_rt_series_module(), kcenon::pacs::services::validation::rt_plan_iod_validator::validate_rt_series_module(), kcenon::pacs::services::validation::rt_structure_set_iod_validator::validate_rt_series_module(), kcenon::pacs::services::validation::seg_iod_validator::validate_segmentation_image_module(), kcenon::pacs::services::validation::heightmap_seg_iod_validator::validate_single_segment(), kcenon::pacs::services::validation::label_map_seg_iod_validator::validate_single_segment(), kcenon::pacs::services::validation::seg_iod_validator::validate_single_segment(), kcenon::pacs::services::validation::ct_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::ct_processing_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::dx_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::heightmap_seg_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::label_map_seg_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::mg_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::mr_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::nm_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::ophthalmic_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::parametric_map_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::pet_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::rt_dose_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::rt_plan_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::rt_structure_set_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::seg_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::sr_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::us_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::waveform_ps_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::wsi_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::xa_iod_validator::validate_sop_common_module(), kcenon::pacs::services::validation::sr_iod_validator::validate_sr_document_content_module(), kcenon::pacs::services::validation::sr_iod_validator::validate_sr_document_general_module(), and kcenon::pacs::services::validation::pet_iod_validator::validate_suv_parameters().

|
nodiscardnoexcept |
Check if the dataset contains a sequence element with the given tag.
| tag | The DICOM tag to check |
Definition at line 56 of file dicom_dataset.cpp.
| void kcenon::pacs::core::dicom_dataset::insert | ( | dicom_element | element | ) |
Insert or replace an element in the dataset.
| element | The element to insert (copied or moved) |
If an element with the same tag already exists, it will be replaced. Use std::move() when passing the element to avoid unnecessary copies.
Definition at line 282 of file dicom_dataset.cpp.
References elements_, and kcenon::pacs::core::dicom_element::tag().
Referenced by copy_with_tags(), kcenon::pacs::encoding::explicit_vr_big_endian_codec::decode(), kcenon::pacs::encoding::explicit_vr_codec::decode(), kcenon::pacs::encoding::implicit_vr_codec::decode(), kcenon::pacs::core::dicom_file::decode_explicit_vr_be(), kcenon::pacs::core::dicom_file::decode_explicit_vr_le(), kcenon::pacs::core::dicom_file::decode_implicit_vr_le(), kcenon::pacs::integration::container_adapter::deserialize_dataset(), kcenon::pacs::core::dicom_file::generate_meta_information(), merge(), merge(), kcenon::pacs::core::dicom_file::parse_meta_information(), kcenon::pacs::network::dimse::dimse_message::set_attribute_identifier_list(), kcenon::pacs::encoding::set_encoded_string(), set_numeric(), and set_string().


| void kcenon::pacs::core::dicom_dataset::merge | ( | const dicom_dataset & | other | ) |
Merge elements from another dataset.
| other | The dataset to merge from |
Elements from 'other' will overwrite existing elements with the same tag.
Definition at line 362 of file dicom_dataset.cpp.
References insert().

| void kcenon::pacs::core::dicom_dataset::merge | ( | dicom_dataset && | other | ) |
Merge elements from another dataset (move version)
| other | The dataset to merge from (moved) |
Definition at line 368 of file dicom_dataset.cpp.
References insert().

|
default |
Copy assignment.
|
defaultnoexcept |
Move assignment.
| auto kcenon::pacs::core::dicom_dataset::remove | ( | dicom_tag | tag | ) | -> bool |
Remove an element from the dataset.
| tag | The tag of the element to remove |
Definition at line 291 of file dicom_dataset.cpp.
Referenced by kcenon::pacs::network::dimse::dimse_message::update_command_group_length().

| auto kcenon::pacs::core::dicom_dataset::remove_private_block | ( | std::string_view | creator_id, |
| uint16_t | group ) -> size_t |
Remove all private data elements and their creator for a given creator.
Removes both the Private Creator element and all associated data elements in the specified group.
| creator_id | The Private Creator identification string |
| group | The private group number (must be odd) |
Definition at line 199 of file dicom_dataset.cpp.
| void kcenon::pacs::core::dicom_dataset::set_numeric | ( | dicom_tag | tag, |
| encoding::vr_type | vr, | ||
| T | value ) |
Set a numeric value for the given tag.
| T | The numeric type |
| tag | The DICOM tag |
| vr | The value representation |
| value | The numeric value |
Definition at line 448 of file dicom_dataset.h.
References kcenon::pacs::core::dicom_element::from_numeric(), insert(), and vr.
Referenced by kcenon::pacs::samples::test_data_generator::create_base_dataset(), kcenon::pacs::network::dimse::dimse_message::dimse_message(), kcenon::pacs::samples::mini_pacs::handle_query(), main(), kcenon::pacs::network::dimse::dimse_message::set_action_type_id(), kcenon::pacs::network::dimse::dimse_message::set_completed_subops(), kcenon::pacs::network::dimse::dimse_message::set_event_type_id(), kcenon::pacs::network::dimse::dimse_message::set_failed_subops(), kcenon::pacs::network::dimse::dimse_message::set_message_id_responded_to(), kcenon::pacs::network::dimse::dimse_message::set_priority(), kcenon::pacs::network::dimse::dimse_message::set_remaining_subops(), kcenon::pacs::network::dimse::dimse_message::set_status(), kcenon::pacs::network::dimse::dimse_message::set_warning_subops(), kcenon::pacs::network::dimse::dimse_message::update_command_group_length(), and kcenon::pacs::network::dimse::dimse_message::update_data_set_type().


| auto kcenon::pacs::core::dicom_dataset::set_private_element | ( | std::string_view | creator_id, |
| uint16_t | group, | ||
| uint8_t | element_offset, | ||
| encoding::vr_type | vr, | ||
| std::string_view | value ) -> std::optional<dicom_tag> |
Insert a private data element with automatic creator management.
Automatically ensures the corresponding Private Creator element exists. If the creator already owns a block in the given group, reuses that block. Otherwise, allocates the next available slot.
Per DICOM PS3.5 §7.8.1, Private Creator elements are placed at (gggg,00xx) and data elements at (gggg,xxyy).
| creator_id | Private Creator identification (e.g. "SIEMENS CSA HEADER") |
| group | Odd group number (e.g. 0x0009) |
| element_offset | Offset within the block (0x00-0xFF) |
| vr | Value Representation for the data element |
| value | The element value |
Definition at line 145 of file dicom_dataset.cpp.
References kcenon::pacs::encoding::LO, and vr.
| void kcenon::pacs::core::dicom_dataset::set_string | ( | dicom_tag | tag, |
| encoding::vr_type | vr, | ||
| std::string_view | value ) |
Set a string value for the given tag.
| tag | The DICOM tag |
| vr | The value representation |
| value | The string value |
Creates a new element or updates an existing one.
Definition at line 286 of file dicom_dataset.cpp.
References kcenon::pacs::core::dicom_element::from_string(), insert(), and vr.
Referenced by kcenon::pacs::services::pir::patient_reconciliation_service::apply_demographics(), kcenon::pacs::services::storage_commitment_scu::build_action_dataset(), kcenon::pacs::services::storage_commitment_scp::build_event_report_dataset(), kcenon::pacs::services::xds::imaging_document_source::build_evidence_sequence(), kcenon::pacs::ai::assessment_creator::build_referenced_sop_sequence(), kcenon::pacs::ai::assessment_creator::build_sr_content(), kcenon::pacs::samples::test_data_generator::create_base_dataset(), kcenon::pacs::services::print_scp::create_film_box(), kcenon::pacs::services::print_scu::create_film_box(), kcenon::pacs::services::print_scu::create_film_session(), kcenon::pacs::services::xds::imaging_document_source::create_kos_document(), kcenon::pacs::samples::mini_pacs::create_worklist_response(), kcenon::pacs::client::job_manager::impl::execute_prefetch_job(), kcenon::pacs::client::job_manager::impl::execute_query_job(), kcenon::pacs::client::job_manager::impl::execute_sync_job(), kcenon::pacs::core::dicom_file::generate_meta_information(), kcenon::pacs::services::print_scp::handle_n_get(), kcenon::pacs::services::ups_push_scp::handle_n_get(), kcenon::pacs::samples::mini_pacs::handle_query(), main(), kcenon::pacs::services::ups_watch_scp::notify_cancel_requested(), kcenon::pacs::services::ups_watch_scp::notify_progress(), kcenon::pacs::services::ups_watch_scp::notify_state_change(), kcenon::pacs::client::sync_manager::impl::query_remote_studies(), kcenon::pacs::network::dimse::dimse_message::set_affected_sop_class_uid(), kcenon::pacs::network::dimse::dimse_message::set_affected_sop_instance_uid(), kcenon::pacs::services::print_scu::set_image_box(), kcenon::pacs::network::dimse::dimse_message::set_requested_sop_class_uid(), and kcenon::pacs::network::dimse::dimse_message::set_requested_sop_instance_uid().


|
nodiscardnoexcept |
Get the number of elements in the dataset.
Definition at line 331 of file dicom_dataset.cpp.
References elements_.
Referenced by main(), and kcenon::pacs::services::storage_scu::store_impl().

|
nodiscard |
Validate private tag relationships in this dataset.
Checks that every private data element has a corresponding Private Creator element and returns tags that are missing their creator.
Definition at line 262 of file dicom_dataset.cpp.
References contains(), and elements_.

|
private |