Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

请求帮助!! #3

Open
cppxu opened this issue Mar 29, 2018 · 5 comments
Open

请求帮助!! #3

cppxu opened this issue Mar 29, 2018 · 5 comments

Comments

@cppxu
Copy link

cppxu commented Mar 29, 2018

您好:看到您的项目,很感兴趣。但是由于缺少专业知识,不太懂得怎么将CT图像转换成BMP格式的。
您可否将转换成BMP文件的代码分享下;
问题2转换之后与lung_train.json中的格式怎么对应的(即:如这个的命名原则:lung_data/LIDC-IDRI-1003.dat_21_.bmp,为什么这样命名呢?)
十分感谢!

@zhwhong
Copy link
Owner

zhwhong commented Apr 3, 2018

@cppxu 您好,这个项目是之前实习做的练手项目,后来搬走了,你现在看到的这个内容就是所有的可以参考代码,其他的我现在自己也没有了。关于LIDC数据的一些操作可以参考这里的一些代码,对图片切割什么的可以看这里等。
关于你的问题,CT图像转换为BMP,我这里是用的python,所以首先使用pydicom包读取出DICOM文件中的pixel信息,然后使用python的一些图像处理库保存图像,这个很多比如scipy.misc,PIL的Image,skimage.io等,比如下面一个简单的例子:

import dicom
import scipy
f_dcm = dicom.read_file('000001.dcm')
scipy.misc.imsave(dstpath, f_dcm.pixel_array)

关于那个命名,LIDC-IDRI-1003是病例号,表示某个病人的数据,dat_21_是该组数据中的第21张切片,一般一组数据会有很多张切片,比如一两百张,因为你在做CT时是横断面扫描,从肺部上面以一定的z轴间隔一直扫描到肺部下面出来一组片子。

@cppxu
Copy link
Author

cppxu commented Apr 3, 2018

谢谢您,那请问一下lung_data/LIDC-IDRI-1003.dat_21_.bmp这个的第21张图片,应该不是原图的第21张图片吧?那这个是用哪些图合成的这1张图片呢?能否再稍微给点思路!
非常感谢!

@zhwhong
Copy link
Owner

zhwhong commented Apr 3, 2018

@cppxu 这个不能根据文件名来判断切片顺序,需要读取每一张dcm的空间位置信息(Z坐标或者有一个关键字instance number可以排序)然后排序得到一组数据。关于获取z轴信息排序可以参考 write_bin_file.pynodule2.py 。关于dcm各个标签的含义可以看我以前的一个总结 LIDC-IDRI肺结节公开数据集Dicom和XML标注详解 和csdn一篇博文的详细介绍 DICOM的常用Tag分类和说明

@wkflyerman
Copy link

看到你的项目,我非常感兴趣。作者能否能详细实现一次过程的说明。非常感谢。比如如何用自己的数据集进行试验。等等。图像的预处理,分割,分类。。。。。谢谢。希望得到你的帮助。

@Shine0917
Copy link

我也想做一下这个实验,能否说下详细过程,万分感谢!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants