如何为SimpleITK教程manifest.json添加新NIFTI文件条目
SimpleITK教程manifest.json配置自定义NIFTI数据说明
manifest.json 结构逻辑
这个文件是SimpleITK教程用来做数据索引、完整性校验的清单文件,为标准JSON格式,整体是键值对结构:
- 顶层的键就是数据文件名,比如你截图里看到的
brain1.nii.gz这类NIFTI文件名 - 每个键对应的值是一个JSON对象,存储该文件的元信息,常见字段含义如下:
sha512:对应文件的SHA-512哈希值,是根据文件全量内容计算出的固定长度唯一字符串,程序加载数据前会重新计算本地文件的哈希值和该字段比对,避免文件损坏、错放、被篡改导致的运行错误,不存在内置固定值,每个文件的哈希值都需要单独计算size:对应文件的字节大小,同样用于校验- 其余可选字段(比如部分教程版本带的
description)为文件备注信息,不影响程序核心运行,按需填写即可

新增自定义NIFTI条目的操作步骤
- 前置准备:将你需要接入的脑部MRI NIFTI文件放入TUTORIAL路径下的
data文件夹,和教程自带的示例NIFTI文件放在同一目录 - 获取文件校验信息:打开终端/命令行,切换到
data文件夹路径,执行对应命令获取所需字段:- Windows(PowerShell环境):
- 计算SHA-512值:
Get-FileHash -Path 你的自定义文件名.nii.gz -Algorithm SHA512 | Select-Object -ExpandProperty Hash,输出的长字符串即为sha512字段值,注意统一转为小写 - 计算文件大小:
(Get-Item 你的自定义文件名.nii.gz).Length,输出的数字即为size字段值
- 计算SHA-512值:
- Mac/Linux(终端环境):
- 计算SHA-512值:
sha512sum 你的自定义文件名.nii.gz,输出结果中第一组长字符串即为sha512字段值 - 计算文件大小:
wc -c < 你的自定义文件名.nii.gz,输出的数字即为size字段值
- 计算SHA-512值:
- Windows(PowerShell环境):
- 编辑manifest.json:
- 打开文件后,在最后一个原有数据条目的末尾添加英文逗号
- 按照和原有条目完全一致的格式,新增你的自定义文件条目,示例如下:
"my_custom_brain_t1.nii.gz": { "sha512": "上一步计算得到的SHA-512字符串", "size": 上一步计算得到的文件大小数字, "description": "自定义脑部T1加权MRI数据" }- 严格遵守JSON语法规则:所有字符串使用英文双引号包裹,不要加多余的尾逗号,不要使用中文标点,避免解析失败。如果用VSCode等带JSON语法校验的编辑器编辑,编辑器会直接标红语法错误,按提示修正即可
- 验证:保存文件后直接运行配准程序,即可正常加载你自定义的NIFTI数据。如果运行时报哈希校验不匹配的错误,优先检查计算哈希时文件名是否输错、文件是否完整复制到了data目录。
临时测试小技巧:如果只是快速验证流程不想做校验,可以直接注释掉教程代码中读取manifest做哈希校验的逻辑,但不推荐长期使用,文件损坏时很难排查问题根源。
内容的提问来源于stack exchange,提问作者Lauren
相关产品推荐
相关产品推荐

