yanbozhang007 / CNN-MAR

Convolutional neural network based metal artifact reduction (CNN-MAR) in x-ray computed tomography
58 stars 17 forks source link

Question about Demo_CNNMAR #1

Open loveoclock opened 6 years ago

loveoclock commented 6 years ago

Hello. I am testing Demo_CNNMAR.m

I think dataID stands for testing data sample. for example dataID =3 means dental, dataID =1 means head, and 0 for new training data.

I want to train new data and check whether CNN-MAR is efficient. Do I need to place projection data in to "data" folder? and change preData value to 0 which means generate training data.

code

Usually we place train data and label data, and validation data. But the your matlab workspace folder has "data" folder only.

And also when load testing data, metalBW(manually metal segmented 512x512 ) is needed. It is possible to use manually metal segmented image for training the network, but I think for evaluating, manually metal segmented image shouldn't be used as input of the network.

Can you explain how to train my own data and evaluate it? thank you

yanbozhang007 commented 6 years ago

Thank you for your interests in my work. The answers to your questions as given below:

Q: Do I need to place projection data in to "data" folder?

A: You need to place uncorrected, BHC, LI corrected images and reference images into "data" folder to generate new training data and train a new CNN. Projection data is used when you want to test it.

Q: Usually we place train data and label data, and validation data. But your matlab workspace folder has "data" folder only.

A: Because the size of data in my work is very large, I didn't provide full data. Here I give three sample data to illustrate the processes of training and testing.

Q: And also when load testing data, metalBW(manually metal segmented 512x512 ) is needed. It is possible to use manually metal segmented image for training the network, but I think for evaluating, manually metal segmented image shouldn't be used as input of the network.

A: Metal segmentation can be assumed as an independent step in metal artifact reduction algorithms, and many popular image segmentation methods can be used here. The uncorrected, BHC and LI images are the input of the network, but metal image is not used as the input.

Q: Can you explain how to train my own data and evaluate it?

A: If you want to train your own data, you need to build a metal artifact database that consists of metal-free (reference), metal-inserted(uncorrected), BHC, and LI images. Then, training data can be generated and used to train your network. You will obtain the curve of error during the training. After the training, you can test data and evaluate image quality with RMSE or SSIM. For more information, please refer to my publications. Thanks.

strive160 commented 4 years ago

how to build a metal artifact database Can you provide the code