ct-windowing-quantization-demo / docs /design_choices.md
HuggingKatze's picture
Restore local app and sync recovery version
3680186
|
Raw
History Blame Contribute Delete
2.14 kB

Design Choices

Why the app separates quantization and windowing

The app treats quantization and windowing as two different operations because they answer different questions.

  1. Quantization changes the stored or representable image values by reducing the number of gray levels.
  2. Windowing changes only the display mapping by emphasizing one intensity range and clipping values outside that range.

Because of that distinction:

  • MSE and PSNR compare the quantized image against the original image.
  • Low clipped ratio and High clipped ratio are diagnostics for display saturation, not accuracy metrics.

Why the app supports DICOM

Medical image quantization is easier to motivate when users can inspect higher-bit-depth data instead of only standard 8-bit PNGs. DICOM upload therefore helps the app align with real medical imaging workflows.

Why the app supports slice selection and rotation

Volumetric medical files are not naturally single-image inputs, so the app defaults to the middle axial slice and exposes a slice selector for exploration. Uploaded DICOM and NIfTI data can also require orientation correction, so the app includes an explicit rotation control for those file types.

Why the app still accepts PNG and JPG

Standard image upload keeps the demo accessible for classmates who may not have medical files available. The app converts RGB input to grayscale so the teaching focus stays on intensity processing.

Candidate public demo examples

If you prepare redistribution-safe demo exports later, these local sources are good candidates:

  • RSNA PE: series_relpath: test/0b2c88c2f00a/bec1b1d73f48 under ../datasets/rsna_pe/test
  • RSNA PE: series_relpath: test/0a780dd0d52b/df56c2f76030 under ../datasets/rsna_pe/test
  • LDCT-and-Projection-data: ../datasets/LDCT-and-Projection-data/C002
  • CT-RATE: valid_101_a_1.nii.gz_slice_0086 from the local CT-RATE volume export pipeline

For the LDCT example set, smaller slice indices are typically closer to the head and larger indices move toward the hips, so slices around 100 and 270 are useful complementary demo views.