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

Public Member Functions | |
| mg_iod_validator ()=default | |
| Construct validator with default options. | |
| mg_iod_validator (const mg_validation_options &options) | |
| Construct validator with custom options. | |
| validation_result | validate (const core::dicom_dataset &dataset) const |
| Validate a DICOM dataset against Mammography IOD. | |
| validation_result | validate_for_presentation (const core::dicom_dataset &dataset) const |
| Validate a For Presentation mammography dataset. | |
| validation_result | validate_for_processing (const core::dicom_dataset &dataset) const |
| Validate a For Processing mammography dataset. | |
| validation_result | validate_laterality (const core::dicom_dataset &dataset) const |
| Validate breast laterality attribute. | |
| validation_result | validate_view_position (const core::dicom_dataset &dataset) const |
| Validate mammography view position. | |
| validation_result | validate_compression_force (const core::dicom_dataset &dataset) const |
| Validate compression force. | |
| bool | quick_check (const core::dicom_dataset &dataset) const |
| Quick check if dataset has minimum required attributes. | |
| const mg_validation_options & | options () const noexcept |
| Get the validation options. | |
| void | set_options (const mg_validation_options &options) |
| Set validation options. | |
Private Attributes | |
| mg_validation_options | options_ |
Definition at line 162 of file mg_iod_validator.h.
|
default |
Construct validator with default options.
|
explicit |
Construct validator with custom options.
| options | Validation options |
Definition at line 87 of file mg_iod_validator.cpp.
|
private |
Definition at line 866 of file mg_iod_validator.cpp.
References kcenon::pacs::services::validation::mg_tags::compression_force, kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::core::dicom_dataset::get_numeric(), kcenon::pacs::services::sop_classes::get_typical_compression_force_range(), kcenon::pacs::services::validation::info, kcenon::pacs::services::sop_classes::is_valid_compression_force(), and kcenon::pacs::services::validation::warning.
Referenced by validate_acquisition_dose_module(), and validate_compression_force().


|
private |
Definition at line 734 of file mg_iod_validator.cpp.
References kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::services::validation::error, kcenon::pacs::core::dicom_dataset::get_string(), kcenon::pacs::services::validation::mg_tags::image_laterality, kcenon::pacs::services::sop_classes::is_valid_breast_laterality(), kcenon::pacs::services::validation::mg_tags::laterality, and kcenon::pacs::services::validation::warning.
Referenced by validate_laterality(), and validate_mammography_image_module().


|
private |
Definition at line 715 of file mg_iod_validator.cpp.
References kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::services::validation::error, kcenon::pacs::core::dicom_dataset::get_string(), and kcenon::pacs::core::tags::modality.
Referenced by validate_general_series_module().


|
private |
Definition at line 975 of file mg_iod_validator.cpp.
References kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::services::validation::error, kcenon::pacs::core::dicom_dataset::get_string(), and kcenon::pacs::core::tags::photometric_interpretation.
Referenced by validate_image_pixel_module().


|
private |
Definition at line 916 of file mg_iod_validator.cpp.
References kcenon::pacs::core::tags::bits_allocated, kcenon::pacs::core::tags::bits_stored, kcenon::pacs::services::validation::error, kcenon::pacs::core::dicom_dataset::get_numeric(), kcenon::pacs::core::tags::high_bit, kcenon::pacs::services::validation::info, kcenon::pacs::core::tags::samples_per_pixel, and kcenon::pacs::services::validation::warning.
Referenced by validate_image_pixel_module().


|
private |
Definition at line 668 of file mg_iod_validator.cpp.
References kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::services::validation::error, kcenon::pacs::core::dicom_dataset::get_string(), name, and kcenon::pacs::core::dicom_tag::to_string().
Referenced by validate_dx_detector_module(), validate_general_series_module(), validate_general_study_module(), validate_image_pixel_module(), validate_mammography_image_module(), and validate_sop_common_module().


|
private |
Definition at line 697 of file mg_iod_validator.cpp.
References kcenon::pacs::core::dicom_dataset::contains(), name, kcenon::pacs::core::dicom_tag::to_string(), and kcenon::pacs::services::validation::warning.
Referenced by validate_dx_anatomy_imaged_module(), validate_dx_detector_module(), validate_general_series_module(), validate_general_study_module(), and validate_patient_module().


|
private |
Definition at line 800 of file mg_iod_validator.cpp.
References kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::core::dicom_dataset::get_string(), kcenon::pacs::services::sop_classes::get_valid_mg_view_positions(), kcenon::pacs::services::validation::mg_tags::image_laterality, kcenon::pacs::services::sop_classes::is_valid_laterality_view_combination(), kcenon::pacs::services::validation::mg_tags::laterality, kcenon::pacs::services::sop_classes::parse_breast_laterality(), kcenon::pacs::services::sop_classes::parse_mg_view_position(), kcenon::pacs::services::validation::mg_tags::view_position, and kcenon::pacs::services::validation::warning.
Referenced by validate_mammography_image_module(), and validate_view_position().


|
nodiscardnoexcept |
Get the validation options.
Definition at line 307 of file mg_iod_validator.cpp.
References options_.
Referenced by set_options().

|
nodiscard |
Quick check if dataset has minimum required attributes.
Faster than full validation - only checks critical Type 1 attributes and mammography-specific requirements.
| dataset | The dataset to check |
Definition at line 269 of file mg_iod_validator.cpp.
References kcenon::pacs::core::tags::bits_allocated, kcenon::pacs::core::tags::bits_stored, kcenon::pacs::core::tags::columns, kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::core::dicom_dataset::get_string(), kcenon::pacs::core::tags::high_bit, kcenon::pacs::services::validation::mg_tags::image_laterality, kcenon::pacs::services::validation::mg_tags::laterality, kcenon::pacs::core::tags::modality, kcenon::pacs::core::tags::photometric_interpretation, kcenon::pacs::core::tags::pixel_data, kcenon::pacs::core::tags::pixel_representation, kcenon::pacs::core::tags::rows, kcenon::pacs::core::tags::samples_per_pixel, kcenon::pacs::core::tags::series_instance_uid, kcenon::pacs::core::tags::sop_class_uid, kcenon::pacs::core::tags::sop_instance_uid, and kcenon::pacs::core::tags::study_instance_uid.
Referenced by kcenon::pacs::services::validation::is_valid_mg_dataset().


| void kcenon::pacs::services::validation::mg_iod_validator::set_options | ( | const mg_validation_options & | options | ) |
Set validation options.
Definition at line 311 of file mg_iod_validator.cpp.
References options(), and options_.

|
nodiscard |
Validate a DICOM dataset against Mammography IOD.
Performs comprehensive validation including patient, study, series, image, and mammography-specific modules.
| dataset | The dataset to validate |
Definition at line 90 of file mg_iod_validator.cpp.
References kcenon::pacs::services::validation::mg_validation_options::check_type1, kcenon::pacs::services::validation::mg_validation_options::check_type2, kcenon::pacs::services::validation::error, kcenon::pacs::services::validation::validation_result::findings, kcenon::pacs::services::validation::validation_result::is_valid, options_, kcenon::pacs::services::validation::mg_validation_options::strict_mode, validate_acquisition_dose_module(), validate_breast_implant_module(), kcenon::pacs::services::validation::mg_validation_options::validate_compression, kcenon::pacs::services::validation::mg_validation_options::validate_dose_parameters, validate_dx_anatomy_imaged_module(), validate_dx_detector_module(), validate_general_series_module(), validate_general_study_module(), validate_image_pixel_module(), kcenon::pacs::services::validation::mg_validation_options::validate_implant_attributes, validate_mammography_image_module(), validate_mammography_series_module(), kcenon::pacs::services::validation::mg_validation_options::validate_mg_specific, validate_patient_module(), kcenon::pacs::services::validation::mg_validation_options::validate_pixel_data, validate_sop_common_module(), and kcenon::pacs::services::validation::warning.
Referenced by validate_for_presentation(), validate_for_processing(), and kcenon::pacs::services::validation::validate_mg_iod().


|
private |
Definition at line 507 of file mg_iod_validator.cpp.
References kcenon::pacs::services::validation::mg_tags::body_part_thickness, check_compression_force_range(), kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::core::dicom_dataset::get_numeric(), kcenon::pacs::services::validation::info, kcenon::pacs::services::sop_classes::is_valid_compressed_breast_thickness(), kcenon::pacs::services::validation::mg_tags::kvp, options_, kcenon::pacs::services::validation::mg_validation_options::validate_compression, kcenon::pacs::services::validation::mg_validation_options::validate_dose_parameters, and kcenon::pacs::services::validation::warning.
Referenced by validate().


|
private |
Definition at line 627 of file mg_iod_validator.cpp.
References kcenon::pacs::services::validation::mg_tags::breast_implant_present, kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::core::dicom_dataset::get_string(), kcenon::pacs::services::sop_classes::implant, kcenon::pacs::services::validation::info, kcenon::pacs::services::sop_classes::parse_mg_view_position(), kcenon::pacs::services::validation::mg_tags::view_position, and kcenon::pacs::services::validation::warning.
Referenced by validate().


|
nodiscard |
Validate compression force.
Checks compression force is present and within typical range.
| dataset | The dataset to validate |
Definition at line 253 of file mg_iod_validator.cpp.
References check_compression_force_range(), kcenon::pacs::services::validation::error, kcenon::pacs::services::validation::validation_result::findings, and kcenon::pacs::services::validation::validation_result::is_valid.

|
private |
Definition at line 438 of file mg_iod_validator.cpp.
References kcenon::pacs::services::validation::mg_tags::anatomic_region_sequence, kcenon::pacs::services::validation::mg_tags::body_part_examined, kcenon::pacs::services::validation::mg_validation_options::check_conditional, kcenon::pacs::services::validation::mg_validation_options::check_type2, check_type2_attribute(), kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::core::dicom_dataset::get_string(), options_, and kcenon::pacs::services::validation::warning.
Referenced by validate().


|
private |
Definition at line 474 of file mg_iod_validator.cpp.
References kcenon::pacs::services::validation::mg_validation_options::check_type1, check_type1_attribute(), kcenon::pacs::services::validation::mg_validation_options::check_type2, check_type2_attribute(), kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::services::validation::mg_tags::detector_type, kcenon::pacs::core::dicom_dataset::get_string(), kcenon::pacs::services::validation::mg_tags::imager_pixel_spacing, kcenon::pacs::services::validation::info, and options_.
Referenced by validate().


|
nodiscard |
Validate a For Presentation mammography dataset.
Performs additional validation for For Presentation specific requirements including VOI LUT and display parameters.
| dataset | The dataset to validate |
Definition at line 139 of file mg_iod_validator.cpp.
References kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::services::validation::error, kcenon::pacs::core::dicom_dataset::get_string(), options_, kcenon::pacs::services::validation::mg_tags::presentation_intent_type, validate(), kcenon::pacs::services::validation::mg_validation_options::validate_presentation_requirements, and validate_voi_lut_module().

|
nodiscard |
Validate a For Processing mammography dataset.
Performs validation for For Processing specific requirements including raw data attributes.
| dataset | The dataset to validate |
Definition at line 173 of file mg_iod_validator.cpp.
References kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::services::validation::error, kcenon::pacs::core::dicom_dataset::get_string(), kcenon::pacs::services::validation::info, options_, kcenon::pacs::services::validation::mg_tags::pixel_intensity_relationship, kcenon::pacs::services::validation::mg_tags::presentation_intent_type, validate(), and kcenon::pacs::services::validation::mg_validation_options::validate_processing_requirements.

|
private |
Definition at line 351 of file mg_iod_validator.cpp.
References check_modality(), kcenon::pacs::services::validation::mg_validation_options::check_type1, check_type1_attribute(), kcenon::pacs::services::validation::mg_validation_options::check_type2, check_type2_attribute(), kcenon::pacs::core::tags::modality, options_, kcenon::pacs::core::tags::series_instance_uid, and kcenon::pacs::core::tags::series_number.
Referenced by validate().


|
private |
Definition at line 332 of file mg_iod_validator.cpp.
References kcenon::pacs::core::tags::accession_number, kcenon::pacs::services::validation::mg_validation_options::check_type1, check_type1_attribute(), kcenon::pacs::services::validation::mg_validation_options::check_type2, check_type2_attribute(), options_, kcenon::pacs::core::tags::referring_physician_name, kcenon::pacs::core::tags::study_date, kcenon::pacs::core::tags::study_id, kcenon::pacs::core::tags::study_instance_uid, and kcenon::pacs::core::tags::study_time.
Referenced by validate().


|
private |
Definition at line 555 of file mg_iod_validator.cpp.
References kcenon::pacs::core::tags::bits_allocated, kcenon::pacs::core::tags::bits_stored, check_photometric_interpretation(), check_pixel_data_consistency(), kcenon::pacs::services::validation::mg_validation_options::check_type1, check_type1_attribute(), kcenon::pacs::core::tags::columns, kcenon::pacs::core::tags::high_bit, options_, kcenon::pacs::core::tags::photometric_interpretation, kcenon::pacs::core::tags::pixel_data, kcenon::pacs::core::tags::pixel_representation, kcenon::pacs::core::tags::rows, kcenon::pacs::core::tags::samples_per_pixel, and kcenon::pacs::services::validation::mg_validation_options::validate_pixel_data.
Referenced by validate().


|
nodiscard |
Validate breast laterality attribute.
Checks that laterality is present, valid, and consistent with related attributes.
| dataset | The dataset to validate |
Definition at line 219 of file mg_iod_validator.cpp.
References check_laterality_consistency(), kcenon::pacs::services::validation::error, kcenon::pacs::services::validation::validation_result::findings, and kcenon::pacs::services::validation::validation_result::is_valid.

|
private |
Definition at line 390 of file mg_iod_validator.cpp.
References check_laterality_consistency(), kcenon::pacs::services::validation::mg_validation_options::check_type1, check_type1_attribute(), check_view_position_validity(), kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::core::dicom_dataset::get_string(), kcenon::pacs::services::validation::mg_tags::image_type, kcenon::pacs::services::validation::info, options_, kcenon::pacs::services::sop_classes::partial, kcenon::pacs::services::validation::mg_tags::partial_view, kcenon::pacs::services::validation::mg_tags::partial_view_code_sequence, kcenon::pacs::services::validation::mg_tags::partial_view_description, kcenon::pacs::services::validation::mg_validation_options::validate_laterality, kcenon::pacs::services::validation::mg_validation_options::validate_view_position, and kcenon::pacs::services::validation::warning.
Referenced by validate().


|
private |
Definition at line 370 of file mg_iod_validator.cpp.
References kcenon::pacs::services::validation::mg_validation_options::check_conditional, kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::services::validation::info, options_, and kcenon::pacs::services::validation::mg_tags::request_attributes_sequence.
Referenced by validate().


|
private |
Definition at line 319 of file mg_iod_validator.cpp.
References kcenon::pacs::services::validation::mg_validation_options::check_type2, check_type2_attribute(), options_, kcenon::pacs::core::tags::patient_birth_date, kcenon::pacs::core::tags::patient_id, kcenon::pacs::core::tags::patient_name, and kcenon::pacs::core::tags::patient_sex.
Referenced by validate().


|
private |
Definition at line 603 of file mg_iod_validator.cpp.
References kcenon::pacs::services::validation::mg_validation_options::check_type1, check_type1_attribute(), kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::services::validation::error, kcenon::pacs::core::dicom_dataset::get_string(), kcenon::pacs::services::sop_classes::is_mg_storage_sop_class(), options_, kcenon::pacs::core::tags::sop_class_uid, and kcenon::pacs::core::tags::sop_instance_uid.
Referenced by validate().


|
nodiscard |
Validate mammography view position.
Checks that view position is present and contains a valid mammography view code.
| dataset | The dataset to validate |
Definition at line 236 of file mg_iod_validator.cpp.
References check_view_position_validity(), kcenon::pacs::services::validation::error, kcenon::pacs::services::validation::validation_result::findings, and kcenon::pacs::services::validation::validation_result::is_valid.

|
private |
Definition at line 579 of file mg_iod_validator.cpp.
References kcenon::pacs::services::validation::mg_validation_options::check_conditional, kcenon::pacs::core::dicom_dataset::contains(), options_, kcenon::pacs::services::validation::warning, kcenon::pacs::core::tags::window_center, and kcenon::pacs::core::tags::window_width.
Referenced by validate_for_presentation().


|
private |
Definition at line 353 of file mg_iod_validator.h.
Referenced by options(), set_options(), validate(), validate_acquisition_dose_module(), validate_dx_anatomy_imaged_module(), validate_dx_detector_module(), validate_for_presentation(), validate_for_processing(), validate_general_series_module(), validate_general_study_module(), validate_image_pixel_module(), validate_mammography_image_module(), validate_mammography_series_module(), validate_patient_module(), validate_sop_common_module(), and validate_voi_lut_module().