HealthiVert-GAN: Pseudo-Healthy Vertebral Image Synthesis for Interpretable Compression Fracture Grading
HealthiVert-GAN is a novel framework for synthesizing pseudo-healthy vertebral CT images from fractured vertebrae. By simulating pre-fracture states, it enables interpretable quantification of vertebral compression fractures (VCFs) through Relative Height Loss of Vertebrae (RHLV). The model integrates a two-stage GAN architecture with anatomical consistency modules, achieving state-of-the-art performance on both public and private datasets.
π Key Features
- Two-Stage Synthesis: Coarse-to-fine generation with 2.5D sagittal/coronal fusion.
- Anatomic Modules:
- Edge-Enhancing Module (EEM): Captures precise vertebral morphology.
- Self-adaptive Height Restoration Module (SHRM): Predicts healthy vertebral height adaptively.
- HealthiVert-Guided Attention Module (HGAM): Focuses on non-fractured regions via Grad-CAM++.
- Iterative Synthesis: Generates adjacent vertebrae first to minimize fracture interference.
- RHLV Quantification: Measures height loss in anterior/middle/posterior regions for SVM-based Genant grading.
π οΈ Architecture
Workflow
Preprocessing:
- Spine Straightening: Align vertebrae vertically using SCNet segmentation.
- De-pedicle: Remove vertebral arches for body-focused analysis.
- Masking: Replace target vertebra with a fixed-height mask (40mm).
Two-Stage Generation:
- Coarse Generator: Outputs initial CT and segments adjacent vertebrae.
- Refinement Generator: Enhances details with contextual attention and edge loss.
Iterative Synthesis:
- Step 1: Synthesize adjacent vertebrae.
- Step 2: Generate target vertebra using Step 1 results.
RHLV Calculation:
RHLV = \frac{H_{syn} - H_{ori}}{H_{syn}}
Segments vertebra into anterior/middle/posterior regions for detailed analysis.
SVM Classification: Uses RHLV values to classify fractures into mild/moderate/severe.
π Key Contributions
Interpretable Quantification Beyond Black-Box Models
Traditional end-to-end fracture classification models suffer from class imbalance and lack interpretability. HealthiVert-GAN addresses these by synthesizing pseudo-healthy vertebrae and quantifying height loss (RHLV) between generated and original vertebrae. This approach achieves superior performance (e.g., 72.3% Macro-F1 on Verse2019) while providing transparent metrics for clinical decisions.Height Loss Distribution Mapping for Surgical Planning
HealthiVert-GAN generates cross-sectional height loss heatmaps that visualize compression patterns (wedge/biconcave/crush fractures). Clinicians can use these maps to assess fracture stability and plan interventions (e.g., vertebroplasty) with precision unmatched by single-slice methods.Anatomic Prior Integration
Unlike conventional inpainting models, HealthiVert-GAN introduces adjacent vertebrae height variations as prior knowledge. The Self-adaptive Height Restoration Module (SHRM) dynamically adjusts generated vertebral heights based on neighboring healthy vertebrae, improving both interpretability and anatomic consistency.
π Quick Start
Installation
git clone https://github.com/zhibaishouheilab/HealthiVert-GAN.git
cd HealthiVert-GAN
pip install -r requirements.txt # PyTorch, NiBabel, SimpleITK, OpenCV
Data Preparation
Dataset Structure
Organize data as:
/dataset/
βββ raw
βββ 0001/
β βββ 0001.nii.gz # Original CT
β βββ 0001_msk.nii.gz # Vertebrae segmentation
βββ 0002/
βββ 0002.nii.gz
βββ 0002_msk.nii.gz
Note: You have to segment the vertebra firstly. Refer to CTSpine1K-nnUNet to obtain how to segment using nnU-Net.
Preprocessing
Spine Straightening:
python straighten/location_json_local.py # Generate vertebral centroids
python straighten/straighten_mask_3d.py # Output: ./dataset/straightened/
Attention Map Generation:
python Attention/grad_CAM_3d_sagittal.py # Output: ./Attention/heatmap/
Training
Configure JSON:
Update vertebra_data.json
with patient IDs, labels, and paths.
Train Model:
python train.py \
--dataroot ./dataset/straightened \
--name HealthiVert_experiment \
--model pix2pix \
--direction BtoA \
--batch_size 16 \
--n_epochs 1000
Checkpoints saved in ./checkpoints/HealthiVert_experiment
.
The pretrained weights will be released later.
Inference
Generate Pseudo-Healthy Vertebrae:
python eval_3d_sagittal_twostage.py # define the parameters in the code file
Outputs: ./output/CT_fake/
and ./output/label_fake/
.
Fracture Grading
Calculate RHLV:
python evaluation/RHLV_quantification.py
Train SVM Classifier:
python evaluation/SVM_grading.py
Evaluate generation results:
bash python evaluation/generation_eval_sagittal.py
π Results
Qualitative Comparison
The generation visulization of different masking strategies.
The visulization heatmap of vertebral height loss distribution in axial view, and the curve of height loss.
Quantitative Performance (Verse2019 Dataset)
Metric | HealthiVert-GAN | AOT-GAN | 3D SupCon-SENet |
---|---|---|---|
Macro-P | 0.727 | 0.710 | 0.710 |
Macro-R | 0.753 | 0.707 | 0.636 |
Macro-F1 | 0.723 | 0.692 | 0.667 |
Comparison model codes: AOT-GAN 3D SupCon-SENet
π Citation
@misc{zhang2025healthivertgannovelframeworkpseudohealthy,
title={HealthiVert-GAN: A Novel Framework of Pseudo-Healthy Vertebral Image Synthesis for Interpretable Compression Fracture Grading},
author={Qi Zhang and Shunan Zhang and Ziqi Zhao and Kun Wang and Jun Xu and Jianqi Sun},
year={2025},
eprint={2503.05990},
archivePrefix={arXiv},
primaryClass={eess.IV},
url={https://arxiv.org/abs/2503.05990},
}
π§ Contact
If you have any questions about the codes or paper, please let us know via [email protected].
πβ Acknowledgment
- Thank Febian's nnUnet.
- Thank Deng's shared dataset CTSpine 1K and their pretrained nnUNet's weights.
- Thank NeuroML that released the spine straightening algorithm.
π License
This project is licensed under the MIT License. See LICENSE for details.