Paper: AI-assisted Early Detection of Pancreatic Ductal Adenocarcinoma on Contrast-enhanced CT
If you find our code/paper helpful for your research, please kindly consider citing our work:
@article{liu2025ai,
title={AI-assisted Early Detection of Pancreatic Ductal Adenocarcinoma on Contrast-enhanced CT},
author={Liu, Han and Gao, Riqiang and Grbic, Sasa},
journal={arXiv preprint arXiv:2503.10068},
year={2025}
}
If you have any questions, feel free to contact [email protected] or open an Issue in this repo.
cuda-11.1, cudnn/9.0.0-cuda-12
conda create pdac python=3.12 -y
conda activate pdac
git clone https://github.com/han-liu/PDAC_Detection.git
cd PDAC_Detection
pip install -r requirements.txt
cd packages/nnunetv2
pip install -e .
cd ../report-guided-annotation
pip install -e .
Download the our models and example testing images [click to download]
PDAC_Detection/
βββ workspace/
βββ nnUNet_raw/
βββ nnUNet_preprocessed/
βββ nnUNet_results/
βββ Dataset103_PANORAMA_baseline_Pancreas_Segmentation/
βββ Dataset107_PDAC_Detection/
βββ test_example/
βββ output/
βββ input/
βββ filename1.nii.gz
βββ filename2.mha
βββ ...
export nnUNet_raw="./workspace/nnUNet_raw"
export nnUNet_preprocessed="./workspace/nnUNet_preprocessed"
export nnUNet_results="./workspace/nnUNet_results"
python main.py -i ${INPUT_DIR} -o ${OUTPUT_DIR} --inv_alpha ${INV_ALPHA}
where:
${INPUT_DIR}
is the directory containing your input images (e.g., nii.gz, mhd, mha, etc).${OUTPUT_DIR}
is the directory where the prediction will be saved.${INV_ALPHA}
controls the expansion of the predicted lesion (larger values predict larger lesions); default=15
.
python main.py -i ./workspace/test_example/input -o ./workspace/test_example/output
- PDAC detection map (ranging from 0-1) where each predicted lesion is assigned a confidence score.
- Patient-level likelihood score (computed as the maximum value of the detection map)
The PDAC detection maps are saved under ${OUTPUT_DIR}/pdac-detection-map
:
βββ ${OUTPUT_DIR}/
βββ pdac-likelihood.json
βββ pdac-detection-map/
βββ filename1.nii.gz
βββ filename2.nii.gz
βββ ...
The pdac-likelihood.json
contains the likelihood scores for each patient:
{
"filename1": 0.9965946078300476,
"filename2": 0.9977765679359436,
...
}
This code is built upon the following works. We gratefully acknowledge their contribution and encourage users to cite their original work:
- Isensee, Fabian, et al. "nnU-Net: a self-configuring method for deep learning-based biomedical image segmentation." Nature methods
- Bosma, Joeran S, et al. "Semi-supervised learning with report-guided pseudo labels for deep learningβbased prostate cancer detection using biparametric MRI." Radiology AI
- Alves, NatΓ‘lia, et al. "Fully automatic deep learning framework for pancreatic ductal adenocarcinoma detection on computed tomography." Cancers