NiftyNet:如何加载自己的数据?

时间:2018-02-15 08:10:41

标签: niftynet

我花了一些时间阅读文档,但仍然不明白: 1.如何加载我自己的数据 2.如何映射图像标签 3.是否存在标准数据格式

1 个答案:

答案 0 :(得分:1)

问题1: 目前有几种方法可以通过修改配置文件来加载您自己的数据。您可以使用如下所示的配置部分在CSV文件中指定图像:

[labels]
csv_file=labels.csv
spatial_window_size = (20, 42, 42)
interp_order = 0
pixdim=(1.0, 1.0, 1.0)
axcodes=(A, R, S)

csv_file参数将使NiftyNet使用labels.csv中列出的图像,其格式应为:

subject_id1,path_to_label_image_1
subject_id2,path_to_label_image_2
...
subject_idn,path_to_label_image_n

其他参数描述为here

另一种方法是使用自动路径搜索,如下所示:

[modality1]
path_to_search = ./example_volumes/monomodal_parcellation
filename_contains = _T2,patient
filename_not_contains = _T2W
spatial_window_size = (20, 42, 42)
interp_order = 3
pixdim=(1.0, 1.0, 1.0)
axcodes=(A, R, S)

这表示在./example_volumes/monomodal_parcellation文件夹中查找文件名中包含“_T2”和“img”的所有文件(不包括文件名中包含“_T2W”的文件)。这些图像的subject_id将是文件名,其中“img”和“_T2”已删除。

问题2: 通过具有相同的subject_id来匹配图像和标签。如果您有一个简单的文件命名方案,您通常可以使用自动搜索来自动使文件和subject_ids匹配。 (例如,患者001_T2.nii和patient001_label.nii将通过对图像具有'filename_contains = _T2,患者'并且对于标签具有'filename_contains = _label,患者'而容易匹配。否则,您可以在CSV文件中明确指定匹配。

问题3: NiftyNet支持由nibabel处理的图像格式,或者如果您已通过SimpleITK安装了SimpleITK。