Skip to content

Emi17bg/medical---image---preprocessing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Medical Image Preprocessing Pipeline

This project implements an adaptive preprocessing pipeline for grayscale medical images. It is designed as a reusable conditioning step prior to classical machine learning or deep learning models in medical imaging applications.

The pipeline focuses on denoising and contrast enhancement while avoiding unnecessary noise amplification through objective, data-driven decision criteria.


Overview

Given a noisy medical image and its corresponding clean reference image, the pipeline:

  1. Loads images in grayscale.
  2. Applies adaptive denoising (median or Gaussian) based on noise characteristics.
  3. Applies CLAHE as an optional contrast enhancement step.
  4. Evaluates image quality using objective metrics.
  5. Automatically decides whether CLAHE improves the image.
  6. Saves visual comparisons and exports quantitative results.

Preprocessing Logic

Denoising

  • Median filter is applied when extreme intensity values are detected.
  • Gaussian filter is applied otherwise.

Contrast Enhancement

  • CLAHE is applied as a candidate enhancement.
  • Its use is accepted or rejected based on objective metrics.

Decision Metrics

  • PSNR (when a reference image is available)
  • Entropy (no-reference information metric)
  • Intensity standard deviation (global contrast indicator)

CLAHE is retained only if it improves information content and contrast without significantly degrading fidelity to the reference image.


Project Structure

project-0-medimg-preprocessing/ ├─ src/ │ └─ medimg_preprocess/ │ ├─ io.py │ ├─ dataset.py │ ├─ filters.py │ ├─ contrast.py │ ├─ metrics.py │ └─ pipeline_single.py ├─ run_batch.py ├─ notebooks/ │ └─ exploration.ipynb ├─ data/ │ ├─ noisy/ │ └─ original/ ├─ outputs/ ├─ requirements.txt └─ README.md


Installation

bash python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate pip install -r requirements.txt

Usage

Batch processing

python run_batch.py

This script:

  • Validates dataset consistency.
  • Processes all images in data/noisy/.
  • Saves comparison figures in outputs/.
  • Generates a summary.csv file with objective metrics and decisions.

Notes on PSNR

PSNR is used only for evaluation purposes when a clean reference image is available. In real clinical scenarios, reference images are usually unavailable, so no-reference metrics (entropy and intensity statistics) are preferred.

Applications

  • Medical image preprocessing
  • Classical machine learning pipelines
  • CNN input conditioning
  • Educational and research purposes

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages