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

SIMD optimizations for window/level (VOI LUT) application. More...

#include "simd_config.h"
#include "simd_types.h"
#include <algorithm>
#include <cmath>
#include <cstddef>
#include <cstdint>
#include <vector>
Include dependency graph for simd_windowing.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  kcenon::pacs::encoding::simd::window_level_params
 Window/Level parameters. More...
 
class  kcenon::pacs::encoding::simd::window_level_lut
 Precomputed LUT for fast repeated window/level application. More...
 

Namespaces

namespace  kcenon
 
namespace  kcenon::pacs
 
namespace  kcenon::pacs::encoding
 
namespace  kcenon::pacs::encoding::simd
 
namespace  kcenon::pacs::encoding::simd::detail
 

Functions

void kcenon::pacs::encoding::simd::apply_window_level_8bit (const uint8_t *src, uint8_t *dst, size_t pixel_count, const window_level_params &params) noexcept
 Apply window/level transformation to 8-bit grayscale data.
 
void kcenon::pacs::encoding::simd::apply_window_level_16bit (const uint16_t *src, uint8_t *dst, size_t pixel_count, const window_level_params &params) noexcept
 Apply window/level transformation to 16-bit unsigned grayscale data.
 
void kcenon::pacs::encoding::simd::apply_window_level_16bit_signed (const int16_t *src, uint8_t *dst, size_t pixel_count, const window_level_params &params) noexcept
 Apply window/level transformation to 16-bit signed grayscale data.
 
void kcenon::pacs::encoding::simd::detail::apply_window_level_8bit_scalar (const uint8_t *src, uint8_t *dst, size_t pixel_count, const window_level_params &params) noexcept
 Scalar 8-bit window/level application.
 
void kcenon::pacs::encoding::simd::detail::apply_window_level_16bit_scalar (const uint16_t *src, uint8_t *dst, size_t pixel_count, const window_level_params &params) noexcept
 Scalar 16-bit window/level application.
 
void kcenon::pacs::encoding::simd::detail::apply_window_level_16bit_signed_scalar (const int16_t *src, uint8_t *dst, size_t pixel_count, const window_level_params &params) noexcept
 Scalar signed 16-bit window/level application.
 

Detailed Description

SIMD optimizations for window/level (VOI LUT) application.

Provides optimized window/level transformations for DICOM image display. Window/level (also known as contrast/brightness) maps input pixel values to display values based on window center and width parameters.

Transformation formula: output = clamp((input - (center - width/2)) * 255 / width, 0, 255)

See also
DICOM PS3.3 C.11.2 - VOI LUT Module
Author
kcenon
Since
1.0.0

Definition in file simd_windowing.h.