Deep Learning-based (DL) reconstruction framework for Magnetic Resonance Cholangiopancreatography (MRCP) imaging. We use ResNet-based DL models for supervised (SV) and self-supervised training. We train DL models on the 3T six-fold retrospectively undersampled MRCP. We evaluate the model for six-fold retrospective and prospective undersampling acquired at 3T and 0.55T.
- Clone the repository then navigate to the
MRCP_DLReconroot directory.
git clone git@github.com:JinhoKim46/MRCP_DLRecon.git
cd MRCP_DLRecon- Create a new conda environment
conda env create -f environment.yml- Activate the conda environment
conda activate mrcp_dlrecon- Install a dlrecon package
pip install -e . - MRI data are stored in the
HDF5format containing the following structures:- Datasets:
-
grappa: target data (y$\times$ x$\times$ Slice) -
kdata_raw: Raw$k$ -space data (x2) (nCoil$\times$ PE$\times$ RO$\times$ Slice) -
kdata_fs: Fully-sampled$k$ -space data fromkdata_rawusing GRAPPA (nCoil$\times$ PE$\times$ RO$\times$ Slice) -
sm_espirit: ESPIRiT-based sensitivity maps (nCoil$\times$ y$\times$ x$\times$ Slice)
-
- Datasets:
- The
sample_datadirectory contains sample MRCP data for training, validation, and testing. We provide two two-fold (2x) 3D MRCP and one six-fold (6x) 3D MRCP. In thesample_data/dataset.csv, the two 2x MRCP data are defined for training and validation, and the 6x MRCP data is marked for testing. You can find the data here. Additional information, such as header information, is ignored in the sample data. - Data splitting for training, validation, and testing is done by the
sample_data/dataset.csvfile. - Replace
data_pathin theconfigs/paths.yamlfile with the actual path to the data.
- Define the training configurations in the
configs/dlrecon.yamlfile. - Run
main.pyby
python main.py fit --config configs/dlrecon.yaml- You can define the run name by adding the
--nameargument at run. Unless you define the run name, it is set to%Y%m%d_%H%M%S_{training_manner}with the current date and time.
python main.py fit --config configs/dlrecon.yaml --name test_run- You can overwrite the configurations in the
configs/dlrecon.yamlfile by adding arguments at run.
python main.py fit --config configs/dlrecon.yaml --model.training_manner ssv- Log files containing
checkpoints/,lightning_logs/, andscript_dump/are stored inlog_path/run_name.log_pathis defined in theconfigs/paths.yamlfile. - You can resume the training by giving
run_namewithfitcommand.*.ckptfile should be placed inrun_name/checkpoints/to resume the model.
python main.py fit --config configs/dlrecon.yaml --name run_name- Run
main.pywithrun_nameby
python main.py test --config configs/dlrecon.yaml --name run_name*.ckptfile should be placed inrun_name/checkpoints/to test the model.- The output files are saved in
log_path/run_name/npys/FILENAME.
Please cite the following paper if this repository is helpful for your research :)
Kim, J., Nickel, M. and Knoll, F. (2025), Deep Learning-Based Accelerated MR Cholangiopancreatography Without Fully-Sampled Data. NMR in Biomedicine, 38: e70002. https://doi.org/10.1002/nbm.70002