-
Notifications
You must be signed in to change notification settings - Fork 93
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
##error Do not use this file, it is the result of a failed Cython compilation #1
Comments
Eh, It seems a problem with Cython. |
Thank you! it works. but I have new problem about lung data json file: In json file, image suffix name is .dat_**.bmp, how to generate the bmp file? and I want know how to generate the annotation json file about lung node? It seems the file # api_lidc be used to process raw lung data, but the three file get_dat.sh # get_list.sh # get_txt.sh can not generate .json file。could you give specific run steps? Thanks a lot |
1. about the bmp file. To apply transfer learning and pretrained CNN model, I need to transfer the singe channel CT image to three channel image(such as .bmp or .png etc.). There are some ways to do it. For example this paper https://arxiv.org/abs/1602.03409 offers a method to generate the three channel image. But I didn't use this one and I just used another simple method for convenience. 2. about the json file. You can first generate the .txt file such as https://raw.githubusercontent.com/zhwhong/lidc_nodule_detection/master/CNN_LSTM/lung_train.txt. Hope it helps! |
Thanks for your reply! It's so clearly :) |
But the file #api_lidc be used to do what? |
Eh, it's just used to analyze the original dicom files in LIDC dataset and help you to better understand it. |
(1)yes, each dir, such as LIDC_IDRI_0001, has N dcms and a xml annotation file. And each dcm file has its own SOP_ID,but the number in the name of the dcm file is not sorted by the z_position, which means that you should sort the CT image yourself( such as https://github.com/zhwhong/lidc_nodule_detection/blob/master/api_lidc/nodule2.py) by its z_position not the number in the filename. When you know the exact position of each CT image, then for each CT scan(such as LIDC_IDRI_0001_XXX.bmp), you can get the bounding box of the nodule by its SOP_ID. (2)I'm sorry that I don't explain this one clearly. If you see the original xml annotation file in LIDC dataset, you will find that the radiologist give four kinds of annotation: “nodule >=3 mm”, “nodule <3 mm","non-nodule >=3 mm”, "no annotation". At first, we wanted to do the classification(4 kinds) problem, but it didn't perform very well. So we change to 2 kinds, just have nodule or not. When we deal with the detection problem later, we just choose the "nodule >= 3mm" as positive sample, and others as negative. This project has done past several months and there are still many problems we didn't make ourselves understood either. Something I may not explain it clearly. Sorry for bring so many troubles. Just refer to it but no rely on it. Thank You! Hope it helps! |
So thanks, The project is good! I learn a lot from it. |
您似乎发表了相关论文,我能学习一下吗?论文到哪里可以下载到。。 @zhwhong |
@zhwhong 您好我现在遇到一些问题,我按照您的思路将单张dcom图片处理完依然得到512 * 512 的图片,不清楚为什么您说最后得到的RGB 图片是352 * 256 |
@taoshi006 您好,首先很高兴你参考这个project。几点情况说明一下: (2)原始图像是512*512是没错的,这个是DICOM的标准。这里大小352*256有一系列的变化,可能没有说清楚。简单来说,肺结节一定是出现在肺实质里面的,不会跑到外面,所以整幅图像肺实质外面的部分我们是不太关注的,这个352*256基本就是能够确保抠出所有图像的中间肺实质,这是在大量数据的分析之后统计出来的。至于为什么是这样一个值,还有一个地方就是,原始TensorBox项目输入图像是640*480,看这里,这个是原始配置,然后网络中最后出来的每个grd的region size是32,可以看官方配置里面region size就是32,这个是网络结构决定的,所以相当于将原始的640*480变成了20*15的grid。而转移到我们lung配置文件这里,352*256正好是32倍数,所以出来的grid是11*8,这样计算起来比较方便,所以最终选了这么一个253*256的大小。所以看到这里,你会发现其实这个大小可以自己调整的,并不是死的。 (3)还有一个问题,关于我这里的图片是rgb三通道的问题,是因为我想采用迁移学习的方式,使用CNN预训练模型参数,而你知道,Inception是三通道输入的,所以我将图像转换成了三通道,这完全是为了使用transfer learning,你完全可以不这样做,使用单通道的图片来进行训练,只要数据集充分,是可以学习出来的。如果你也想用迁移学习,那么关于灰度图转换为rgb,可以参考这篇Paper的一个方法,我这里采用的是一种偷懒的方式,这个在本issue上面的回答中有提到。 另外关于这个结节检测,现在可以参考的成熟项目非常多,比如:
最后,还是很高兴你参考这个项目,当然就像我说的,由于之前有些东西也不是太懂,所以很多地方可能不太完善,并且这个也搁置了很久没有更新了,如果因此给您带来了困扰或者什么麻烦,十分抱歉。希望我的解释能够帮到你,谢谢! |
@zhwhong 非常感谢您的回答 |
when I run cd utils && make
error:
stitch_wrapper.pyx:1:0: 'lidc_nodule_detection-master.CNN_LSTM.utils.stitch_wrapper' is not a valid module name
stitch_wrapper.cpp:1:2: error: Do not use this file, it is the result of a failed Cython compilation.
#error Do not use this file, it is the result of a failed Cython compilation.
I update Cython==0.26, how to solve it ?
The text was updated successfully, but these errors were encountered: