Medical Imaging Fundamentals: Image Formation, DICOM, and Quality Metrics
Module: Healthcare AI | Difficulty: Advanced
X-ray Attenuation (Beer-Lambert Law)
where is the incident intensity and is the linear attenuation coefficient at position .
Hounsfield Unit Conversion (CT)
Signal-to-Noise Ratio (SNR)
Contrast-to-Noise Ratio (CNR)
Modulation Transfer Function (MTF)
Common Imaging Modalities
| Modality | Physics | Resolution | Typical Use | |----------|---------|------------|-------------| | X-ray | Photon attenuation | 0.1-0.5 mm | Bone, chest | | CT | X-ray tomography | 0.5-1.0 mm | Trauma, oncology | | MRI | Nuclear magnetic resonance | 0.5-1.5 mm | Brain, soft tissue | | Ultrasound | Acoustic reflection | 0.5-2.0 mm | Obstetrics, cardiac | | PET | Positron emission | 4-5 mm | Oncology, neurology |
import numpy as np
import pydicom
import os
def load_dicom_series(directory):
slices = []
for f in os.listdir(directory):
if f.endswith('.dcm'):
ds = pydicom.dcmread(os.path.join(directory, f))
slices.append(ds)
slices.sort(key=lambda s: s.InstanceNumber)
volume = np.stack([s.pixel_array for s in slices], axis=-1)
pixel_spacing = slices[0].PixelSpacing
slice_thickness = slices[0].SliceThickness
return volume, pixel_spacing, slice_thickness
def compute_snr(volume, roi_mask):
signal = np.mean(volume[roi_mask])
noise = np.std(volume[roi_mask])
return signal / noise if noise > 0 else float('inf')
def compute_cnr(volume, mask_a, mask_b):
mu_a, sigma_a = np.mean(volume[mask_a]), np.std(volume[mask_a])
mu_b, sigma_b = np.mean(volume[mask_b]), np.std(volume[mask_b])
return abs(mu_a - mu_b) / np.sqrt(sigma_a**2 + sigma_b**2)
def compute_mtf(point_spread_function):
mtf_1d = np.abs(np.fft.fftshift(np.fft.fft(point_spread_function)))
mtf_1d /= mtf_1d.max()
return mtf_1d
print(f'Volume shape: {volume.shape}, Spacing: {spacing}, Thickness: {thickness}')
Research Insight: Deep learning models can learn optimal image representations that surpass handcrafted filters for downstream tasks. Self-supervised pre-training on large unlabeled DICOM datasets enables models to learn clinically meaningful features without explicit annotation, reducing the burden on radiologists during data curation.