脑成像数据结构验证程序

bids-validator的Python项目详细描述


 src= src=

投标确认人

快速启动

  1. Web版本:
    1. 打开谷歌浏览器Mozilla Firefox(目前 支持的浏览器)
    2. 转到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上报告错误。
  2. 命令行版本:
    1. 安装node.js(至少8.0版)
    2. 从终端运行npm install-g bids validator
    3. 运行bids validator开始验证数据集。
  3. < Docker >
    1. 安装Docker
    2. 从终端运行docker run-ti--rm-v/path/to/data:/data:ro bids/validator/data
  4. python库:
    1. 安装python(适用于python2和python3)
    2. 安装python包管理器,如果 尚未安装。
    3. 从终端运行pip install bids\u validator获取 投标验证程序pypi包
    4. 打开python终端python
    5. 从BIDS验证程序导入BIDS验证程序包
    6. 检查文件是否与bids兼容bidsvalidator()。is_bids('path/to/a/bids/file')

支架

bids验证器设计用于浏览器和node.js中。我们 对node.js和 最新版本的Chrome。

还有一个用python编写的helper函数库,用于bids 用这种语言编写的兼容应用程序。

请报告使用这些支持目标时遇到的任何问题。如果 您在这些受支持的环境之外遇到问题,并相信我们 我们应该提供有针对性的支持,随时可以打开一个新的问题来描述 问题,你的支持目标以及为什么你需要扩展支持,我们将 逐个解决这些问题。

维护者和贡献者

此软件包由@rwblair维护。

我们的一些杰出贡献者包括:

 src= src= src= src= src= src= src= src=

< >使用< > >

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":[]}

ignoredfiles获取列表要忽略的文件路径或全局模式。 假设我们想忽略/derivatives/下的所有文件和子目录。 这与.bidsignore文件中使用的语法不同

{"ignoredFiles":["/derivatives/**"]}

请注意,在路径中添加两个星号会使验证器识别所有文件并 要忽略的子目录。

忽略警告错误获取问题代码或问题密钥的列表并更改 这些问题的严重性,因此它们要么被忽略,要么被报告为警告 或错误。您可以在以下位置找到所有可用问题的列表 实用程序/问题/列表

默认情况下,某些问题可能会被忽略,但可以提升为警告或错误。 它们提供了一种检查比投标更具体的常见事物的方法 兼容性。一个例子是检查是否存在t1w模态。这个 如果在数据集中未找到T1W图像,则以下操作将引发错误。

{"error":["NO_T1W"]}

除了发布代码和键之外,这些列表还可以包含 和"and"或"or"属性设置为代码或键数组。这些允许一些 配置问题时的条件逻辑级别。例如:

{"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验证器时传递配置, 请注意,必须至少指定两个给定类型的配置, 因为需要数组。例如,下面的代码将忽略空 文件错误(99)和无法读取的文件(44):

bids-validator --config.ignore=99 --config.ignore=44 path/to/bids/dir

这种使用方式限制了您可能需要的配置,因此 复杂的情况下,我们建议用户创建一个专用的配置文件 内容如上所述。

在浏览器中

bids验证器当前在浏览器中与browserify一起工作 或网页包。可以通过克隆将其添加到项目中 验证器并要求它具有browserify语法 var validate=require('bids-validator');或ES2015网页包导入 从"bids validator"导入validate

在服务器上

bids验证器的工作原理与大多数npm包类似。您可以通过运行 NPM安装投标验证程序

通过命令行

如果您使用npm install-g bids validator全局安装bids验证器 您可以将其用作命令行工具。一旦安装,您应该 能够运行bids validator/path/to/your/bids/directory并查看任何验证 记录到终端的问题。在没有目录路径的情况下运行bids验证器 请参阅可用选项。

python库

有一个用python编写的有限的helper函数库。主要功能 确定文件扩展名是否符合BIDS规范。你可以找到 库中可用的函数及其说明, 这里。 要安装,请运行pip install bids验证器(需要python和pip)。

示例

*_not_bids.txt
extra_data/
0

开发

在当地发展e项目并从项目运行纱线 根。这将安装外部依赖项。如果您想安装 bids validator全局(以便可以在其他文件夹中运行),使用 以下命令全局安装:cd bids validator&;npm install-g

在浏览器中本地运行

关于OSX的一个注意事项,浏览器的依赖项需要一个名为 需要安装xcode才能编译的节点gyp。

  1. 浏览器版本的bids validator位于repo子目录中 /bids验证程序web。它是一个应用程序 使用next.js框架。
  2. 要开发bids validator并查看它在浏览器中的行为,只需运行 yarn web dev在项目根目录中并导航到localhost:3000
  3. 在开发模式下,对代码库的更改将触发应用程序的重建 自动。
  4. 代码库中对/bids validator的更改也将反映在 网络应用程序。
  5. 测试使用jest测试库,应该在/bids validator web/tests中开发。 我们总是可以使用更多的测试,所以请随时提供一个测试,以减少机会 任何你修理的虫子!
  6. 要确保Web应用程序在生产中成功编译,请运行yarn web export

测试

要启动测试套件,请从项目根目录运行npm testNPM测试----监视 在进行更改时运行测试非常有用。一份覆盖率报告可用于 npm运行覆盖率

要运行检查代码约定的linter,请运行npm run lint

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Intellij新项目JDK不可用   JAVA静态块执行了多少次?   java通过JCheckBox更改文本字段输入的字体颜色   java在星期几文本字段中输入值   java RichFaces 4.2日历。如何通过JavaScript设置日历的输入字段?   java在javafx中注册鼠标处理程序,但处理程序不是内联的   java将jchararray分配给常量unsigned char   在安卓4.4中注意到java奇怪的圆形浮动动作按钮吗?   java中用于解决8个难题的合适的树类是什么   为什么Java在我的Linux服务器上使用了如此多的内存?   java从多个推荐列表中提取顶级推荐   “426写入网络流失败。”尝试使用Java的URL类连接到FTP站点时收到   java如何在没有Gradle的情况下使用IntelliJ打开项目?   java如何在线程完成后使For循环继续?   java使用定制jackson ObjectMapper定制Spring引导序列化过程   java NativeActivity不会显示在屏幕上   如何使用Java中的EditorConfig在IntelliJ IDEA中关闭rightparen自己的行?   java从字符串中删除字母数字单词   Intellij IDEA 13.1中的maven Java编译错误