|
PACS System 0.1.0
PACS DICOM system library
|
Validator for X-Ray Angiographic Image IODs. More...
#include <xa_iod_validator.h>

Public Member Functions | |
| xa_iod_validator ()=default | |
| Construct validator with default options. | |
| xa_iod_validator (const xa_validation_options &options) | |
| Construct validator with custom options. | |
| validation_result | validate (const core::dicom_dataset &dataset) const |
| Validate a DICOM dataset against XA IOD. | |
| validation_result | validate_multiframe (const core::dicom_dataset &dataset) const |
| Validate a multi-frame XA dataset. | |
| bool | quick_check (const core::dicom_dataset &dataset) const |
| Quick check if dataset has minimum required XA attributes. | |
| validation_result | validate_calibration (const core::dicom_dataset &dataset) const |
| Validate calibration data for quantitative analysis. | |
| const xa_validation_options & | options () const noexcept |
| Get the validation options. | |
| void | set_options (const xa_validation_options &options) |
| Set validation options. | |
Private Attributes | |
| xa_validation_options | options_ |
Validator for X-Ray Angiographic Image IODs.
Validates DICOM datasets against the XA Image IOD and Enhanced XA Image IOD specifications. Checks required modules, attributes, and value constraints specific to angiographic imaging.
Definition at line 181 of file xa_iod_validator.h.
|
default |
Construct validator with default options.
|
explicit |
Construct validator with custom options.
| options | Validation options |
Definition at line 24 of file xa_iod_validator.cpp.
|
private |
Definition at line 432 of file xa_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 471 of file xa_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::core::tags::pixel_representation, kcenon::pacs::core::tags::samples_per_pixel, and kcenon::pacs::services::validation::warning.
Referenced by validate_image_pixel_module().


|
private |
Definition at line 542 of file xa_iod_validator.cpp.
References kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::core::dicom_dataset::get_numeric(), kcenon::pacs::services::validation::info, kcenon::pacs::services::validation::xa_tags::positioner_primary_angle, kcenon::pacs::services::validation::xa_tags::positioner_secondary_angle, and kcenon::pacs::services::validation::warning.
Referenced by validate().


|
private |
Definition at line 385 of file xa_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_general_series_module(), validate_general_study_module(), validate_image_pixel_module(), validate_multiframe_module(), validate_sop_common_module(), and validate_xa_image_module().


|
private |
Definition at line 414 of file xa_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_general_series_module(), validate_general_study_module(), and validate_patient_module().


|
private |
Definition at line 451 of file xa_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::sop_classes::is_valid_xa_photometric(), and kcenon::pacs::core::tags::photometric_interpretation.
Referenced by validate_xa_image_module().


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

|
nodiscard |
Quick check if dataset has minimum required XA attributes.
Faster than full validation - only checks Type 1 attributes.
| dataset | The dataset to check |
Definition at line 87 of file xa_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::core::tags::image_type, 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_xa_dataset().


| void kcenon::pacs::services::validation::xa_iod_validator::set_options | ( | const xa_validation_options & | options | ) |
|
nodiscard |
Validate a DICOM dataset against XA IOD.
| dataset | The dataset to validate |
Definition at line 27 of file xa_iod_validator.cpp.
References check_positioner_angles(), kcenon::pacs::services::validation::xa_validation_options::check_type1, kcenon::pacs::services::validation::xa_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::xa_validation_options::strict_mode, kcenon::pacs::services::validation::xa_validation_options::validate_calibration, validate_calibration_module(), validate_general_series_module(), validate_general_study_module(), validate_image_pixel_module(), validate_patient_module(), kcenon::pacs::services::validation::xa_validation_options::validate_pixel_data, kcenon::pacs::services::validation::xa_validation_options::validate_positioner, validate_sop_common_module(), validate_xa_acquisition_module(), validate_xa_image_module(), and kcenon::pacs::services::validation::warning.
Referenced by validate_multiframe(), and kcenon::pacs::services::validation::validate_xa_iod().


|
nodiscard |
Validate calibration data for quantitative analysis.
Specifically checks if the dataset has valid calibration information suitable for QCA (Quantitative Coronary Analysis) measurements.
| dataset | The dataset to check |
Definition at line 123 of file xa_iod_validator.cpp.
References kcenon::pacs::services::validation::error, kcenon::pacs::services::validation::validation_result::findings, kcenon::pacs::services::validation::validation_result::is_valid, and validate_calibration_module().

|
private |
Definition at line 306 of file xa_iod_validator.cpp.
References kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::services::validation::xa_tags::distance_source_to_detector, kcenon::pacs::services::validation::xa_tags::distance_source_to_patient, kcenon::pacs::services::validation::error, kcenon::pacs::core::dicom_dataset::get_numeric(), kcenon::pacs::services::validation::xa_tags::imager_pixel_spacing, and kcenon::pacs::services::validation::warning.
Referenced by validate(), and validate_calibration().


|
private |
Definition at line 183 of file xa_iod_validator.cpp.
References check_modality(), kcenon::pacs::services::validation::xa_validation_options::check_type1, check_type1_attribute(), kcenon::pacs::services::validation::xa_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 164 of file xa_iod_validator.cpp.
References kcenon::pacs::core::tags::accession_number, kcenon::pacs::services::validation::xa_validation_options::check_type1, check_type1_attribute(), kcenon::pacs::services::validation::xa_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 245 of file xa_iod_validator.cpp.
References kcenon::pacs::core::tags::bits_allocated, kcenon::pacs::core::tags::bits_stored, check_pixel_data_consistency(), kcenon::pacs::services::validation::xa_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::xa_validation_options::validate_pixel_data.
Referenced by validate().


|
nodiscard |
Validate a multi-frame XA dataset.
Performs additional validation for multi-frame specific attributes including frame timing and per-frame calibration.
| dataset | The dataset to validate |
Definition at line 69 of file xa_iod_validator.cpp.
References kcenon::pacs::services::validation::error, validate(), and validate_multiframe_module().

|
private |
Definition at line 268 of file xa_iod_validator.cpp.
References kcenon::pacs::services::validation::xa_validation_options::check_conditional, kcenon::pacs::services::validation::xa_validation_options::check_type1, check_type1_attribute(), kcenon::pacs::services::validation::xa_tags::cine_rate, kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::services::validation::xa_tags::frame_time, kcenon::pacs::services::validation::xa_tags::frame_time_vector, kcenon::pacs::services::validation::info, kcenon::pacs::services::validation::xa_tags::number_of_frames, options_, kcenon::pacs::services::validation::xa_tags::recommended_display_frame_rate, kcenon::pacs::services::validation::xa_validation_options::validate_multiframe_timing, and kcenon::pacs::services::validation::warning.
Referenced by validate_multiframe().


|
private |
Definition at line 151 of file xa_iod_validator.cpp.
References kcenon::pacs::services::validation::xa_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 357 of file xa_iod_validator.cpp.
References kcenon::pacs::services::validation::xa_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_xa_storage_sop_class(), options_, kcenon::pacs::core::tags::sop_class_uid, and kcenon::pacs::core::tags::sop_instance_uid.
Referenced by validate().


|
private |
Definition at line 202 of file xa_iod_validator.cpp.
References kcenon::pacs::services::validation::xa_validation_options::check_conditional, kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::services::validation::xa_tags::field_of_view_shape, kcenon::pacs::services::validation::info, options_, and kcenon::pacs::services::validation::xa_tags::positioner_motion.
Referenced by validate().


|
private |
Definition at line 232 of file xa_iod_validator.cpp.
References kcenon::pacs::services::validation::xa_validation_options::check_type1, check_type1_attribute(), check_xa_photometric(), kcenon::pacs::core::tags::image_type, and options_.
Referenced by validate().


|
private |
Definition at line 313 of file xa_iod_validator.h.
Referenced by options(), set_options(), validate(), validate_general_series_module(), validate_general_study_module(), validate_image_pixel_module(), validate_multiframe_module(), validate_patient_module(), validate_sop_common_module(), validate_xa_acquisition_module(), and validate_xa_image_module().