Masaaki-75 / proct

Official implementation of "Universal Incomplete-View CT Reconstruction with Prompted Contextual Transformer"
MIT License
12 stars 1 forks source link

这个代码可以正常运行吗?这篇文章发表在什么地方了,我在arxiv上看到 #1

Closed ni909 closed 6 months ago

ni909 commented 7 months ago

我看效果不错哎

Masaaki-75 commented 7 months ago

感谢您的关注!

目前文章为预印版本,尚未发表。因此我们仅提供一个预训练的checkpoint以及可运行的测试代码(参见README.md文档)。当文章被接收后,我们将尽快开源训练代码。

ni909 commented 7 months ago

那这个代码我运行起来可以看到效果吗?就是我输入一张带有稀疏伪影的图,输出一张去除稀疏伪影的结果图吗?

Masaaki-75 commented 7 months ago

当您准备好相关的数据集后,可以按照test.sh中的指令运行,并在最后加上--tester_save_fig参数,即可在./${tester_save_dir}/${tester_save_name}下看到去除伪影的图片结果。以DeepLesion数据集为例:

  1. 准备好数据集

  2. 进入Tester修改数据集文件路径参数,具体而言是这里deeplesion_diraapm_dir

  3. 运行如下命令:

    
    net_name="proct"
    net_dict="dict(use_rope=False,block_kwargs={'norm_type':'INSTANCE'},drop_path_rates=0.1,use_spectrals=[True,True,True,False,False],use_learnable_prompt=False,num_heads=[2,4,6,1,1],attn_ratio=[0,1/2,1,0,0])"
    support_size=1
    train_json=./datasets/dl_train.txt
    val_json=./datasets/dl_test.txt
    tester_save_dir=./res
    tester_save_name=proct_v1
    net_checkpath=./ckpt/proct_v1.pkl

CUDA_VISIBLE_DEVICES='7' python main.py \ --dataset_name 'deeplesion' --num_train 10000 --num_val 1000 \ --train_json ${train_json} --val_json ${val_json} \ --support_size ${support_size} \ --ct_task_list 'sparse_view_18_36_72_144' 'limited_angle_90_120_150' \ --poisson_rate 1e6 --gaussian_rate 0.01 \ --clip_hu --min_hu -1024 --max_hu 3072 \ --img_size 256 256 --spatial_dims 2 \ --trainer_mode 'test' --network ${net_name} --net_dict ${net_dict} \ --tester_save_dir ${tester_save_dir} --tester_save_name ${tester_save_name} \ --load_net --net_checkpath $net_checkpath \ --num_workers 4 --use_tqdm --tester_save_tab --tester_save_fig



如果您希望进行单张图片的推理,可以使用一个简单的notebook来代替上述步骤
ni909 commented 7 months ago

好的好的,谢谢您宝贵的回答

ni909 commented 6 months ago

您好,测试了一下,这个跑出来效果也得按照您的那个配置软件包的要求吗?因为我电脑没有cuda的英伟达显卡,我看您的配置单上要求cuda,那么我的电脑就跑不了这个了吗?我也就是看看效果。

Masaaki-75 commented 6 months ago

本项目基于torch-radon搭建,torch-radon编写了高效的CUDA算法来进行CT的前投影和反投影,但它必须在支持CUDA的GPU上运行。本项目使用这个工具包来进行稀疏角度CT图像数据的构造,因此运行代码确实是需要CUDA环境的。

但如果您已经准备好了输入的多对稀疏角度CT图像数据,则也可以直接在CPU上运行。您需要提供一张待处理的图像,以及一对上下文图像(可以由phantom生成),以及一个包含了稀疏角度分布信息的prompt。所有这些图像需按照[-1024, 3072]的窗口归一化到[0, 1]范围。

如果您只想在一两张图像上观察效果,并且不介意的话,我也可以为您进行测试。在清除了数据隐私之后,可以将稀疏角度分布和待测试图像(最好是以HU值存储)发送至我的邮箱:masaaki75@qq.com。

Masaaki-75 commented 6 months ago

@ni909 此issue已经结束,之后若有问题可通过邮箱交流🌹