junqiangchen/LUNA16-Lung-Nodule-Analysis-2016-Challenge

更新后data3dprepare.py异常

Closed this issue · 10 comments

师兄您好,这几天我运行了一下您的程序,发现您更新了data3dprepare.py,但运行到
hr_samples[0, 0:blockz, 0:block_width, 0:block_height] = image[0:rangz, 0:rangwidth, 0:rangheight]
的时候报错,
TypeError: slice indices must be integers or None or have an index method
然后我发现rangz rangwidth rangheight 在前几行的计算过程得出的貌似不是整数型,
rangz = lambda imagez, blockz: imagez if imagez < blockz else blockz
rangwidth = lambda width, block_width: width if width < block_width else block_width
rangheight = lambda height, block_height: height if width < block_height else block_height
您看这里是不是需要int强制转换一下???

rangz = lambda imagez,blockz: imagez if imagez < blockz else blockz
rangz = rangz(imagez,blockz)
貌似这样改就能得出数了~师兄对么?

是的,这样是可以的

打扰师兄了,但是这样也会出现新问题,在imagez < blockz的时候,rangz=imagez ,有个病例是imagez =14,这样的话在运行
hr_samples[0, 0:blockz, 0:block_width, 0:block_height] = image[0:rangz, 0:rangwidth, 0:rangheight]
时就会报错,报错内容:无法将(14,96,96)转换为(16,96,96),师兄是不是缺少这样情况的处理呀?您之前版本的data3dprepare.py在这方面貌似是做了判断的打扰您了谢谢~

您好,师兄,麻烦问您一下,vnet3d_predict.py测试程序的输入图像数据是data3dprepare.py处理后的数据嘛?如果是这样的话,那就相当于是:在已知结节质心位置进行分割了呀?但是测试新病例我们是不知道结节位置在哪里的呀~是不是我理解上有偏差?

imagez一般不会小于blockz的大小,如果碰到这种情况,可以补零处理

是的,首先要先确定结节的大致位置才可以进行分割的

是的,首先要先确定结节的大致位置才可以进行分割的

好的,收到多谢师兄

师兄你好,请问如果想测试自己的数据看看效果怎么样,但是却不知道结节的大致位置。这个有什么方法吗?

师兄你好,请问如果想测试自己的数据看看效果怎么样,但是却不知道结节的大致位置。这个有什么方法吗?

你好,可以拿luna16训练好的模型来检测你自己得数据,然后根据检测得区域得到区域中心坐标,再将坐标绘制出来。不过可能会出现很多假阳性结果。