1

我刚刚开始使用 NiftyNet 进行医学图像分割。为了使用该软件,我尝试运行从 Brats Challenge 数据集 ( http://www.braintumorsegmentation.org/ ) 中分割图像的演示。

我已经下载了 Brats,数据,rename_crop_brats在上面使用,并设置了我的 $PYTHONPATH。但是,当我运行命令时:

python net_run.py train -c train_whole_tumor_sagittal.ini --app brats_segmentation.BRATSApp --name anisotropic_nets.wt_net.WTNet

我收到以下错误消息:

tensorflow.python.framework.errors_impl.InvalidArgumentError: Provided indices are out-of-bounds w.r.t. dense side with broadcasted shape

我不太确定我在这里搞砸了什么,欢迎任何建议。

4

1 回答 1

3

此错误意味着您的训练图像中的离散标签比您的网络可以输出的要多。在这里,似乎有超过 2 个标签,而这个网络被设置为进行二进制分类。

您能否检查 .ini 文件中的“histogram_ref_file”指向哪个文件?它应该指向 [niftynet]/demos/BRATS17 目录中提供的那个,它会二进制化肿瘤掩码。该文件应具有以下文本:

labellabelfrom 0 1 2 4
labellabelto 0 1 1 1

它将所有肿瘤标签分配给 1,将所有背景标签分配给 0。如果您没有给出此文件的路径,网络将自动生成它,为训练图像提供 4 个离散类。

这能解决问题吗?

于 2017-10-19T13:47:22.753 回答