Computational imaging methods
Liver MRI Methods
I built this project to understand what changes when methods developed for patient-level clinical data meet multiphasic MRI. Patient separation still matters, but image geometry, registration and annotation choices begin shaping the measurement before a model sees it.
Quick scan
What the first study contains
The first version works through the measurement problems before treating model complexity as the main question.
- Project type
- Self-directed computational imaging methods project
- Dataset
- LiverHccSeg multiphasic MRI: 17 examinations with whole-liver annotations
- Current release
- Version 0.1.0, preserving the first study as a reproducible baseline
- Methods
- Geometry audit, registration inspection, voxel-level DCE features and a small 2D U-Net
- Technical stack
- Python, NumPy, pandas, scikit-learn, SimpleITK and PyTorch
- Reproducibility
- Versioned configuration, synthetic tests, result parity checks and published checksums
Start with the image measurement
The public LiverHccSeg dataset provides pre-contrast, arterial, portal-venous and delayed MRI phases. The workflow checks their physical geometry and moves every displayed phase and mask onto a common arterial grid. That step makes spatial correspondence something to establish, rather than something the array shape is allowed to imply.
Inspect registration before modelling
I compared the dataset-supplied registration with a seeded rigid SimpleITK baseline on three examinations. The supplied images had the higher in-liver mutual-information score in seven of nine comparisons, but I kept the conclusion narrow: that numerical ordering is useful for inspection and is not anatomical validation.
Workflow
A versioned baseline that can be challenged
Each stage exposes a decision that later studies can test without overwriting the original run.
- Audit phase availability, orientation, spacing and physical grids before comparing voxels across scans.
- Place displayed phases and masks on the arterial physical grid and inspect registration rather than assuming matching array indices represent the same tissue.
- Separate patients before fitting a logistic voxel classifier using four declared dynamic-contrast signal features.
- Run a fixed three-epoch, four-channel 2D U-Net smoke test and review its predictions alongside its numerical scores.
- Preserve the failed baseline, configuration and result tables so later debugging studies extend the record instead of rewriting it.
What the modelling showed
The logistic baseline could rank tumour regions strongly while labelling too much liver. The U-Net produced apparently stronger overlap for one held-out case, but the evaluation units differed and the images told the more important story: broad liver-shaped predictions and false positives in a declared negative examination.
Why the failed model stays in the project
The failure made the next experiment clearer. Before making the network larger, the project now needs to test target construction, slice balance and the ways the manual liver mask may have created a shortcut. Keeping that result visible is more useful than presenting the training run as a successful segmentation model.
Reproducibility
Code, tests and result records
The repository includes reusable code, versioned settings, method notes, small result tables, checksums and tests that run without downloading the imaging dataset.
Next questions
The next studies will begin with an overfit-one-batch control, tumour-target and slice-balance checks, and comparisons between full liver-zeroed fields, crops and an explicit mask channel. Registration work will add anatomical measures before stronger model comparisons are attempted.
Page updated