Diary And Notes For: Islam Ayoub

Date: 2026-11-09 16:59
Subject: Zero-Trust Browser PACS: 16-Bit DICOM Part 10 Viewer Online

Body:
Parsing DICOM Part 10 (DICM) Little Endian Files and Rendering 16-Bit Hounsfield Pixel Data in Browser Memory
Author: Islam Ayoub (ORCID: 0009-0002-1503-5639) — Utilvo Clinical & Privacy Engineering
Official DataCite DOI: https://doi.org/10.17605/OSF.IO/UCRS5
Live Clinical PACS Sandbox: https://utilvo.com/medical-viewers/dicom-viewer-online

Medical imaging modalities—including Computed Tomography (CT), Magnetic Resonance Imaging (MRI), X-Ray Angiography (XA), Digital Radiography (DX), and Ultrasound (US)—store and exchange diagnostic scans using the DICOM Part 10 (ISO 12052 / NEMA PS3) standard. Unlike consumer 8-bit RGB images, a clinical .dcm file combines structured patient, study, and geometric Data Elements with raw 12-bit or 16-bit signed/unsigned grayscale voxel arrays (PixelData, Tag 7FE0,0010).

For clinicians, radiology researchers, and biomedical engineers who want to open .dcm studies, inspect Implicit/Explicit VR Little Endian transfer syntaxes, adjust Hounsfield Unit (HU) Window/Level (WW/WL) presets, play multi-frame X-Ray Angiography (Modality: XA) cine loops at 15–60 FPS, and switch between clinical Grayscale and Hot Iron vascular perfusion LUT palettes locally without transmitting Protected Health Information (PHI) over the network, the Utilvo DICOM Viewer Online executes the entire parsing and 16-bit VOI LUT pipeline client-side in browser memory.

Live Clinical PACS Sandbox Screenshots (96-Frame XA Coronary Angiography, 512x512, WW/WL 80/40):
- Figure 1 (Clinical Grayscale Mode, Frame 001/096): https://osf.io/download/6af1f4e90707300078b8c45a/
- Figure 2 (Hot Iron Vascular Perfusion LUT Palette, Frame 035/096, Zoom 127%): https://osf.io/download/6af1f4ec8412910340b8c80c/

Two-Stage Radiometric Pipeline: Modality LUT & VOI LUT Windowing:
1. Stage 1 (Modality LUT): Converts raw 12-bit or 16-bit integer voxels P_raw into physical radiodensity units U (Hounsfield Units for CT) via Tag (0028,1053) RescaleSlope and Tag (0028,1052) RescaleIntercept: U = P_raw * RescaleSlope + RescaleIntercept.
2. Stage 2 (VOI LUT Linear Windowing): Maps physical value U through the active clinical Window Center (C) and Window Width (W) into an 8-bit display buffer via a single 32-bit Uint32Array pixel write, re-windowing a 512 x 512 diagnostic slice in under 1.8 ms on a single JavaScript thread.

Existing Diary And Note Entries
Subject Date
Zero-Trust Browser PACS: 16-Bit DICOM Part 10 Viewer Online2026-11-09 16:59