PACS System 0.1.0
PACS DICOM system library
Loading...
Searching...
No Matches
kcenon::pacs::integration_test::multi_modal_study Struct Reference

Represents a complete patient study with multiple modalities. More...

#include <test_data_generator.h>

Collaboration diagram for kcenon::pacs::integration_test::multi_modal_study:
Collaboration graph

Public Member Functions

std::vector< core::dicom_datasetget_by_modality (const std::string &modality) const
 Get datasets filtered by modality.
 
size_t series_count () const
 Get total number of series in study.
 

Public Attributes

std::string patient_id
 Patient identifier.
 
std::string patient_name
 Patient name.
 
std::string study_uid
 Study Instance UID.
 
std::vector< core::dicom_datasetdatasets
 All datasets in study.
 

Detailed Description

Represents a complete patient study with multiple modalities.

Used for testing clinical workflow scenarios where a patient undergoes multiple imaging procedures in a single study.

Definition at line 50 of file test_data_generator.h.

Member Function Documentation

◆ get_by_modality()

std::vector< core::dicom_dataset > kcenon::pacs::integration_test::multi_modal_study::get_by_modality ( const std::string & modality) const
nodiscard

Get datasets filtered by modality.

Parameters
modalityModality code (CT, MR, XA, US, etc.)
Returns
Vector of datasets matching the modality

Definition at line 28 of file test_data_generator.cpp.

28 {
29 std::vector<core::dicom_dataset> result;
30 for (const auto& ds : datasets) {
31 if (ds.get_string(core::tags::modality) == modality) {
32 result.push_back(ds);
33 }
34 }
35 return result;
36}
constexpr dicom_tag modality
Modality.
std::vector< core::dicom_dataset > datasets
All datasets in study.

References datasets, and kcenon::pacs::core::tags::modality.

◆ series_count()

size_t kcenon::pacs::integration_test::multi_modal_study::series_count ( ) const
nodiscard

Get total number of series in study.

Returns
Count of unique series

Definition at line 38 of file test_data_generator.cpp.

38 {
39 std::set<std::string> series_uids;
40 for (const auto& ds : datasets) {
41 auto uid = ds.get_string(core::tags::series_instance_uid);
42 if (!uid.empty()) {
43 series_uids.insert(uid);
44 }
45 }
46 return series_uids.size();
47}
constexpr dicom_tag series_instance_uid
Series Instance UID.
std::string_view uid

References datasets, kcenon::pacs::core::tags::series_instance_uid, and uid.

Member Data Documentation

◆ datasets

std::vector<core::dicom_dataset> kcenon::pacs::integration_test::multi_modal_study::datasets

All datasets in study.

Definition at line 54 of file test_data_generator.h.

Referenced by get_by_modality(), and series_count().

◆ patient_id

std::string kcenon::pacs::integration_test::multi_modal_study::patient_id

Patient identifier.

Definition at line 51 of file test_data_generator.h.

◆ patient_name

std::string kcenon::pacs::integration_test::multi_modal_study::patient_name

Patient name.

Definition at line 52 of file test_data_generator.h.

◆ study_uid

std::string kcenon::pacs::integration_test::multi_modal_study::study_uid

Study Instance UID.

Definition at line 53 of file test_data_generator.h.


The documentation for this struct was generated from the following files: