|
PACS System 0.1.0
PACS DICOM system library
|
#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 > * |
| 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_ |
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_.
|
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::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(), 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::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 |
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::dcm_modify::anonymizer::anonymize_uids(), 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(), worklist_cli::worklist_result_formatter::extract_item(), kcenon::pacs::services::query_scp::extract_query_level(), kcenon::pacs::encoding::get_decoded_string(), kcenon::pacs::client::routing_manager::get_field_value(), query_scu::result_formatter::get_tag_value(), kcenon::pacs::example::pacs_server_app::handle_query(), kcenon::pacs::example::pacs_server_app::handle_retrieve(), kcenon::pacs::example::pacs_server_app::handle_store(), kcenon::pacs::example::pacs_server_app::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(), 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::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::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(), TEST_CASE(), kcenon::pacs::core::dicom_file::transfer_syntax(), 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 kcenon::pacs::integration_test::test_data_generator::add_multiframe_pixel_data(), kcenon::pacs::integration_test::test_data_generator::add_pixel_data(), 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::integration_test::generate_ct_dataset(), kcenon::pacs::core::dicom_file::generate_meta_information(), kcenon::pacs::integration_test::generate_mr_dataset(), kcenon::pacs::integration_test::generate_xa_dataset(), kcenon::pacs::integration_test::test_data_generator::invalid(), 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(), set_string(), and TEST_CASE().


| 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::dcm_modify::anonymizer::anonymize(), kcenon::pacs::dcm_modify::anonymizer::anonymize_patient_info(), kcenon::pacs::integration_test::test_data_generator::invalid(), kcenon::pacs::dcm_modify::anonymizer::remove_additional_phi(), kcenon::pacs::dcm_modify::anonymizer::remove_private_tags(), and 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::integration_test::test_data_generator::add_image_pixel_module(), kcenon::pacs::network::dimse::dimse_message::dimse_message(), kcenon::pacs::integration_test::generate_ct_dataset(), kcenon::pacs::integration_test::generate_mr_dataset(), kcenon::pacs::integration_test::generate_xa_dataset(), kcenon::pacs::integration_test::test_data_generator::invalid(), 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(), TEST_CASE(), 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::integration_test::test_data_generator::add_image_pixel_module(), query_scu::query_builder::add_instance_keys(), kcenon::pacs::integration_test::test_data_generator::add_multiframe_pixel_data(), query_scu::query_builder::add_patient_keys(), kcenon::pacs::integration_test::test_data_generator::add_patient_module(), query_scu::query_builder::add_series_keys(), kcenon::pacs::integration_test::test_data_generator::add_series_module(), query_scu::query_builder::add_study_keys(), kcenon::pacs::integration_test::test_data_generator::add_study_module(), kcenon::pacs::dcm_modify::anonymizer::anonymize_patient_info(), kcenon::pacs::dcm_modify::anonymizer::anonymize_uids(), 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::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::integration_test::test_data_generator::ct(), kcenon::pacs::integration_test::test_data_generator::enhanced_ct(), kcenon::pacs::integration_test::test_data_generator::enhanced_mr(), 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::integration_test::generate_ct_dataset(), kcenon::pacs::core::dicom_file::generate_meta_information(), kcenon::pacs::integration_test::generate_mr_dataset(), kcenon::pacs::integration_test::generate_worklist_item(), kcenon::pacs::integration_test::generate_xa_dataset(), kcenon::pacs::services::print_scp::handle_n_get(), kcenon::pacs::services::ups_push_scp::handle_n_get(), kcenon::pacs::example::pacs_server_app::handle_query(), kcenon::pacs::example::pacs_server_app::handle_worklist_query(), kcenon::pacs::integration_test::test_data_generator::invalid(), kcenon::pacs::integration_test::test_data_generator::large(), kcenon::pacs::integration_test::test_data_generator::mr(), 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::integration_test::test_data_generator::patient_journey(), 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(), kcenon::pacs::network::dimse::dimse_message::set_requested_sop_instance_uid(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), kcenon::pacs::integration_test::test_data_generator::unicode(), kcenon::pacs::integration_test::test_data_generator::us(), kcenon::pacs::integration_test::test_data_generator::us_cine(), kcenon::pacs::integration_test::test_data_generator::with_private_tags(), kcenon::pacs::integration_test::test_data_generator::worklist(), kcenon::pacs::integration_test::test_data_generator::xa(), and kcenon::pacs::integration_test::test_data_generator::xa_cine().

|
nodiscardnoexcept |
Get the number of elements in the dataset.
Definition at line 331 of file dicom_dataset.cpp.
References elements_.
Referenced by 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 |