Histology Image Pipeline Classification and Denoising

A compact research workflow for turning noisy H&E image patches into cleaner model inputs, then comparing CNN classification outcomes across original and filtered datasets.

Classification

ResNet based CNN training for three histology classes.

Denoising

OpenCV filters, DnCNN wrapper, and Restormer outputs.

Evaluation

Confusion matrices, class recall, and accuracy metrics.

Reproducible

Notebook trail, scripts, requirements, and saved weights.

Noisy histology input Denoised histology output
Noisy input
Real denoising

Classification Workflow

End to end path from image folders to saved model outputs.

  1. 1

    Data

    Folder structured histology patches are loaded by class.

  2. 2

    Preprocess

    Images are resized, normalized, and optionally filtered.

  3. 3

    Model

    A ResNet based classifier is trained with early stopping.

  4. 4

    Evaluate

    Accuracy and confusion matrices are recorded in notebooks.

  5. 5

    Predict

    Saved checkpoints can be reused for classification runs.

Denoising Comparison

Included sample outputs show how each method changes stain texture, edge detail, and artifact patterns.

Model Comparison

The saved notebook outputs compare original images against Gaussian filtered inputs with a sigma 5 preprocessing step.

Class metric

Audit Notes

Key implementation details found across the cloned branch.

Data and classes

Notebooks use three class groups for filtered experiments: Immune Cells, Invasive Tumor Set, and Non Invasive Tumor.

Preprocessing

Classical scripts apply Gaussian or median filters to class folders and write sibling filtered folders for training.

Models

The repo includes CNN classification checkpoints plus Restormer weights and a DnCNN style wrapper for denoising experiments.

Results

Original CNN accuracy is 92.02 percent. Gaussian filtered CNN accuracy is 92.60 percent in the saved notebook run.

Review flag

The Restormer class wrapper has a path prefix to review before reuse, while the script level Restormer run references the saved weights.