|
PACS System 0.1.0
PACS DICOM system library
|
Parameters describing image pixel data. More...
#include <image_params.h>

Public Member Functions | |
| size_t | frame_size_bytes () const noexcept |
| Calculates the size of uncompressed pixel data in bytes. | |
| bool | is_grayscale () const noexcept |
| Checks if the image is grayscale (single sample per pixel). | |
| bool | is_color () const noexcept |
| Checks if the image is color (multiple samples per pixel). | |
| bool | is_signed () const noexcept |
| Checks if pixel values are signed integers. | |
| bool | valid_for_jpeg_baseline () const noexcept |
| Validates image parameters for JPEG Baseline compression. | |
| bool | valid_for_jpeg_lossless () const noexcept |
| Validates image parameters for JPEG Lossless compression. | |
| bool | valid_for_jpeg2000 () const noexcept |
| Validates image parameters for JPEG 2000 compression. | |
| bool | valid_for_jpeg_ls () const noexcept |
| Validates image parameters for JPEG-LS compression. | |
| bool | valid_for_rle () const noexcept |
| Validates image parameters for RLE Lossless compression. | |
Public Attributes | |
| uint16_t | width {0} |
| Image width in pixels (Columns - 0028,0011) | |
| uint16_t | height {0} |
| Image height in pixels (Rows - 0028,0010) | |
| uint16_t | bits_allocated {0} |
| Bits allocated per pixel sample (0028,0100) Valid values: 8, 16. | |
| uint16_t | bits_stored {0} |
| Bits stored per pixel sample (0028,0101) Must be <= bits_allocated. | |
| uint16_t | high_bit {0} |
| High bit position (0028,0102) Typically bits_stored - 1. | |
| uint16_t | samples_per_pixel {1} |
| Number of samples per pixel (0028,0002) 1 for grayscale, 3 for color. | |
| uint16_t | planar_configuration {0} |
| Planar configuration (0028,0006) 0 = interleaved (R1G1B1R2G2B2...), 1 = separate planes (RRR...GGG...BBB...) | |
| uint16_t | pixel_representation {0} |
| Pixel representation (0028,0103) 0 = unsigned, 1 = signed. | |
| photometric_interpretation | photometric {photometric_interpretation::monochrome2} |
| Photometric interpretation (0028,0004) | |
| uint32_t | number_of_frames {1} |
| Number of frames in multi-frame image (0028,0008) | |
Parameters describing image pixel data.
Contains all DICOM attributes needed for image compression/decompression. Maps directly to DICOM tags in Image Pixel Module (C.7.6.3).
Definition at line 81 of file image_params.h.
|
inlinenodiscardnoexcept |
Calculates the size of uncompressed pixel data in bytes.
Definition at line 122 of file image_params.h.
References bits_allocated, height, samples_per_pixel, and width.
Referenced by kcenon::pacs::encoding::compression::jpeg_baseline_codec::impl::encode(), kcenon::pacs::encoding::compression::jpeg_lossless_codec::impl::encode(), and kcenon::pacs::encoding::compression::rle_codec::impl::encode().

|
inlinenodiscardnoexcept |
Checks if the image is color (multiple samples per pixel).
Definition at line 140 of file image_params.h.
References samples_per_pixel.
|
inlinenodiscardnoexcept |
Checks if the image is grayscale (single sample per pixel).
Definition at line 132 of file image_params.h.
References samples_per_pixel.
Referenced by kcenon::pacs::encoding::compression::jpeg_baseline_codec::impl::encode().

|
inlinenodiscardnoexcept |
Checks if pixel values are signed integers.
Definition at line 148 of file image_params.h.
References pixel_representation.
Referenced by kcenon::pacs::encoding::compression::jpeg2000_codec::impl::encode().

|
inlinenodiscardnoexcept |
Validates image parameters for JPEG 2000 compression.
JPEG 2000 requirements:
Definition at line 192 of file image_params.h.
References bits_allocated, bits_stored, height, samples_per_pixel, and width.
|
inlinenodiscardnoexcept |
Validates image parameters for JPEG Baseline compression.
JPEG Baseline requirements:
Definition at line 160 of file image_params.h.
References bits_allocated, bits_stored, and samples_per_pixel.
Referenced by kcenon::pacs::encoding::compression::jpeg_baseline_codec::impl::encode().

|
inlinenodiscardnoexcept |
Validates image parameters for JPEG Lossless compression.
JPEG Lossless requirements:
Definition at line 175 of file image_params.h.
References bits_allocated, bits_stored, and samples_per_pixel.
|
inlinenodiscardnoexcept |
Validates image parameters for JPEG-LS compression.
JPEG-LS requirements:
Definition at line 210 of file image_params.h.
References bits_allocated, bits_stored, height, samples_per_pixel, and width.
|
inlinenodiscardnoexcept |
Validates image parameters for RLE Lossless compression.
RLE Lossless requirements:
Definition at line 229 of file image_params.h.
References bits_allocated, height, samples_per_pixel, and width.
| uint16_t kcenon::pacs::encoding::compression::image_params::bits_allocated {0} |
Bits allocated per pixel sample (0028,0100) Valid values: 8, 16.
Definition at line 90 of file image_params.h.
Referenced by kcenon::pacs::encoding::compression::jpeg2000_codec::impl::decode(), kcenon::pacs::encoding::compression::jpeg_baseline_codec::impl::decode(), kcenon::pacs::encoding::compression::jpeg_ls_codec::impl::decode(), kcenon::pacs::encoding::compression::jpeg_lossless_codec::impl::decode_frame(), kcenon::pacs::encoding::compression::rle_codec::impl::decode_frame(), kcenon::pacs::encoding::compression::jpeg2000_codec::impl::encode(), kcenon::pacs::encoding::compression::jpeg_lossless_codec::impl::encode_frame(), kcenon::pacs::encoding::compression::rle_codec::impl::encode_frame(), frame_size_bytes(), kcenon::pacs::web::dicomweb::render_dicom_image(), valid_for_jpeg2000(), valid_for_jpeg_baseline(), valid_for_jpeg_lossless(), valid_for_jpeg_ls(), and valid_for_rle().
| uint16_t kcenon::pacs::encoding::compression::image_params::bits_stored {0} |
Bits stored per pixel sample (0028,0101) Must be <= bits_allocated.
Definition at line 94 of file image_params.h.
Referenced by kcenon::pacs::encoding::compression::jpeg2000_codec::impl::decode(), kcenon::pacs::encoding::compression::jpeg_baseline_codec::impl::decode(), kcenon::pacs::encoding::compression::jpeg_ls_codec::impl::decode(), kcenon::pacs::encoding::compression::jpeg_lossless_codec::impl::decode_frame(), kcenon::pacs::encoding::compression::rle_codec::impl::decode_frame(), kcenon::pacs::encoding::compression::jpeg2000_codec::impl::encode(), kcenon::pacs::encoding::compression::jpeg_ls_codec::impl::encode(), kcenon::pacs::encoding::compression::jpeg_lossless_codec::impl::encode_frame(), kcenon::pacs::web::dicomweb::render_dicom_image(), valid_for_jpeg2000(), valid_for_jpeg_baseline(), valid_for_jpeg_lossless(), valid_for_jpeg_ls(), and kcenon::pacs::encoding::compression::jpeg_lossless_codec::impl::write_sof3().
| uint16_t kcenon::pacs::encoding::compression::image_params::height {0} |
Image height in pixels (Rows - 0028,0010)
Definition at line 86 of file image_params.h.
Referenced by kcenon::pacs::encoding::compression::jpeg2000_codec::impl::decode(), kcenon::pacs::encoding::compression::jpeg_baseline_codec::impl::decode(), kcenon::pacs::encoding::compression::jpeg_ls_codec::impl::decode(), kcenon::pacs::encoding::compression::jpeg_lossless_codec::impl::decode_frame(), kcenon::pacs::encoding::compression::rle_codec::impl::decode_frame(), kcenon::pacs::encoding::compression::jpeg2000_codec::impl::encode(), kcenon::pacs::encoding::compression::jpeg_baseline_codec::impl::encode(), kcenon::pacs::encoding::compression::jpeg_ls_codec::impl::encode(), kcenon::pacs::encoding::compression::jpeg_lossless_codec::impl::encode_frame(), kcenon::pacs::encoding::compression::rle_codec::impl::encode_frame(), frame_size_bytes(), kcenon::pacs::web::dicomweb::render_dicom_image(), valid_for_jpeg2000(), valid_for_jpeg_ls(), valid_for_rle(), and kcenon::pacs::encoding::compression::jpeg_lossless_codec::impl::write_sof3().
| uint16_t kcenon::pacs::encoding::compression::image_params::high_bit {0} |
High bit position (0028,0102) Typically bits_stored - 1.
Definition at line 98 of file image_params.h.
Referenced by kcenon::pacs::encoding::compression::jpeg2000_codec::impl::decode(), kcenon::pacs::encoding::compression::jpeg_baseline_codec::impl::decode(), kcenon::pacs::encoding::compression::jpeg_ls_codec::impl::decode(), kcenon::pacs::encoding::compression::jpeg_lossless_codec::impl::decode_frame(), kcenon::pacs::encoding::compression::rle_codec::impl::decode_frame(), and kcenon::pacs::web::dicomweb::render_dicom_image().
| uint32_t kcenon::pacs::encoding::compression::image_params::number_of_frames {1} |
Number of frames in multi-frame image (0028,0008)
Definition at line 116 of file image_params.h.
| photometric_interpretation kcenon::pacs::encoding::compression::image_params::photometric {photometric_interpretation::monochrome2} |
Photometric interpretation (0028,0004)
Definition at line 113 of file image_params.h.
Referenced by kcenon::pacs::encoding::compression::jpeg2000_codec::impl::decode(), kcenon::pacs::encoding::compression::jpeg_baseline_codec::impl::decode(), kcenon::pacs::encoding::compression::jpeg_ls_codec::impl::decode(), kcenon::pacs::encoding::compression::jpeg_lossless_codec::impl::decode_frame(), kcenon::pacs::encoding::compression::rle_codec::impl::decode_frame(), kcenon::pacs::encoding::compression::jpeg2000_codec::impl::encode(), and kcenon::pacs::web::dicomweb::render_dicom_image().
| uint16_t kcenon::pacs::encoding::compression::image_params::pixel_representation {0} |
Pixel representation (0028,0103) 0 = unsigned, 1 = signed.
Definition at line 110 of file image_params.h.
Referenced by kcenon::pacs::encoding::compression::jpeg2000_codec::impl::decode(), kcenon::pacs::encoding::compression::jpeg_baseline_codec::impl::decode(), kcenon::pacs::encoding::compression::jpeg_lossless_codec::impl::decode_frame(), kcenon::pacs::encoding::compression::rle_codec::impl::decode_frame(), and is_signed().
| uint16_t kcenon::pacs::encoding::compression::image_params::planar_configuration {0} |
Planar configuration (0028,0006) 0 = interleaved (R1G1B1R2G2B2...), 1 = separate planes (RRR...GGG...BBB...)
Definition at line 106 of file image_params.h.
Referenced by kcenon::pacs::encoding::compression::jpeg2000_codec::impl::decode(), kcenon::pacs::encoding::compression::jpeg_baseline_codec::impl::decode(), kcenon::pacs::encoding::compression::jpeg_ls_codec::impl::decode(), kcenon::pacs::encoding::compression::jpeg_lossless_codec::impl::decode_frame(), kcenon::pacs::encoding::compression::rle_codec::impl::decode_frame(), and kcenon::pacs::encoding::compression::jpeg2000_codec::impl::encode().
| uint16_t kcenon::pacs::encoding::compression::image_params::samples_per_pixel {1} |
Number of samples per pixel (0028,0002) 1 for grayscale, 3 for color.
Definition at line 102 of file image_params.h.
Referenced by kcenon::pacs::encoding::compression::jpeg2000_codec::impl::decode(), kcenon::pacs::encoding::compression::jpeg_baseline_codec::impl::decode(), kcenon::pacs::encoding::compression::jpeg_ls_codec::impl::decode(), kcenon::pacs::encoding::compression::jpeg_lossless_codec::impl::decode_frame(), kcenon::pacs::encoding::compression::rle_codec::impl::decode_frame(), kcenon::pacs::encoding::compression::jpeg2000_codec::impl::encode(), kcenon::pacs::encoding::compression::jpeg_baseline_codec::impl::encode(), kcenon::pacs::encoding::compression::jpeg_ls_codec::impl::encode(), kcenon::pacs::encoding::compression::rle_codec::impl::encode_frame(), frame_size_bytes(), is_color(), is_grayscale(), kcenon::pacs::web::dicomweb::render_dicom_image(), valid_for_jpeg2000(), valid_for_jpeg_baseline(), valid_for_jpeg_lossless(), valid_for_jpeg_ls(), and valid_for_rle().
| uint16_t kcenon::pacs::encoding::compression::image_params::width {0} |
Image width in pixels (Columns - 0028,0011)
Definition at line 83 of file image_params.h.
Referenced by kcenon::pacs::encoding::compression::jpeg2000_codec::impl::decode(), kcenon::pacs::encoding::compression::jpeg_baseline_codec::impl::decode(), kcenon::pacs::encoding::compression::jpeg_ls_codec::impl::decode(), kcenon::pacs::encoding::compression::jpeg_lossless_codec::impl::decode_frame(), kcenon::pacs::encoding::compression::rle_codec::impl::decode_frame(), kcenon::pacs::encoding::compression::jpeg2000_codec::impl::encode(), kcenon::pacs::encoding::compression::jpeg_baseline_codec::impl::encode(), kcenon::pacs::encoding::compression::jpeg_ls_codec::impl::encode(), kcenon::pacs::encoding::compression::jpeg_lossless_codec::impl::encode_frame(), kcenon::pacs::encoding::compression::rle_codec::impl::encode_frame(), frame_size_bytes(), kcenon::pacs::web::dicomweb::render_dicom_image(), valid_for_jpeg2000(), valid_for_jpeg_ls(), valid_for_rle(), and kcenon::pacs::encoding::compression::jpeg_lossless_codec::impl::write_sof3().