PLEASE INSTALL !!! DOCKER !!! TO CREATE CONTAINER.
https://docs.docker.com/engine/install/ubuntu/
-
Clone this repository
git clone git@github.com:hanyoseob/HDD-DL-for-SVCT.git
-
Create, Start, and Run Docker Container
docker run -it -v [HOST_DIR]:/workspace/[CONTAINER_DIR] --gpus all --name [DOCKER_NAME] pytorch/pytorch:1.11.0-cuda11.3-cudnn8-devel /bin/bash
ex)
docker run -it -v ./HDD-DL-for-SVCT.:/workspace/HDD-DL-for-SVCT. --gpus all --name mpi pytorch/pytorch:1.11.0-cuda11.3-cudnn8-devel /bin/bash
-
Install basic libraries
apt-get update
apt-get install git vim wget unzip -y
-
Move to the repository
cd HDD-DL-for-SVCT.
-
Install the requirements
pip install -r requirements.txt
-
Download pre-trained models
wget https://www.dropbox.com/scl/fi/ryvda57j7dgu8yleqi51i/checkpoints.zip?rlkey=s6mczko9ajsm5va2x40e4u51t
mv checkpoints.zip?rlkey=s6mczko9ajsm5va2x40e4u51t checkpoints.zip
unzip checkpoints.zip
rm checkpoints.zip __MACOSX
-
Reproduce Figure 6 (i, ii, v, vi) for Transverse view
python demo_fig6.py
Before training the image- and projection-domain network,
YOU MUST PREPARE THE DATASET.
-
II-Net trained at decomposition level 1 (*decomposition level 1 is equal to nstage=0)
python main_for_img2img.py \ --scope ct_img2img \ --mode train \ --num_epoch 100 \ --batch_size 4 \ --dir_data [PATH_OF_TRAIN_DATA_DIRECTORY] \ --nstage 0 \ --loss_type_img img \ --lr_type_img residual \
-
II-Net trained at decomposition level [N] (*decomposition level [N] is equal to nstage=[N-1])
python main_for_img2img.py \ --scope ct_img2img \ --mode train \ --num_epoch 100 \ --batch_size 4 \ --dir_data [PATH_OF_TRAIN_DATA_DIRECTORY] \ --nstage [N] \ --loss_type_img img \ --lr_type_img residual \
-
PI-Net trained at decomposition level 1 (*decomposition level 1 is equal to nstage=0)
python main_for_prj2img.py \ --scope ct_prj2img \ --mode train \ --num_epoch 100 \ --batch_size 4 \ --dir_data [PATH_OF_TRAIN_DATA_DIRECTORY] \ --nstage 0 \ --loss_type_prj img \ --lr_type_prj consistency \
-
PI-Net trained at decomposition level [N] (*decomposition level [N] is equal to nstage=[N-1])
python main_for_prj2img.py \ --scope ct_prj2img \ --mode train \ --num_epoch 100 \ --batch_size 4 \ --dir_data [PATH_OF_TRAIN_DATA_DIRECTORY] \ --nstage [N] \ --loss_type_prj img \ --lr_type_prj consistency \
- II-Net trained at decomposition level [N] (*decomposition level [N] is equal to nstage=[N-1])
python main_for_img2img.py \
--scope ct_img2img \
--mode test \
--batch_size 1 \
--dir_data [PATH_OF_TEST_DATA_DIRECTORY] \
--nstage [N] \
--loss_type_img img \
--lr_type_img residual \
- PI-Net trained at decomposition level [N] (*decomposition level [N] is equal to nstage=[N-1])
python main_for_prj2img.py \ --scope ct_prj2img \ --mode test \ --batch_size 1 \ --dir_data [PATH_OF_TEST_DATA_DIRECTORY] \ --nstage [N] \ --loss_type_prj img \ --lr_type_prj consistency \