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

Public Member Functions | |
| seg_iod_validator ()=default | |
| Construct validator with default options. | |
| seg_iod_validator (const seg_validation_options &options) | |
| Construct validator with custom options. | |
| validation_result | validate (const core::dicom_dataset &dataset) const |
| Validate a DICOM dataset against SEG IOD. | |
| validation_result | validate_segments (const core::dicom_dataset &dataset) const |
| Validate segment sequence completeness. | |
| validation_result | validate_references (const core::dicom_dataset &dataset) const |
| Validate referenced instances. | |
| bool | quick_check (const core::dicom_dataset &dataset) const |
| Quick check if dataset has minimum required attributes. | |
| const seg_validation_options & | options () const noexcept |
| Get the validation options. | |
| void | set_options (const seg_validation_options &options) |
| Set validation options. | |
Private Attributes | |
| seg_validation_options | options_ |
Definition at line 112 of file seg_iod_validator.h.
|
default |
Construct validator with default options.
|
explicit |
Construct validator with custom options.
| options | Validation options |
Definition at line 81 of file seg_iod_validator.cpp.
|
private |
Definition at line 591 of file seg_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 629 of file seg_iod_validator.cpp.
References kcenon::pacs::core::tags::bits_allocated, 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::photometric_interpretation, kcenon::pacs::core::tags::samples_per_pixel, kcenon::pacs::services::validation::seg_tags::segmentation_type, and kcenon::pacs::services::validation::warning.
Referenced by validate_image_pixel_module().


|
private |
Definition at line 610 of file seg_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_segmentation_type(), and kcenon::pacs::services::validation::seg_tags::segmentation_type.
Referenced by validate_segmentation_image_module().


|
private |
Definition at line 529 of file seg_iod_validator.cpp.
References kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::services::validation::error, kcenon::pacs::core::dicom_dataset::get(), kcenon::pacs::core::dicom_dataset::get_string(), name, and kcenon::pacs::core::dicom_tag::to_string().
Referenced by validate_enhanced_general_equipment_module(), validate_general_series_module(), validate_general_study_module(), validate_image_pixel_module(), validate_multiframe_dimension_module(), validate_multiframe_functional_groups_module(), validate_segmentation_image_module(), and validate_sop_common_module().


|
private |
Definition at line 574 of file seg_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_equipment_module(), validate_general_image_module(), validate_general_series_module(), validate_general_study_module(), and validate_patient_module().


|
nodiscardnoexcept |
Get the validation options.
Definition at line 195 of file seg_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 166 of file seg_iod_validator.cpp.
References kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::core::dicom_dataset::get_string(), kcenon::pacs::services::sop_classes::is_seg_storage_sop_class(), kcenon::pacs::core::tags::modality, kcenon::pacs::services::validation::seg_tags::segment_sequence, kcenon::pacs::services::validation::seg_tags::segmentation_type, 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_seg_dataset().


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

|
nodiscard |
Validate a DICOM dataset against SEG IOD.
| dataset | The dataset to validate |
Definition at line 84 of file seg_iod_validator.cpp.
References kcenon::pacs::services::validation::seg_validation_options::check_type1, kcenon::pacs::services::validation::seg_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::seg_validation_options::strict_mode, validate_common_instance_reference_module(), validate_enhanced_general_equipment_module(), validate_general_equipment_module(), validate_general_image_module(), validate_general_series_module(), validate_general_study_module(), validate_image_pixel_module(), validate_multiframe_dimension_module(), validate_multiframe_functional_groups_module(), validate_patient_module(), kcenon::pacs::services::validation::seg_validation_options::validate_pixel_data, kcenon::pacs::services::validation::seg_validation_options::validate_references, validate_segment_sequence(), kcenon::pacs::services::validation::seg_validation_options::validate_segment_sequence, validate_segmentation_image_module(), validate_segmentation_series_module(), validate_sop_common_module(), and kcenon::pacs::services::validation::warning.
Referenced by kcenon::pacs::services::validation::validate_seg_iod().


|
private |
Definition at line 485 of file seg_iod_validator.cpp.
References kcenon::pacs::services::validation::seg_validation_options::check_conditional, kcenon::pacs::core::dicom_dataset::contains(), options_, kcenon::pacs::services::validation::seg_tags::referenced_series_sequence_cir, and kcenon::pacs::services::validation::warning.
Referenced by validate(), and validate_references().


|
private |
Definition at line 271 of file seg_iod_validator.cpp.
References kcenon::pacs::services::validation::seg_validation_options::check_type1, check_type1_attribute(), kcenon::pacs::services::validation::seg_tags::device_serial_number, kcenon::pacs::services::validation::seg_tags::manufacturer, kcenon::pacs::services::validation::seg_tags::manufacturer_model_name, options_, and kcenon::pacs::services::validation::seg_tags::software_versions.
Referenced by validate().


|
private |
Definition at line 262 of file seg_iod_validator.cpp.
References kcenon::pacs::services::validation::seg_validation_options::check_type2, check_type2_attribute(), kcenon::pacs::services::validation::seg_tags::manufacturer, and options_.
Referenced by validate().


|
private |
Definition at line 283 of file seg_iod_validator.cpp.
References kcenon::pacs::services::validation::seg_validation_options::check_type2, check_type2_attribute(), and options_.
Referenced by validate().


|
private |
Definition at line 236 of file seg_iod_validator.cpp.
References check_modality(), kcenon::pacs::services::validation::seg_validation_options::check_type1, check_type1_attribute(), kcenon::pacs::services::validation::seg_validation_options::check_type2, check_type2_attribute(), kcenon::pacs::core::tags::frame_of_reference_uid, 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 219 of file seg_iod_validator.cpp.
References kcenon::pacs::core::tags::accession_number, kcenon::pacs::services::validation::seg_validation_options::check_type1, check_type1_attribute(), kcenon::pacs::services::validation::seg_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 293 of file seg_iod_validator.cpp.
References kcenon::pacs::core::tags::bits_allocated, kcenon::pacs::core::tags::bits_stored, check_pixel_data_consistency(), kcenon::pacs::services::validation::seg_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_representation, kcenon::pacs::core::tags::rows, and kcenon::pacs::core::tags::samples_per_pixel.
Referenced by validate().


|
private |
Definition at line 473 of file seg_iod_validator.cpp.
References kcenon::pacs::services::validation::seg_validation_options::check_type1, check_type1_attribute(), kcenon::pacs::services::validation::seg_tags::dimension_index_sequence, kcenon::pacs::services::validation::seg_tags::dimension_organization_sequence, and options_.
Referenced by validate().


|
private |
Definition at line 460 of file seg_iod_validator.cpp.
References kcenon::pacs::services::validation::seg_validation_options::check_type1, check_type1_attribute(), kcenon::pacs::services::validation::seg_tags::number_of_frames, options_, kcenon::pacs::services::validation::seg_tags::per_frame_functional_groups_sequence, and kcenon::pacs::services::validation::seg_tags::shared_functional_groups_sequence.
Referenced by validate().


|
private |
Definition at line 207 of file seg_iod_validator.cpp.
References kcenon::pacs::services::validation::seg_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().


|
nodiscard |
Validate referenced instances.
Checks that all referenced series and instances are properly specified.
| dataset | The dataset to validate |
Definition at line 150 of file seg_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_common_instance_reference_module().

|
private |
Definition at line 352 of file seg_iod_validator.cpp.
References kcenon::pacs::core::dicom_dataset::contains(), kcenon::pacs::services::validation::error, kcenon::pacs::core::dicom_dataset::get(), kcenon::pacs::services::validation::seg_tags::segment_sequence, and validate_single_segment().
Referenced by validate(), and validate_segments().


|
private |
Definition at line 312 of file seg_iod_validator.cpp.
References kcenon::pacs::services::validation::seg_validation_options::check_conditional, check_segmentation_type(), kcenon::pacs::services::validation::seg_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::validation::seg_tags::max_fractional_value, options_, kcenon::pacs::services::validation::seg_tags::segment_sequence, kcenon::pacs::services::validation::seg_tags::segmentation_fractional_type, and kcenon::pacs::services::validation::seg_tags::segmentation_type.
Referenced by validate().


|
private |
Definition at line 254 of file seg_iod_validator.cpp.
Referenced by validate().

|
nodiscard |
Validate segment sequence completeness.
Checks that all segments are properly defined with required attributes.
| dataset | The dataset to validate |
Definition at line 133 of file seg_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_segment_sequence().

|
private |
Definition at line 381 of file seg_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_segment_algorithm_type(), options_, kcenon::pacs::services::validation::seg_tags::segment_algorithm_type, kcenon::pacs::services::validation::seg_tags::segment_label, kcenon::pacs::services::validation::seg_tags::segment_number, kcenon::pacs::services::validation::seg_tags::segmented_property_category_code_sequence, kcenon::pacs::services::validation::seg_tags::segmented_property_type_code_sequence, kcenon::pacs::services::validation::seg_validation_options::validate_algorithm_info, kcenon::pacs::services::validation::seg_validation_options::validate_segment_labels, and kcenon::pacs::services::validation::warning.
Referenced by validate_segment_sequence().


|
private |
Definition at line 502 of file seg_iod_validator.cpp.
References kcenon::pacs::services::validation::seg_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_seg_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 263 of file seg_iod_validator.h.
Referenced by options(), set_options(), validate(), validate_common_instance_reference_module(), validate_enhanced_general_equipment_module(), validate_general_equipment_module(), validate_general_image_module(), validate_general_series_module(), validate_general_study_module(), validate_image_pixel_module(), validate_multiframe_dimension_module(), validate_multiframe_functional_groups_module(), validate_patient_module(), validate_segmentation_image_module(), validate_single_segment(), and validate_sop_common_module().