我花了一些时间阅读文档,但仍然不明白:1.如何加载我自己的数据2.图像-标签如何映射3.是否存在标准数据格式
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
此处描述了其他参数。
另一种方法是使用自动路径搜索,如下所示:
[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 匹配。(例如,通过为图像设置“filename_contains = _T2,patient”和为标签设置“filename_contains = _label,patient”,可以轻松匹配patient001_T2.nii 和patient001_label.nii)。否则,您可以在 CSV 文件中明确指定匹配。
问题 3:NiftyNet 支持由 nibabel 处理的图像格式,或者如果您安装了 SimpleITK,则由 SimpleITK 处理。