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

Nuclear Medicine (NM) Image Storage SOP Classes. More...

#include <array>
#include <cstdint>
#include <string>
#include <string_view>
#include <vector>
Include dependency graph for nm_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::nm_sop_class_info
 Information about a NM Storage SOP Class. More...
 
struct  kcenon::pacs::services::sop_classes::nm_energy_window_info
 Energy window information for NM acquisition. 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::nm_photometric_interpretation { kcenon::pacs::services::sop_classes::monochrome2 , kcenon::pacs::services::sop_classes::palette_color }
 Supported photometric interpretations for NM images. More...
 
enum class  kcenon::pacs::services::sop_classes::nm_type_of_data {
  kcenon::pacs::services::sop_classes::static_image , kcenon::pacs::services::sop_classes::dynamic , kcenon::pacs::services::sop_classes::gated , kcenon::pacs::services::sop_classes::whole_body ,
  kcenon::pacs::services::sop_classes::recon_tomo , kcenon::pacs::services::sop_classes::recon_gated_tomo , kcenon::pacs::services::sop_classes::tomo , kcenon::pacs::services::sop_classes::gated_tomo
}
 NM image type (Type of Data) More...
 
enum class  kcenon::pacs::services::sop_classes::nm_detector_geometry {
  kcenon::pacs::services::sop_classes::planar , kcenon::pacs::services::sop_classes::ring , kcenon::pacs::services::sop_classes::partial_ring , kcenon::pacs::services::sop_classes::curved ,
  kcenon::pacs::services::sop_classes::cylindrical
}
 NM detector geometry type. More...
 
enum class  kcenon::pacs::services::sop_classes::nm_collimator_type {
  kcenon::pacs::services::sop_classes::parallel , kcenon::pacs::services::sop_classes::fan_beam , kcenon::pacs::services::sop_classes::cone_beam , kcenon::pacs::services::sop_classes::pinhole ,
  kcenon::pacs::services::sop_classes::diverging , kcenon::pacs::services::sop_classes::converging , kcenon::pacs::services::sop_classes::none
}
 NM collimator type. More...
 
enum class  kcenon::pacs::services::sop_classes::nm_radioisotope {
  kcenon::pacs::services::sop_classes::tc99m , kcenon::pacs::services::sop_classes::i131 , kcenon::pacs::services::sop_classes::i123 , kcenon::pacs::services::sop_classes::tl201 ,
  kcenon::pacs::services::sop_classes::ga67 , kcenon::pacs::services::sop_classes::in111 , kcenon::pacs::services::sop_classes::f18 , kcenon::pacs::services::sop_classes::other
}
 Common radioisotopes used in NM imaging. More...
 
enum class  kcenon::pacs::services::sop_classes::nm_rotation_direction { kcenon::pacs::services::sop_classes::cw , kcenon::pacs::services::sop_classes::cc }
 NM rotation direction for SPECT. More...
 
enum class  kcenon::pacs::services::sop_classes::nm_scan_arc { kcenon::pacs::services::sop_classes::arc_180 , kcenon::pacs::services::sop_classes::arc_360 }
 NM scan arc for SPECT. More...
 
enum class  kcenon::pacs::services::sop_classes::nm_whole_body_technique { kcenon::pacs::services::sop_classes::single_pass , kcenon::pacs::services::sop_classes::multi_pass , kcenon::pacs::services::sop_classes::stepping }
 Patient orientation for whole body scan. More...
 

Functions

std::vector< std::string > kcenon::pacs::services::sop_classes::get_nm_transfer_syntaxes ()
 Get recommended transfer syntaxes for NM images.
 
std::string_view kcenon::pacs::services::sop_classes::to_string (nm_photometric_interpretation interp) noexcept
 Convert photometric interpretation enum to DICOM string.
 
nm_photometric_interpretation kcenon::pacs::services::sop_classes::parse_nm_photometric_interpretation (std::string_view value) noexcept
 Parse DICOM photometric interpretation string.
 
bool kcenon::pacs::services::sop_classes::is_valid_nm_photometric (std::string_view value) noexcept
 Check if photometric interpretation is valid for NM.
 
std::vector< std::string > kcenon::pacs::services::sop_classes::get_nm_storage_sop_classes (bool include_retired=true)
 Get all NM Storage SOP Class UIDs.
 
const nm_sop_class_infokcenon::pacs::services::sop_classes::get_nm_sop_class_info (std::string_view uid) noexcept
 Get information about a specific NM SOP Class.
 
bool kcenon::pacs::services::sop_classes::is_nm_storage_sop_class (std::string_view uid) noexcept
 Check if a SOP Class UID is a NM Storage SOP Class.
 
bool kcenon::pacs::services::sop_classes::is_nm_multiframe_sop_class (std::string_view uid) noexcept
 Check if a SOP Class UID supports multi-frame.
 
std::string_view kcenon::pacs::services::sop_classes::to_string (nm_type_of_data type) noexcept
 Convert NM type of data to DICOM string.
 
nm_type_of_data kcenon::pacs::services::sop_classes::parse_nm_type_of_data (std::string_view value) noexcept
 Parse NM type of data from DICOM string.
 
std::string_view kcenon::pacs::services::sop_classes::to_string (nm_collimator_type collimator) noexcept
 Convert collimator type to DICOM string.
 
nm_collimator_type kcenon::pacs::services::sop_classes::parse_nm_collimator_type (std::string_view value) noexcept
 Parse collimator type from DICOM string.
 
std::string_view kcenon::pacs::services::sop_classes::to_string (nm_radioisotope isotope) noexcept
 Get radioisotope name string.
 
double kcenon::pacs::services::sop_classes::get_primary_energy_kev (nm_radioisotope isotope) noexcept
 Get primary photopeak energy for radioisotope.
 
std::string_view kcenon::pacs::services::sop_classes::to_string (nm_whole_body_technique technique) noexcept
 Convert whole body technique to string.
 

Variables

Primary NM SOP Classes
constexpr std::string_view kcenon::pacs::services::sop_classes::nm_image_storage_uid
 Nuclear Medicine Image Storage SOP Class UID.
 
Retired NM SOP Classes (Legacy Support)
constexpr std::string_view kcenon::pacs::services::sop_classes::nm_image_storage_retired_uid
 Nuclear Medicine Image Storage (Retired) - for legacy systems.
 

Detailed Description

Nuclear Medicine (NM) Image Storage SOP Classes.

This file provides SOP Class definitions and utilities for Nuclear Medicine (NM) image storage including planar, SPECT, and gated acquisitions.

See also
DICOM PS3.4 Section B - Storage Service Class
DICOM PS3.3 Section A.5 - NM Image IOD
Author
kcenon
Since
1.0.0

Definition in file nm_storage.h.