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

Public Member Functions | |
| nm_iod_validator ()=default | |
| Construct validator with default options. | |
| nm_iod_validator (const nm_validation_options &options) | |
| Construct validator with custom options. | |
| validation_result | validate (const core::dicom_dataset &dataset) const |
| Validate a DICOM dataset against NM IOD. | |
| validation_result | validate_multiframe (const core::dicom_dataset &dataset) const |
| Validate a multi-frame NM dataset. | |
| bool | quick_check (const core::dicom_dataset &dataset) const |
| Quick check if dataset has minimum required attributes. | |
| const nm_validation_options & | options () const noexcept |
| Get the validation options. | |
| void | set_options (const nm_validation_options &options) |
| Set validation options. | |
Private Attributes | |
| nm_validation_options | options_ |
Definition at line 113 of file nm_iod_validator.h.
|
default |
Construct validator with default options.
|
explicit |
Construct validator with custom options.
| options | Validation options |
Definition at line 56 of file nm_iod_validator.cpp.
|
private |
Definition at line 595 of file nm_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 614 of file nm_iod_validator.cpp.
References kcenon::pacs::core::tags::bits_allocated, kcenon::pacs::core::tags::bits_stored, kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::services::validation::error, kcenon::pacs::core::dicom_dataset::get_numeric(), kcenon::pacs::core::dicom_dataset::get_string(), kcenon::pacs::core::tags::high_bit, kcenon::pacs::services::sop_classes::is_valid_nm_photometric(), kcenon::pacs::core::tags::photometric_interpretation, kcenon::pacs::core::tags::samples_per_pixel, and kcenon::pacs::services::validation::warning.
Referenced by validate_image_pixel_module().


|
private |
Definition at line 548 of file nm_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_nm_image_module(), validate_nm_series_module(), and validate_sop_common_module().


|
private |
Definition at line 577 of file nm_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(), validate_nm_detector_module(), validate_nm_gated_module(), validate_nm_isotope_module(), validate_nm_tomo_module(), and validate_patient_module().


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

|
nodiscard |
Quick check if dataset has minimum required attributes.
Faster than full validation - only checks Type 1 attributes.
| dataset | The dataset to check |
Definition at line 134 of file nm_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::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_nm_dataset().


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

|
nodiscard |
Validate a DICOM dataset against NM IOD.
| dataset | The dataset to validate |
Definition at line 59 of file nm_iod_validator.cpp.
References kcenon::pacs::services::validation::nm_validation_options::check_type1, kcenon::pacs::services::validation::nm_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::nm_validation_options::strict_mode, validate_energy_window_info(), kcenon::pacs::services::validation::nm_validation_options::validate_energy_windows, validate_general_series_module(), validate_general_study_module(), validate_image_pixel_module(), kcenon::pacs::services::validation::nm_validation_options::validate_isotope, validate_nm_detector_module(), validate_nm_image_module(), validate_nm_isotope_module(), validate_nm_series_module(), kcenon::pacs::services::validation::nm_validation_options::validate_nm_specific, validate_patient_module(), kcenon::pacs::services::validation::nm_validation_options::validate_pixel_data, validate_radiopharmaceutical_info(), validate_sop_common_module(), and kcenon::pacs::services::validation::warning.
Referenced by validate_multiframe(), and kcenon::pacs::services::validation::validate_nm_iod().


|
private |
Definition at line 485 of file nm_iod_validator.cpp.
References kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::services::validation::nm_tags::energy_window_info_sequence, kcenon::pacs::services::validation::nm_tags::energy_window_range_sequence, and kcenon::pacs::services::validation::warning.
Referenced by validate().


|
private |
Definition at line 210 of file nm_iod_validator.cpp.
References check_modality(), kcenon::pacs::services::validation::nm_validation_options::check_type1, check_type1_attribute(), kcenon::pacs::services::validation::nm_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 191 of file nm_iod_validator.cpp.
References kcenon::pacs::core::tags::accession_number, kcenon::pacs::services::validation::nm_validation_options::check_type1, check_type1_attribute(), kcenon::pacs::services::validation::nm_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 408 of file nm_iod_validator.cpp.
References kcenon::pacs::core::tags::bits_allocated, kcenon::pacs::core::tags::bits_stored, check_pixel_data_consistency(), kcenon::pacs::services::validation::nm_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::nm_validation_options::validate_pixel_data.
Referenced by validate().


|
nodiscard |
Validate a multi-frame NM dataset.
Performs additional validation for SPECT, dynamic, and gated acquisitions.
| dataset | The dataset to validate |
Definition at line 105 of file nm_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::nm_tags::type_of_data, validate(), validate_multiframe_module(), validate_nm_gated_module(), and validate_nm_tomo_module().

|
private |
Definition at line 432 of file nm_iod_validator.cpp.
References kcenon::pacs::services::validation::nm_validation_options::check_conditional, kcenon::pacs::services::validation::nm_validation_options::check_type1, check_type1_attribute(), kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::services::validation::nm_tags::frame_increment_pointer, kcenon::pacs::core::dicom_dataset::get_numeric(), kcenon::pacs::services::validation::nm_tags::number_of_frames, options_, and kcenon::pacs::services::validation::warning.
Referenced by validate_multiframe().


|
private |
Definition at line 301 of file nm_iod_validator.cpp.
References kcenon::pacs::services::validation::nm_validation_options::check_type2, check_type2_attribute(), kcenon::pacs::services::validation::nm_tags::collimator_type, kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::services::validation::nm_tags::detector_info_sequence, kcenon::pacs::core::dicom_dataset::get_string(), kcenon::pacs::services::validation::info, options_, and kcenon::pacs::services::validation::warning.
Referenced by validate().


|
private |
Definition at line 377 of file nm_iod_validator.cpp.
References kcenon::pacs::services::validation::nm_validation_options::check_type2, check_type2_attribute(), kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::services::validation::nm_tags::gated_info_sequence, kcenon::pacs::services::validation::info, kcenon::pacs::services::validation::nm_tags::number_of_time_slots, options_, kcenon::pacs::services::validation::nm_tags::trigger_source_or_type, and kcenon::pacs::services::validation::warning.
Referenced by validate_multiframe().


|
private |
Definition at line 255 of file nm_iod_validator.cpp.
References kcenon::pacs::services::validation::nm_validation_options::check_type1, check_type1_attribute(), kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::core::dicom_dataset::get_string(), kcenon::pacs::services::validation::nm_tags::image_type, kcenon::pacs::services::validation::info, kcenon::pacs::services::validation::nm_tags::number_of_frames, and options_.
Referenced by validate().


|
private |
Definition at line 283 of file nm_iod_validator.cpp.
References kcenon::pacs::services::validation::nm_validation_options::check_type2, check_type2_attribute(), kcenon::pacs::services::validation::nm_tags::energy_window_info_sequence, options_, and kcenon::pacs::services::validation::nm_tags::radiopharmaceutical_info_sequence.
Referenced by validate().


|
private |
Definition at line 229 of file nm_iod_validator.cpp.
References kcenon::pacs::services::validation::nm_validation_options::check_type1, check_type1_attribute(), kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::core::dicom_dataset::get_string(), options_, kcenon::pacs::services::validation::nm_tags::type_of_data, and kcenon::pacs::services::validation::warning.
Referenced by validate().


|
private |
Definition at line 334 of file nm_iod_validator.cpp.
References kcenon::pacs::services::validation::nm_validation_options::check_type2, check_type2_attribute(), kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::core::dicom_dataset::get_string(), options_, kcenon::pacs::services::validation::nm_tags::rotation_direction, kcenon::pacs::services::validation::nm_tags::rotation_info_sequence, kcenon::pacs::services::validation::nm_tags::scan_arc, kcenon::pacs::services::validation::nm_tags::start_angle, and kcenon::pacs::services::validation::warning.
Referenced by validate_multiframe().


|
private |
Definition at line 178 of file nm_iod_validator.cpp.
References kcenon::pacs::services::validation::nm_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 506 of file nm_iod_validator.cpp.
References kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::services::validation::info, kcenon::pacs::services::validation::nm_tags::radionuclide_half_life, kcenon::pacs::services::validation::nm_tags::radionuclide_total_dose, kcenon::pacs::services::validation::nm_tags::radiopharmaceutical_info_sequence, and kcenon::pacs::services::validation::nm_tags::radiopharmaceutical_start_time.
Referenced by validate().


|
private |
Definition at line 457 of file nm_iod_validator.cpp.
References kcenon::pacs::services::validation::nm_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_nm_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 245 of file nm_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_nm_detector_module(), validate_nm_gated_module(), validate_nm_image_module(), validate_nm_isotope_module(), validate_nm_series_module(), validate_nm_tomo_module(), validate_patient_module(), and validate_sop_common_module().