快速便携的NIfTI-1/2阅读器和nifti -JNIfTI转换器
--------------------------------------------------------------------------------
版本:0.5(主权)
URL:http://github.com/fangq/jnifti
[更新10/11/2019]JNIfTI现在可以在Fedora/NeuroFedora上使用,安装使用
Sudo DNF安装octave-jnifti
= = = =概述
这是一个功能齐全的NIfTI-1/2阅读器/写入器,支持MATLAB和GNU Octave,并能够读取/写入非压金宝app缩和压缩NIfTI文件(。nii, .nii.gz)以及由两部分组成的Analyze7.5/NIfTI文件(.hdr/。img和.hdr.gz / .img.gz)。
更重要的是,这是一个将NIfTI数据转换为其基于json的替代品JNIfTI(。jnii是基于文本的,.bnii是基于二进制的),由JNIfTI规范定义(http://github.com/fangq/jnifti).与严格和不透明的NIfTI格式相比,JNIfTI是一种更加灵活、人类可读和可扩展的文件格式,使数据更容易操作和共享。
= = = =安装
JNIfTI工具箱包括一个独立的NIfTI-1/2解析器,可以在MATLAB和GNU Octave上工作,不需要额外的组件。只读取和写入未压缩的NIfTI和Analyze7.5文件(。Nii, .hdr/.img),一个只需要运行addpath('/path/to/jnifti')。对于MATLAB, JNIfTI工具箱利用memmapfile为基础的磁盘读取,使其非常快。对于Octave, memmapfile目前没有实现,因此需要完全读取。
JNIfTI工具箱还能够读写gzip压缩的NIfTI和Analyze7.5文件(.nii.gz, .hdr.gz, .img.gz)。该特性在MATLAB中直接得到支金宝app持,而不需要另一个工具箱(MATLAB必须处于启用jvm的模式)。
要用-nojvm处理gzip压缩的NIfTI/分析Octave和MATLAB中的文件,需要安装开源的JSONLab和ZMat工具箱,两者都支持MATLAB和Octave。金宝app可在以下网址下载
JSONLab:http://github.com/fangq/jsonlab
ZMat:http://github.com/fangq/zmat
要将NIfTI-1/2数据保存为JNIfTI文件,需要安装JSONLab。JNIfTI数据格式支持内部压缩(相对于外部压金宝app缩,如*.gz文件)。要在Octave中创建或读取压缩的JNIfTI文件,必须安装ZMat工具箱,如上所述。
= = = =使用
=== nii2jnii -将NIfTI-1/2文件转换为JNIfTI文件或数据结构===
例子:
savenifti(兰德(10、10、10),“test.nii”);
nii = nii2jnii(测试。nii, nii);%将.nii文件读取为nii结构
gzip(“test.nii”);
nii = nii2jnii(“test.nii.gz”);%将.nii.gz文件读取为jnii结构
nii2jnii('test.nii.gz', 'newdata.jnii');%读取.nii.gz文件并转换为文本- jnifti文件
nii2jnii(“test.nii.gz”、“newdata.bnii”、“压缩”,“zlib”);%读取一个.nii.gz文件,并转换为一个压缩的二进制jnifti文件
=== loadnifti—读取NIfTI-1/2(。Nii或.nii.gz)文件(别名nii2jnii) ===
#的例子:
nii = loadnifti(“test.nii.gz”);%将.nii.gz文件读取为jnii结构
nii = loadnifti(测试。nii, nii);%将.nii文件读取为nii结构
=== savenifti -将图像写入NIfTI-1/2(。Nii或.nii.gz)文件===
例子:
savenifti (img test.nii.gz);将数组img保存到压缩的nifti文件中
savenifti (img的测试。nii”、“nifti2”);%保存数组img到nifti-2文件文件
savenifti (img的测试。nii’,头);%保存带有现有头文件的数组img
=== loadjnifti—读取JNIfTI(。Jnii或.bnii)文件===
#的例子:
jnii = nii2jnii(“test.nii.gz”);
savejnifti (jnii“magic10.bnii”、“压缩”,gzip);
newjnii = loadjnifti(“magic10.bnii”);
=== savejnifti -将JNIfTI结构写入文件(。Jnii or .bnii) ===
#的例子:
jnii = jnifticreate (uint8(魔法(10)),“名字”,“10 x10魔法阵”);
savejnifti (jnii magic10.jnii);
savejnifti (jnii“magic10_debug.bnii”、“压缩”,gzip);
引用作为
千千方(2022)。JNIfTIGitHub (https://github.com/fangq/jnifti)。检索.