|
PACS System 0.1.0
PACS DICOM system library
|
Represents a DICOM Transfer Syntax. More...
#include <transfer_syntax.h>

Public Member Functions | |
| transfer_syntax (std::string_view uid) | |
| Constructs a transfer_syntax from a UID string. | |
Property Accessors | |
| std::string_view | uid () const noexcept |
| Returns the Transfer Syntax UID. | |
| std::string_view | name () const noexcept |
| Returns the human-readable name of the Transfer Syntax. | |
| byte_order | endianness () const noexcept |
| Returns the byte ordering for this Transfer Syntax. | |
| vr_encoding | vr_type () const noexcept |
| Returns the VR encoding mode for this Transfer Syntax. | |
| bool | is_encapsulated () const noexcept |
| Checks if this Transfer Syntax uses encapsulated (compressed) format. | |
| bool | is_deflated () const noexcept |
| Checks if this Transfer Syntax uses deflate compression. | |
Validation | |
| bool | is_valid () const noexcept |
| Checks if this is a recognized DICOM Transfer Syntax. | |
| bool | is_supported () const noexcept |
| Checks if this Transfer Syntax is currently supported. | |
Comparison Operators | |
| bool | operator== (const transfer_syntax &other) const noexcept |
| Compares two Transfer Syntaxes by UID. | |
| bool | operator!= (const transfer_syntax &other) const noexcept |
| Compares two Transfer Syntaxes by UID. | |
Static Public Attributes | |
Standard Transfer Syntax Instances | |
| static const transfer_syntax | implicit_vr_little_endian |
| Implicit VR Little Endian (1.2.840.10008.1.2) | |
| static const transfer_syntax | explicit_vr_little_endian |
| Explicit VR Little Endian (1.2.840.10008.1.2.1) | |
| static const transfer_syntax | explicit_vr_big_endian |
| Explicit VR Big Endian (1.2.840.10008.1.2.2) - Retired. | |
| static const transfer_syntax | deflated_explicit_vr_le |
| Deflated Explicit VR Little Endian (1.2.840.10008.1.2.1.99) | |
| static const transfer_syntax | jpeg_baseline |
| JPEG Baseline (Process 1) (1.2.840.10008.1.2.4.50) | |
| static const transfer_syntax | jpeg_lossless |
| JPEG Lossless, Non-Hierarchical (1.2.840.10008.1.2.4.70) | |
| static const transfer_syntax | jpeg2000_lossless |
| JPEG 2000 Image Compression (Lossless Only) (1.2.840.10008.1.2.4.90) | |
| static const transfer_syntax | jpeg2000_lossy |
| JPEG 2000 Image Compression (1.2.840.10008.1.2.4.91) | |
| static const transfer_syntax | rle_lossless |
| RLE Lossless (1.2.840.10008.1.2.5) | |
| static const transfer_syntax | htj2k_lossless |
| HTJ2K Lossless Only (1.2.840.10008.1.2.4.201) | |
| static const transfer_syntax | htj2k_rpcl |
| HTJ2K RPCL (1.2.840.10008.1.2.4.202) - Lossless Only. | |
| static const transfer_syntax | htj2k_lossy |
| HTJ2K (1.2.840.10008.1.2.4.203) - Lossless or Lossy. | |
| static const transfer_syntax | hevc_main |
| HEVC/H.265 Main Profile / Level 5.1 (1.2.840.10008.1.2.4.107) | |
| static const transfer_syntax | hevc_main10 |
| HEVC/H.265 Main 10 Profile / Level 5.1 (1.2.840.10008.1.2.4.108) | |
| static const transfer_syntax | jpegxl_lossless |
| JPEG XL Lossless (1.2.840.10008.1.2.4.110) - Supplement 232. | |
| static const transfer_syntax | jpegxl_jpeg_recompression |
| JPEG XL JPEG Recompression (1.2.840.10008.1.2.4.111) - Supplement 232. | |
| static const transfer_syntax | jpegxl_lossy |
| JPEG XL (1.2.840.10008.1.2.4.112) - Supplement 232. | |
| static const transfer_syntax | frame_deflate |
| Frame Deflate (1.2.840.10008.1.2.11) - Supplement 244. | |
Private Member Functions | |
| transfer_syntax (std::string_view uid, std::string_view name, byte_order endian, vr_encoding vr, bool encapsulated, bool deflated, bool supported) | |
| Private constructor for static instances and registry functions. | |
Private Attributes | |
| std::string | uid_ |
| std::string | name_ |
| byte_order | endianness_ |
| vr_encoding | vr_type_ |
| bool | encapsulated_ |
| bool | deflated_ |
| bool | valid_ |
| bool | supported_ |
Friends | |
| std::optional< transfer_syntax > | find_transfer_syntax (std::string_view uid) |
| Allow registry functions to use private constructor. | |
| std::vector< transfer_syntax > | supported_transfer_syntaxes () |
| Returns a list of all supported Transfer Syntaxes. | |
| std::vector< transfer_syntax > | all_transfer_syntaxes () |
| Returns a list of all known Transfer Syntaxes. | |
Represents a DICOM Transfer Syntax.
Transfer Syntax defines how DICOM data is encoded, including:
Each Transfer Syntax is uniquely identified by a UID.
Definition at line 35 of file transfer_syntax.h.
|
explicit |
Constructs a transfer_syntax from a UID string.
| uid | The Transfer Syntax UID (e.g., "1.2.840.10008.1.2") |
If the UID is not recognized, the transfer_syntax will be invalid (is_valid() returns false).
Definition at line 297 of file transfer_syntax.cpp.
References deflated_, encapsulated_, endianness_, name_, supported_, uid(), valid_, and vr_type_.

|
private |
Private constructor for static instances and registry functions.
Definition at line 318 of file transfer_syntax.cpp.
|
nodiscardnoexcept |
Returns the byte ordering for this Transfer Syntax.
Definition at line 339 of file transfer_syntax.cpp.
References endianness_.
|
nodiscardnoexcept |
Checks if this Transfer Syntax uses deflate compression.
Definition at line 351 of file transfer_syntax.cpp.
References deflated_.
|
nodiscardnoexcept |
Checks if this Transfer Syntax uses encapsulated (compressed) format.
Definition at line 347 of file transfer_syntax.cpp.
References encapsulated_.
|
nodiscardnoexcept |
Checks if this Transfer Syntax is currently supported.
In Phase 1, only uncompressed transfer syntaxes are supported.
Definition at line 359 of file transfer_syntax.cpp.
References supported_.
|
nodiscardnoexcept |
Checks if this is a recognized DICOM Transfer Syntax.
Definition at line 355 of file transfer_syntax.cpp.
References valid_.
|
nodiscardnoexcept |
Returns the human-readable name of the Transfer Syntax.
Definition at line 335 of file transfer_syntax.cpp.
References name_.
|
noexcept |
Compares two Transfer Syntaxes by UID.
| other | The Transfer Syntax to compare with |
Definition at line 367 of file transfer_syntax.cpp.
|
noexcept |
Compares two Transfer Syntaxes by UID.
| other | The Transfer Syntax to compare with |
Definition at line 363 of file transfer_syntax.cpp.
|
nodiscardnoexcept |
Returns the Transfer Syntax UID.
Definition at line 331 of file transfer_syntax.cpp.
References uid_.
Referenced by transfer_syntax().

|
nodiscardnoexcept |
Returns the VR encoding mode for this Transfer Syntax.
Definition at line 343 of file transfer_syntax.cpp.
References vr_type_.
|
friend |
Returns a list of all known Transfer Syntaxes.
Definition at line 394 of file transfer_syntax.cpp.
|
friend |
Allow registry functions to use private constructor.
| uid | The Transfer Syntax UID to search for |
Definition at line 371 of file transfer_syntax.cpp.
|
friend |
Returns a list of all supported Transfer Syntaxes.
Definition at line 380 of file transfer_syntax.cpp.
|
private |
Definition at line 200 of file transfer_syntax.h.
Referenced by is_deflated(), and transfer_syntax().
|
static |
Deflated Explicit VR Little Endian (1.2.840.10008.1.2.1.99)
Definition at line 119 of file transfer_syntax.h.
|
private |
Definition at line 199 of file transfer_syntax.h.
Referenced by is_encapsulated(), and transfer_syntax().
|
private |
Definition at line 197 of file transfer_syntax.h.
Referenced by endianness(), and transfer_syntax().
|
static |
Explicit VR Big Endian (1.2.840.10008.1.2.2) - Retired.
Definition at line 116 of file transfer_syntax.h.
|
static |
Explicit VR Little Endian (1.2.840.10008.1.2.1)
Definition at line 113 of file transfer_syntax.h.
Referenced by kcenon::pacs::storage::file_storage::store(), kcenon::pacs::storage::azure_blob_storage::store_with_progress(), and kcenon::pacs::storage::s3_storage::store_with_progress().
|
static |
Frame Deflate (1.2.840.10008.1.2.11) - Supplement 244.
Definition at line 161 of file transfer_syntax.h.
|
static |
HEVC/H.265 Main Profile / Level 5.1 (1.2.840.10008.1.2.4.107)
Definition at line 146 of file transfer_syntax.h.
|
static |
HEVC/H.265 Main 10 Profile / Level 5.1 (1.2.840.10008.1.2.4.108)
Definition at line 149 of file transfer_syntax.h.
|
static |
HTJ2K Lossless Only (1.2.840.10008.1.2.4.201)
Definition at line 137 of file transfer_syntax.h.
|
static |
HTJ2K (1.2.840.10008.1.2.4.203) - Lossless or Lossy.
Definition at line 143 of file transfer_syntax.h.
|
static |
HTJ2K RPCL (1.2.840.10008.1.2.4.202) - Lossless Only.
Definition at line 140 of file transfer_syntax.h.
|
static |
Implicit VR Little Endian (1.2.840.10008.1.2)
Definition at line 110 of file transfer_syntax.h.
|
static |
JPEG 2000 Image Compression (Lossless Only) (1.2.840.10008.1.2.4.90)
Definition at line 128 of file transfer_syntax.h.
|
static |
JPEG 2000 Image Compression (1.2.840.10008.1.2.4.91)
Definition at line 131 of file transfer_syntax.h.
|
static |
JPEG Baseline (Process 1) (1.2.840.10008.1.2.4.50)
Definition at line 122 of file transfer_syntax.h.
|
static |
JPEG Lossless, Non-Hierarchical (1.2.840.10008.1.2.4.70)
Definition at line 125 of file transfer_syntax.h.
|
static |
JPEG XL JPEG Recompression (1.2.840.10008.1.2.4.111) - Supplement 232.
Definition at line 155 of file transfer_syntax.h.
|
static |
JPEG XL Lossless (1.2.840.10008.1.2.4.110) - Supplement 232.
Definition at line 152 of file transfer_syntax.h.
|
static |
JPEG XL (1.2.840.10008.1.2.4.112) - Supplement 232.
Definition at line 158 of file transfer_syntax.h.
|
private |
Definition at line 196 of file transfer_syntax.h.
Referenced by name(), and transfer_syntax().
|
static |
RLE Lossless (1.2.840.10008.1.2.5)
Definition at line 134 of file transfer_syntax.h.
|
private |
Definition at line 202 of file transfer_syntax.h.
Referenced by is_supported(), and transfer_syntax().
|
private |
Definition at line 195 of file transfer_syntax.h.
Referenced by uid().
|
private |
Definition at line 201 of file transfer_syntax.h.
Referenced by is_valid(), and transfer_syntax().
|
private |
Definition at line 198 of file transfer_syntax.h.
Referenced by transfer_syntax(), and vr_type().