脑成像数据结构验证程序
bids-validator的Python项目详细描述
投标确认人
快速启动
- Web版本:
- 打开谷歌浏览器或 Mozilla Firefox(目前 支持的浏览器)
- 转到http://bids-standard.github.io/bids-validator/" rel="nofollow">http://bids standard.github.io/bids validator/并选择一个文件夹 与你的出价数据集。如果验证器的工作时间似乎超过 几分钟后,请打开开发人员工具 并在https://github.com/bids-standard/bids-validator/issues" rel="nofollow">https://github.com/bids-standard/bids-validator/issues上报告错误。
- 命令行版本:
- 安装node.js(至少8.0版)
- 从终端运行
npm install-g bids validator
- 运行
bids validator
开始验证数据集。
< Docker > - 安装Docker
- 从终端运行
docker run-ti--rm-v/path/to/data:/data:ro bids/validator/data
- python库:
- 安装python(适用于python2和python3)
- 安装python包管理器,如果 尚未安装。
- 从终端运行
pip install bids\u validator
获取 投标验证程序pypi包 - 打开python终端
python
- 从BIDS验证程序导入BIDS验证程序包
- 检查文件是否与bids兼容
bidsvalidator()。is_bids('path/to/a/bids/file')
支架
bids验证器设计用于浏览器和node.js中。我们 对node.js和 最新版本的Chrome。
还有一个用python编写的helper函数库,用于bids 用这种语言编写的兼容应用程序。
请报告使用这些支持目标时遇到的任何问题。如果 您在这些受支持的环境之外遇到问题,并相信我们 我们应该提供有针对性的支持,随时可以打开一个新的问题来描述 问题,你的支持目标以及为什么你需要扩展支持,我们将 逐个解决这些问题。
维护者和贡献者
此软件包由@rwblair维护。
我们的一些杰出贡献者包括:
< >使用< > >API
bids验证器有一个主方法,它将目录作为 目录(节点)的路径或通过选择带有 文件输入(浏览器)、选项对象和回调。
可用选项包括:
- ignorewarnings-(布尔-默认为false)
- ignoreniftiHeaders-(布尔-默认为false)
例如:
validate.bids(目录,{ignorewarnings:true},函数(问题,摘要){console.log(问题,错误,问题,警告);});
如果要测试单个文件,可以使用特定于文件的检查 我们揭露的。
- validate.bids()
- validate.json()
- validate.tsv()
- validate.nifti()
此外,您还可以使用validate.reformat()
.bidsignore
也可以在数据集的根目录中包含一个.bidsignore
文件。这个
文件列表模式(与.gitignore语法兼容)
定义验证程序应忽略的文件。这个选项很有用
当已验证的数据集包含BIDS尚不支持的文件类型时
规格。
*_not_bids.txt extra_data/
配置
可以通过传递json配置文件来配置错误的严重性
使用-c
或--config
标记到命令行界面,或通过定义
在javascript使用期间传递的options对象上的config对象。
基本配置格式概述如下。所有配置都是可选的。
{"ignore":[],"warn":[],"error":[],"ignoredFiles":[]}
请注意,在路径中添加两个星号会使验证器识别所有文件并
要忽略的子目录。 默认情况下,某些问题可能会被忽略,但可以提升为警告或错误。
它们提供了一种检查比投标更具体的常见事物的方法
兼容性。一个例子是检查是否存在t1w模态。这个
如果在数据集中未找到T1W图像,则以下操作将引发错误。 除了发布代码和键之外,这些列表还可以包含
和"and"或"or"属性设置为代码或键数组。这些允许一些
配置问题时的条件逻辑级别。例如: 在上面的例子中,只有当两个问题都是
在验证过程中触发。 在本例中,仅当
"或"数组在最低级别不受支持,因为它不会添加任何
功能。例如,不支持以下内容。 因为它的功能与此相同: 在命令行上使用bids验证器时传递配置,
请注意,必须至少指定两个给定类型的配置,
因为需要数组。例如,下面的代码将忽略空
文件错误(99)和无法读取的文件(44): 这种使用方式限制了您可能需要的配置,因此
复杂的情况下,我们建议用户创建一个专用的配置文件
内容如上所述。 bids验证器当前在浏览器中与browserify一起工作
或网页包。可以通过克隆将其添加到项目中
验证器并要求它具有browserify语法
bids验证器的工作原理与大多数npm包类似。您可以通过运行
如果您使用 有一个用python编写的有限的helper函数库。主要功能
确定文件扩展名是否符合BIDS规范。你可以找到
库中可用的函数及其说明,
这里。
要安装,请运行pip install bids验证器(需要python和pip)。 在当地发展e项目并从项目运行 关于OSX的一个注意事项,浏览器的依赖项需要一个名为
需要安装xcode才能编译的节点gyp。 要启动测试套件,请从项目根目录运行 要运行检查代码约定的linter,请运行ignoredfiles
获取列表要忽略的文件路径或全局模式。
假设我们想忽略/derivatives/
下的所有文件和子目录。
这与.bidsignore文件中使用的语法不同
{"ignoredFiles":["/derivatives/**"]}
忽略
、警告
和错误
获取问题代码或问题密钥的列表并更改
这些问题的严重性,因此它们要么被忽略,要么被报告为警告
或错误。您可以在以下位置找到所有可用问题的列表
实用程序/问题/列表{"error":["NO_T1W"]}
{"ignore":[{"and":["ECHO_TIME_GREATER_THAN","ECHO_TIME_NOT_DEFINED"]}]}
{"ignore":[{"and":["ECHO_TIME_GREATER_THAN","ECHO_TIME_NOT_DEFINED"{"or":["ECHO_TIME1-2_NOT_DEFINED","ECHO_TIME_MUST_DEFINE"]}]}]}
echo_time_大于
,echo_time_未定义
未定义回声时间1-2或
必须定义回声时间
验证。
{"ignore":[{"or":["ECHO_TIME_GREATER_THAN","ECHO_TIME_NOT_DEFINED"]}]}
{"ignore":["ECHO_TIME_GREATER_THAN","ECHO_TIME_NOT_DEFINED"]}
bids-validator --config.ignore=99 --config.ignore=44 path/to/bids/dir
在浏览器中
var validate=require('bids-validator');
或ES2015网页包导入
从"bids validator"导入validate
在服务器上
NPM安装投标验证程序
通过命令行
npm install-g bids validator全局安装bids验证器
您可以将其用作命令行工具。一旦安装,您应该
能够运行bids validator/path/to/your/bids/directory
并查看任何验证
记录到终端的问题。在没有目录路径的情况下运行bids验证器
请参阅可用选项。
python库
示例
*_not_bids.txt
extra_data/
0
开发
纱线
根。这将安装外部依赖项。如果您想安装
bids validator
全局(以便可以在其他文件夹中运行),使用
以下命令全局安装:cd bids validator&;npm install-g
在浏览器中本地运行
bids validator
位于repo子目录中
/bids验证程序web
。它是一个应用程序
使用next.js框架。bids validator
并查看它在浏览器中的行为,只需运行
yarn web dev
在项目根目录中并导航到localhost:3000
/bids validator
的更改也将反映在
网络应用程序。/bids validator web/tests
中开发。
我们总是可以使用更多的测试,所以请随时提供一个测试,以减少机会
任何你修理的虫子!yarn web export
测试
npm test
。NPM测试----监视
在进行更改时运行测试非常有用。一份覆盖率报告可用于
npm运行覆盖率
npm run lint
推荐PyPI第三方库