PACS System 0.1.0
PACS DICOM system library
Loading...
Searching...
No Matches
wsi_storage.h
Go to the documentation of this file.
1// BSD 3-Clause License
2// Copyright (c) 2021-2025, 🍀☀🌕🌥 🌊
3// See the LICENSE file in the project root for full license information.
4
20#ifndef PACS_SERVICES_SOP_CLASSES_WSI_STORAGE_HPP
21#define PACS_SERVICES_SOP_CLASSES_WSI_STORAGE_HPP
22
23#include <cstdint>
24#include <string>
25#include <string_view>
26#include <vector>
27
29
30// =============================================================================
31// WSI Storage SOP Class UIDs
32// =============================================================================
33
35inline constexpr std::string_view wsi_image_storage_uid =
36 "1.2.840.10008.5.1.4.1.1.77.1.6";
37
38// =============================================================================
39// WSI DICOM Tags (group 0x0048 — Whole Slide Microscopy)
40// =============================================================================
41
42namespace wsi_tags {
43
45inline constexpr uint32_t imaged_volume_width = 0x00480001;
46
48inline constexpr uint32_t imaged_volume_height = 0x00480002;
49
51inline constexpr uint32_t imaged_volume_depth = 0x00480003;
52
54inline constexpr uint32_t total_pixel_matrix_columns = 0x00480006;
55
57inline constexpr uint32_t total_pixel_matrix_rows = 0x00480007;
58
60inline constexpr uint32_t total_pixel_matrix_focal_planes = 0x00480008;
61
63inline constexpr uint32_t image_orientation_slide = 0x00480102;
64
66inline constexpr uint32_t optical_path_identifier = 0x00480105;
67
69inline constexpr uint32_t optical_path_description = 0x00480106;
70
72inline constexpr uint32_t specimen_identifier = 0x00400551;
73
75inline constexpr uint32_t container_identifier = 0x00400512;
76
78inline constexpr uint32_t dimension_organization_type = 0x00209311;
79
80} // namespace wsi_tags
81
82// =============================================================================
83// WSI SOP Class Utilities
84// =============================================================================
85
90[[nodiscard]] std::vector<std::string> get_wsi_storage_sop_classes();
91
97[[nodiscard]] bool is_wsi_storage_sop_class(std::string_view uid) noexcept;
98
108[[nodiscard]] bool is_valid_wsi_photometric(std::string_view value) noexcept;
109
110} // namespace kcenon::pacs::services::sop_classes
111
112#endif // PACS_SERVICES_SOP_CLASSES_WSI_STORAGE_HPP
constexpr uint32_t total_pixel_matrix_focal_planes
Total Pixel Matrix Focal Planes (0048,0008) — number of focal planes.
Definition wsi_storage.h:60
constexpr uint32_t image_orientation_slide
Image Orientation (Slide) (0048,0102)
Definition wsi_storage.h:63
constexpr uint32_t specimen_identifier
Specimen Identifier (0040,0551)
Definition wsi_storage.h:72
constexpr uint32_t imaged_volume_height
Imaged Volume Height (0048,0002) — physical height of scanned region in mm.
Definition wsi_storage.h:48
constexpr uint32_t imaged_volume_width
Imaged Volume Width (0048,0001) — physical width of scanned region in mm.
Definition wsi_storage.h:45
constexpr uint32_t optical_path_identifier
Optical Path Identifier (0048,0105)
Definition wsi_storage.h:66
constexpr uint32_t container_identifier
Container Identifier (0040,0512)
Definition wsi_storage.h:75
constexpr uint32_t imaged_volume_depth
Imaged Volume Depth (0048,0003) — physical depth (Z-stack) in mm.
Definition wsi_storage.h:51
constexpr uint32_t total_pixel_matrix_columns
Total Pixel Matrix Columns (0048,0006) — total width across all tiles.
Definition wsi_storage.h:54
constexpr uint32_t dimension_organization_type
Dimension Organization Type (0020,9311)
Definition wsi_storage.h:78
constexpr uint32_t total_pixel_matrix_rows
Total Pixel Matrix Rows (0048,0007) — total height across all tiles.
Definition wsi_storage.h:57
constexpr uint32_t optical_path_description
Optical Path Description (0048,0106)
Definition wsi_storage.h:69
bool is_wsi_storage_sop_class(std::string_view uid) noexcept
Check if a SOP Class UID is a WSI Storage SOP Class.
bool is_valid_wsi_photometric(std::string_view value) noexcept
Check if photometric interpretation is valid for WSI.
constexpr std::string_view wsi_image_storage_uid
VL Whole Slide Microscopy Image Storage SOP Class UID.
Definition wsi_storage.h:35
std::vector< std::string > get_wsi_storage_sop_classes()
Get all WSI Storage SOP Class UIDs.
std::string_view uid