πŸŽ‰ 75% of content is free forever β€” Unlock Premium from $10/mo β†’
CW
Search courses…
πŸ’Ό Servicesℹ️ Aboutβœ‰οΈ ContactView Pricing Plansfrom $10

Medical Imaging Fundamentals: Image Formation, DICOM, and Quality Metrics

Healthcare AIMedical Imaging Fundamentals: Image Formation, DICOM, and Quality Metrics🟒 Free Lesson

Advertisement

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.

Need Expert Healthcare AI Help?

Get personalized tutoring, project support, or professional consulting.

Advertisement