PACS System 0.1.0
PACS DICOM system library
Loading...
Searching...
No Matches
kcenon::pacs::services::sop_classes::xa_calibration_data Struct Reference

XA calibration data for quantitative analysis. More...

#include <xa_storage.h>

Collaboration diagram for kcenon::pacs::services::sop_classes::xa_calibration_data:
Collaboration graph

Public Member Functions

double magnification_factor () const noexcept
 Calculate magnification factor.
 
double isocenter_pixel_spacing () const noexcept
 Calculate pixel spacing at isocenter.
 
bool is_valid () const noexcept
 Check if calibration data is valid for measurements.
 

Public Attributes

double imager_pixel_spacing [2]
 Pixel spacing at detector (mm)
 
double distance_source_to_detector
 SID in mm.
 
double distance_source_to_patient
 SOD in mm.
 

Detailed Description

XA calibration data for quantitative analysis.

Contains pixel spacing and geometry calibration data essential for Quantitative Coronary Analysis (QCA) and other measurements.

Definition at line 279 of file xa_storage.h.

Member Function Documentation

◆ is_valid()

bool kcenon::pacs::services::sop_classes::xa_calibration_data::is_valid ( ) const
nodiscardnoexcept

Check if calibration data is valid for measurements.

Returns
true if all required values are present and valid

Definition at line 204 of file xa_storage.cpp.

References distance_source_to_detector, distance_source_to_patient, and imager_pixel_spacing.

◆ isocenter_pixel_spacing()

double kcenon::pacs::services::sop_classes::xa_calibration_data::isocenter_pixel_spacing ( ) const
nodiscardnoexcept

Calculate pixel spacing at isocenter.

Returns
Calibrated pixel spacing at isocenter in mm

Definition at line 195 of file xa_storage.cpp.

195 {
196 double mag = magnification_factor();
197 if (mag <= 0.0 || imager_pixel_spacing[0] <= 0.0) {
198 return 0.0;
199 }
200 // Pixel spacing at isocenter = detector pixel spacing / magnification
201 return imager_pixel_spacing[0] / mag;
202}
double magnification_factor() const noexcept
Calculate magnification factor.

References imager_pixel_spacing, kcenon::pacs::services::sop_classes::mag, and magnification_factor().

Here is the call graph for this function:

◆ magnification_factor()

double kcenon::pacs::services::sop_classes::xa_calibration_data::magnification_factor ( ) const
nodiscardnoexcept

Calculate magnification factor.

Returns
SID/SOD ratio, or 0 if distances are invalid

Definition at line 187 of file xa_storage.cpp.

187 {
188 if (distance_source_to_patient <= 0.0 ||
190 return 0.0;
191 }
193}

References distance_source_to_detector, and distance_source_to_patient.

Referenced by isocenter_pixel_spacing().

Here is the caller graph for this function:

Member Data Documentation

◆ distance_source_to_detector

double kcenon::pacs::services::sop_classes::xa_calibration_data::distance_source_to_detector

SID in mm.

Definition at line 281 of file xa_storage.h.

Referenced by is_valid(), and magnification_factor().

◆ distance_source_to_patient

double kcenon::pacs::services::sop_classes::xa_calibration_data::distance_source_to_patient

SOD in mm.

Definition at line 282 of file xa_storage.h.

Referenced by is_valid(), and magnification_factor().

◆ imager_pixel_spacing

double kcenon::pacs::services::sop_classes::xa_calibration_data::imager_pixel_spacing[2]

Pixel spacing at detector (mm)

Definition at line 280 of file xa_storage.h.

Referenced by is_valid(), and isocenter_pixel_spacing().


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