PACS System 0.1.0
PACS DICOM system library
Loading...
Searching...
No Matches
mg_storage.h File Reference

Digital Mammography X-Ray Image Storage SOP Classes. More...

#include <array>
#include <cstdint>
#include <optional>
#include <string>
#include <string_view>
#include <vector>
Include dependency graph for mg_storage.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  kcenon::pacs::services::sop_classes::mg_acquisition_params
 Mammography acquisition parameters structure. More...
 
struct  kcenon::pacs::services::sop_classes::mg_sop_class_info
 Information about a Mammography Storage SOP Class. More...
 

Namespaces

namespace  kcenon
 
namespace  kcenon::pacs
 
namespace  kcenon::pacs::services
 
namespace  kcenon::pacs::services::sop_classes
 

Enumerations

enum class  kcenon::pacs::services::sop_classes::breast_laterality { kcenon::pacs::services::sop_classes::left , kcenon::pacs::services::sop_classes::right , kcenon::pacs::services::sop_classes::bilateral , kcenon::pacs::services::sop_classes::unknown }
 Breast laterality enumeration. More...
 
enum class  kcenon::pacs::services::sop_classes::mg_view_position {
  kcenon::pacs::services::sop_classes::cc , kcenon::pacs::services::sop_classes::mlo , kcenon::pacs::services::sop_classes::ml , kcenon::pacs::services::sop_classes::lm ,
  kcenon::pacs::services::sop_classes::xccl , kcenon::pacs::services::sop_classes::xccm , kcenon::pacs::services::sop_classes::fb , kcenon::pacs::services::sop_classes::sio ,
  kcenon::pacs::services::sop_classes::iso , kcenon::pacs::services::sop_classes::cv , kcenon::pacs::services::sop_classes::at , kcenon::pacs::services::sop_classes::spot ,
  kcenon::pacs::services::sop_classes::mag , kcenon::pacs::services::sop_classes::spot_mag , kcenon::pacs::services::sop_classes::rl , kcenon::pacs::services::sop_classes::rm ,
  kcenon::pacs::services::sop_classes::rs , kcenon::pacs::services::sop_classes::ri , kcenon::pacs::services::sop_classes::tangen , kcenon::pacs::services::sop_classes::implant ,
  kcenon::pacs::services::sop_classes::id , kcenon::pacs::services::sop_classes::other
}
 Mammography-specific view positions. More...
 
enum class  kcenon::pacs::services::sop_classes::mg_image_type { kcenon::pacs::services::sop_classes::for_presentation , kcenon::pacs::services::sop_classes::for_processing }
 Mammography image purpose classification. More...
 
enum class  kcenon::pacs::services::sop_classes::cad_processing_status {
  kcenon::pacs::services::sop_classes::not_processed , kcenon::pacs::services::sop_classes::processed_no_findings , kcenon::pacs::services::sop_classes::processed_findings , kcenon::pacs::services::sop_classes::processing_failed ,
  kcenon::pacs::services::sop_classes::pending
}
 CAD (Computer-Aided Detection) processing status. More...
 

Functions

std::string_view kcenon::pacs::services::sop_classes::to_string (breast_laterality laterality) noexcept
 Convert breast laterality enum to DICOM string.
 
breast_laterality kcenon::pacs::services::sop_classes::parse_breast_laterality (std::string_view value) noexcept
 Parse DICOM laterality string to enum.
 
bool kcenon::pacs::services::sop_classes::is_valid_breast_laterality (std::string_view value) noexcept
 Check if a laterality value is valid for mammography.
 
std::string_view kcenon::pacs::services::sop_classes::to_string (mg_view_position position) noexcept
 Convert mammography view position enum to DICOM string.
 
mg_view_position kcenon::pacs::services::sop_classes::parse_mg_view_position (std::string_view value) noexcept
 Parse DICOM view position string to mammography view enum.
 
bool kcenon::pacs::services::sop_classes::is_screening_view (mg_view_position position) noexcept
 Check if a view position is a standard screening view.
 
bool kcenon::pacs::services::sop_classes::is_magnification_view (mg_view_position position) noexcept
 Check if a view position requires magnification.
 
bool kcenon::pacs::services::sop_classes::is_spot_compression_view (mg_view_position position) noexcept
 Check if a view position involves spot compression.
 
std::vector< std::string_view > kcenon::pacs::services::sop_classes::get_valid_mg_view_positions () noexcept
 Get all valid mammography view position strings.
 
bool kcenon::pacs::services::sop_classes::is_valid_compression_force (double force_n) noexcept
 Validate compression force value.
 
std::pair< double, double > kcenon::pacs::services::sop_classes::get_typical_compression_force_range () noexcept
 Get typical compression force range.
 
bool kcenon::pacs::services::sop_classes::is_valid_compressed_breast_thickness (double thickness_mm) noexcept
 Validate compressed breast thickness.
 
std::string_view kcenon::pacs::services::sop_classes::to_string (mg_image_type type) noexcept
 Convert mammography image type to string.
 
std::string_view kcenon::pacs::services::sop_classes::to_string (cad_processing_status status) noexcept
 Convert CAD processing status to display string.
 
std::vector< std::string > kcenon::pacs::services::sop_classes::get_mg_storage_sop_classes (bool include_tomosynthesis=true)
 Get all Mammography Storage SOP Class UIDs.
 
const mg_sop_class_infokcenon::pacs::services::sop_classes::get_mg_sop_class_info (std::string_view uid) noexcept
 Get information about a specific Mammography SOP Class.
 
bool kcenon::pacs::services::sop_classes::is_mg_storage_sop_class (std::string_view uid) noexcept
 Check if a SOP Class UID is a Mammography Storage SOP Class.
 
bool kcenon::pacs::services::sop_classes::is_breast_tomosynthesis_sop_class (std::string_view uid) noexcept
 Check if a SOP Class UID is a breast tomosynthesis SOP Class.
 
bool kcenon::pacs::services::sop_classes::is_mg_for_processing_sop_class (std::string_view uid) noexcept
 Check if a SOP Class UID is a For Processing mammography SOP Class.
 
bool kcenon::pacs::services::sop_classes::is_mg_for_presentation_sop_class (std::string_view uid) noexcept
 Check if a SOP Class UID is a For Presentation mammography SOP Class.
 
std::vector< std::string > kcenon::pacs::services::sop_classes::get_mg_transfer_syntaxes ()
 Get recommended transfer syntaxes for mammography images.
 
bool kcenon::pacs::services::sop_classes::is_valid_laterality_view_combination (breast_laterality laterality, mg_view_position view) noexcept
 Check if laterality and view position are consistent.
 
std::vector< std::pair< breast_laterality, mg_view_position > > kcenon::pacs::services::sop_classes::get_standard_screening_views () noexcept
 Get standard four-view screening exam views.
 
std::string kcenon::pacs::services::sop_classes::create_mg_image_type (bool is_original, bool is_primary, mg_image_type type)
 Create DICOM-compliant image type value for mammography.
 

Variables

Digital Mammography X-Ray SOP Classes
constexpr std::string_view kcenon::pacs::services::sop_classes::mg_image_storage_for_presentation_uid
 Digital Mammography X-Ray Image Storage - For Presentation SOP Class UID.
 
constexpr std::string_view kcenon::pacs::services::sop_classes::mg_image_storage_for_processing_uid
 Digital Mammography X-Ray Image Storage - For Processing SOP Class UID.
 
constexpr std::string_view kcenon::pacs::services::sop_classes::breast_tomosynthesis_image_storage_uid
 Breast Tomosynthesis Image Storage SOP Class UID.
 
constexpr std::string_view kcenon::pacs::services::sop_classes::breast_projection_image_storage_for_presentation_uid
 Breast Projection X-Ray Image Storage - For Presentation SOP Class UID.
 
constexpr std::string_view kcenon::pacs::services::sop_classes::breast_projection_image_storage_for_processing_uid
 Breast Projection X-Ray Image Storage - For Processing SOP Class UID.
 

Detailed Description

Digital Mammography X-Ray Image Storage SOP Classes.

This file provides SOP Class definitions and utilities specific to Digital Mammography X-Ray image storage. Mammography has unique requirements for breast cancer screening and diagnostic imaging workflows.

Mammography imaging is characterized by:

  • Breast laterality specification (left/right/bilateral)
  • Specialized view positions (CC, MLO, etc.)
  • Compression force documentation
  • High spatial resolution requirements
See also
DICOM PS3.4 Section B - Storage Service Class
DICOM PS3.3 Section A.26.2 - Digital Mammography X-Ray Image IOD
ACR BI-RADS Mammography Atlas
Author
kcenon
Since
1.0.0

Definition in file mg_storage.h.