图像缩略图

工具NIfTI和ANALYZE图像

版本1.27.0.0(426 KB)通过 吉米沉
载入,存储,化妆,重新分区,查看(和编辑)都NIfTI和分析数据,在任何平台上
4.6条
97级

455个下载

更新2014年1月22日

查看许可证

编者按:流行文件2018年

请务必检查NIfTI_工具.pdf详细说明和最新更新。

如果你是一个ANALYZE图像的左/右困惑,请阅读UseANALYZE.pdf。

您可能还需要经历FAQ.pdf实际的解决方案和实际例子。万博 尤文图斯

基本程序:

1. load_untouch_header_only.m:加载仅NIfTI的标题部分或ANALYZE文件。输入文件将被自动检测。NIfTI结构将被退回NIfTI文件,分析结构将返回ANALYZE文件。

2。加载nii.m:加载N维NIfTI文件(其中N可以是3到7)或分析文件(其中N可以是3到4),并将头信息(例如仿射几何变换、体素强度缩放等)应用于数据。如果文件具有多个三维(例如时间序列等),也可以指定仅提取一个或多个卷的范围。

3. save_nii.m:由“load_nii.m”加载或由“make_nii.m”制作成NIfTI文件保存N维NIfTI结构(其中N可以是从3至7)。

4. make_nii.m:基于所述N维矩阵和其它可选参数(例如voxel_size,产地等)使N维NIfTI结构(其中N可以是从3至7)。使用“save_nii”命令,由“make_nii”作出NIfTI结构可以保存到一个文件NIfTI。

5. make_ana.m:使三维ANALYZE基于3D矩阵和其它可选参数结构(例如voxel_size,产地等)。使用“save_untouch_nii”命令,分析这些被“make_ana”制结构可以被保存到一个以兼容ANALYZE文件与一些只分析程序。

6. reslice_nii.m:重新样品3D(或4D)NIfTI文件或分析与.MAT文件仿射矩阵M文件,并保存该重新采样的数据转换成一个新的NIfTI文件。该方案将基于仿射矩阵,其是用于与非正交旋转或剪切,不能用“load_nii.m”被加载倾斜图像特别有用。您还可以指定voxel_size等也不会造成负面影响,只要你记住不要使用“reslice_nii.m”后做了切片时间校正。

7号。pad_nii.m:从六个面中的任何一个面填充NIfTI结构中的体积,同时保持原始体素、体素大小、数据类型和描述不变。在使用reslice_nii之后,该程序特别有用,因为新卷很可能具有不同的维度。

8. clip_nii.m:剪辑在从任何六个侧面的NIfTI结构的体积(S),同时保持发端,体素尺寸,数据类型和描述不变。该方案是使用后reslice_nii,因为新卷将最有可能有不同的尺寸特别有用。

9号。view_nii.m:查看和编辑由“load_nii.m”加载或由“make_nii.m”生成的三维(或4D)nift或分析结构。激活图、感兴趣区域等可以叠加在背景图像上(见上图)。打印视图可以嵌入到现有的图形窗口中。如果将其用作单个程序,它还可以编辑图像的方向和体素值、查看体积直方图和保存修改后的图像。

10个。load_untouch_nii.m:加载N维NIfTI文件(其中N可以从3到7)或分析文件(其中N可以从3到4),但不应用头中指示的任何更改。警告:不要使用“view_nii.m”查看由“load_untouch_nii.m”加载的结构。

11. save_untouch_nii.m:保存N维NIfTI结构(其中N可以是从3至7)或ANALYZE结构(其中N可以是从3至4),其由“load_untouch_nii.m”加载或由“make_ana制成。M”到一个新的NIfTI或ANALYZE文件。如果不修改加载的数据集,在新的保存文件的文件头和数据应该是相同的原始文件。

其他项目:

一。collapse_nii_scan.m:将多个单扫描NIfTI或分析文件集成到多扫描NIfTI文件中。

2. expand_nii_scan.m:打破多扫描NIfTI文件分成多个单扫描NIfTI文件。

三。save_untouch_slice.m:将加载的部分切片保存回原始图像。你可以用任何方式处理这些切片矩阵,只要它们的维数没有改变。

4. get_nii_frame.m:返回一个NIfTI文件的时间帧数。

5个。flip_L R.m:沿起始点的平面左右翻转NIfTI或分析文件,并将L-R翻转的数据保存到NIfTI文件中。警告:请小心使用此程序,尽管您可以随时将其翻转回来。

6。load_nii_ext.m:从NIfTI文件加载头扩展名。

7号。mat_into_hdr.m:将旧SPM.mat文件中的仿射矩阵集成到其.hdr头文件中。因此,分析文件被转换为NIfTI文件,其中包含更新的.hdr头文件。

引用为

吉米·沉(2020)。工具NIfTI和ANALYZE图像(//www.tianjin-qmedu.com/matlabcentral/fileexchange/8797-tools-for-nifti-and-analyze-image),MATLAB中央文件交换。检索.

评论和评分(222)

嗨,我有一个大数据集(大约100GB),我想用nii格式保存。我没有足够的内存,无法打开完整的数据集。有没有办法将完整的数据集保存在一个nii文件中?

喂,是能够保存的图像中nifti格式(从分析转换)而不修改nifti图像的头部?
我有一些程序不允许我打开它,因为头被修改了,特别是帧持续时间。(我一直在使用save_nii函数)。我的电子邮件是。vigil@alumnos.upm.es.守夜。
谢谢。

darova

梅胡尔贾因

嗨,
我得到了22边带作为输出。如何连线该CSV文件???

我遇到的问题是,在默认情况下load_nii允许从正交变换,其结果是相当多的10%的偏差。

将mm坐标与Freeview坐标进行比较,发现转换过程中存在一定的问题,导致mm坐标错误!

扎基尔Aralbaev

我下载了NIFTI zip.files保存他们å文件,然后添加到在Matlab中设置路径。现在我该怎样打开工具箱?如何才能在MATLAB命令窗口中键入?

倩倩方

如果有人看到需要阅读NIfTI-2文件,或阅读。广州国际机场/.广州高铁/.广州国际机场在MATLAB下的-nojvm模式下的文件,或者在GNUoctave下读取这些文件,请尝试我的新工具箱“JNIfTI”

//www.tianjin-qmedu.com/matlabcentral/fileexchange/72756-jnifti-fast-portable-nifti-1-2-reader-nii-jnifti-converter

它使用MATLAB中的memmapfile进行快速磁盘读取。它还支持从严格的NIfTI-1/2二进制格式转换为更灵活的基万博1manbetx于文本/二进制JSON的新JNIfTI格式(在JNIfTI规范中定义)https://github.com/fangq/jnifti/,使数据文件更小,加载/保存更快,可读性和可扩展性更好。

该JNIfTI工具箱可以使用基于Java的gzip压缩,同在该工具箱,但也可以使用ZMat工具箱(//www.tianjin-qmedu.com/matlabcentral/fileexchange/71434-zmat)用于快速压缩/解压缩。

banikr

当我使用niftiwrite的时候,我也面对着轴的改变…从前到后,从右到左。。。
这些文件解决了这个问题吗?

您好,我遇到一个问题。当我加载NII,这样做就像自爆:
信息= load_nii(STR);
图像=信息img;
info.img =图像;
保存(信息,保存路径);
我发现nii改变了相反,如何为了解决这个问题,save nii和load nii是一样的。

Brian2005

汤姆·柯克

不幸的是,我发现这是一个非常小车。一个简单的例子是加载一个图像,然后使用加载和保存功能保存其副本。在我的机器上,这会导致拷贝的vox2ras矩阵略有不同(这绝对不是舍入误差)。因此,这个工具箱在过去的几个月里给了我很多麻烦,当你甚至不能确定像这样的实用函数在做他们的工作时,对你的代码进行故障诊断是非常困难的。我的意思是,这种批评只不过是建设性的,是对其他人的警告,但我还是感谢作者的努力。

nermeen阿卜杜

我下载了NIFTI zip.files保存他们å文件,然后添加到在Matlab中设置路径。现在我该怎样打开工具箱?如何才能在MATLAB命令窗口中键入?

大家好,

我下载了NIFTI zip.files保存他们å文件,然后添加到在Matlab中设置路径。现在我该怎样打开工具箱?如何才能在MATLAB命令窗口中键入?

巴洛迪亚

刘孟浩然

D.李

MATLAB 2017b拥有niftiread(”“)功能,和它的作品真的很好。前几天我也从装载NII文件的痛苦,只是想分享这个“新闻”,并希望,这可能帮助一些你:)

张浩

nssk苏拉杰

您好
使用load_nii加载图像后(tst.nii)
如何从nii 1*1结构访问img矩阵?

S公司

你好。
我创建了使用该工具的图像。然而,当我试着去阅读它们,使用C函数,它提供了错误。当然,与其他分析图像,我的功能工作正常。
有人遇到过这个问题吗?

乌米特窑

您好,感谢共享。有用。我脑MRI和需要办理的他们一些图像处理工作。我怎样才能将它们转换为apprepriate文件执行一些图像处理/采矿作业。

Helmar Waiczies

爪哇ID Iqbal

希特什特克钱达尼
亲爱的,你读过.nii images和convert inro.jpg吗?
如果你有解决办法,请和我分享。
谢谢
javaid.ciit@gmail.com网站

嗨,转换后。nii到jpeg(使用加载nii和imwrite)jpeg图像的坐标不匹配。我认为需要一些翻转和旋转指令,但顺序我不知道。请帮忙。

嗨,转换后。nii到jpeg(使用加载nii和imwrite)jpeg图像的坐标不匹配。我认为需要一些翻转和旋转指令,但顺序我不知道。请帮忙。

嗨吉米,
我使用你的工具箱来修改.nii图像与一组(N = 95)口罩/ ROI。我需要一个特定的名称来改变每个单一面具的名称。我该怎么做?

谢谢
西尔维亚

斯特拉Guldner

嗨吉米,

我试图用你的工具箱我的图片的数据类型改变从INT16到FLOAT32。我在前面的评论看出,这是可能的,但我有一些麻烦的转换。这是我迄今所做的:

数据类型=16;%将数据类型更改为float32
nii2=制作(myoldnii_文件.nii,[],[],数据类型);
save_nii(nii2, 'mynewnii_file.nii');

该错误消息我得到的是:数据类型不make_nii支持。万博1manbetx

有没有可能用这种方式转换nii文件,或者我在这里做错了什么?

预先感谢您的任何帮助。
最好的祝愿!

法扎娜·帕文

运行时所有文件都显示错误!如何读取.nii图像??

董金圭

嗨吉米,

谢谢你的工具箱。这真的很有帮助,我想引用你的工作。我如何引用你的作品?

谢谢,
埃兰卡维

熊猫大

你好〜
我'未能获得overlay.ziphttp://www.rotman-baycrest.on.ca/~吉米/NIFTI/overlay.zip
能否请您提供一个新的ADRESS得到EEG.nii和Ti.nii
谢谢您!

安吉丽娜B.

你好〜
我有3D和4D脑部核磁共振nii文件。当我想加载文件并查看它们时会遇到一些麻烦。
我的方法是:NII = load_nii( 'VSD.Brain.XX.O.MR_4DPWI.124517.nii');
使用xform_nii>change_hdr时出错

接下来,我尝试使用reslice_nii.m,但问题是:
我输入:reslice_nii( 'VSD.Brain.XX.O.MR_4DPWI.124517.nii', 'VSD.Brain.XX.O.MR_4DPWI.124517b.nii');
错误:索引超过矩阵维度。

我该如何解决这些问题?

谢谢您!

海博

夏天

你好,
我每人有200个.hdr/.img文件对,它们使用SPM进行预处理。

如何在Matlab中从功能磁共振时间序列中提取体素时间过程?

云辉周

@王建聪这是在常见问题解答.pdf带着工具箱来的。对于某些NIfTI文件,只需加载和保存即可翻转,而无需进一步更改。但是,这种翻转不会在新的NIfTI文件中发生。

但是我认为在没有通知用户的情况下改变方向不是一个好习惯。

大家好,
我发现了两个漂亮的文件图像的变形位移图的直方图。我想知道x轴的单元和如何可以找出其中为x,y和z轴系方向和如何计算出正的和负侧?

卡尔Spuhler

@Shereen,你的意思是你需要知道如何门槛你的作品?

这是非常简单的。只是,对于图像称为NII和给定的阈值th:

nii=nii>th

你会得到一个图像,1的原始值大于阈值,0的原始值小于或等于阈值。

人Shereen Ekhlas

请帮助
我想知道如何将.nii图像转换为二进制图像
谢谢

李家张

作为Jiancong王和Stefano Orsolini状态,方向性是从放射系统撞飞到神经系统,恕不另行通知。此外,还有无处可指定数据的方向。

不过,所有其他功能都在发挥作用,只要记住要改变方向。

如王建聪评论(2016年8月22日)所述,定向处理存在一个非常严重的问题。

放射学参考图像会变成神经学参考图像。

imu931

卡尔Spuhler

王建聪

这个工具很烂。这甚至不是自始至终的。
你做
[NII] = load_nii( 'some_nii')
写_nii(nii,“new_nii”)

新保存的版本与旧版本有不同的轴方向!这是一个愚蠢的错误,没有可用的图像处理工具箱应该做。

贾斯汀Blaber

你好,

你知道的正确方法我可以使用“rot_orient”和“flip_orient”重新调整bvectors信息到RAS的dwmri。例如,我装我的DWI与load_nii()以下后,分别是:

>>
rot_orient:[1 2 3]
翻转方向:[3 0 0]

如何使用这些字段来改变翻转/置换bvectors(FSL中的格式)也将其转换为RAS?

谢谢!

马拉吉古菌

嗨,
请大家帮忙,同时采用rri_orient得到错误:
nii=rri_orient('a_0424_MR1_mpr-1_日本国立大学'新');
尝试去引用非结构数组字段。

误差在rri_orient(线26)
尺寸=双(nii.hdr.二聚体.dim([2:4]);


我不知道如何来运行这个工具

感谢这个最有用的代码!

阿里Aghaeifar

谢谢你的好工具。
运行view_nii在Ubuntu不显示菜单(缩放,口译,...)。我尝试三种不同的PC与Ubuntu上运行它。他们没有表现出菜单。
你有什么解决办法吗?
非常感谢。

以利亚摇椅

同样的问题,因为辛迪。我试图打开的文件都PMOD和Freeview频道,但产地/方向,或一些参数确定空间位置似乎变了,但我并没有改变标题。

我想修改图像值不改变对空间方位,那将是非常美妙的事情。

我该怎么做?

艾莉婕

乔·盖伊

谢谢你提供这些工具。事实证明它们非常有用。但是,最近我发现加载模块已经停止工作。我重新加载了工具集,但仍然有相同的问题。

当I型load_nii( '路径/到/文件')
我收到的错误是:
未定义功能“位集”类型“字符”的输入参数。

xform_nii>change_hdr中的错误(第465行)
hdr.dime.xyzt_单位=字符(位集(hdr.dime.xyzt_单位,2,1));

误差在xform_nii(线154)
[HDR,东方] = change_hdr(HDR,公差,preferredForm);

误差在load_nii(线185)
NII = xform_nii(NII,公差,preferredForm);

任何调试想法?

辛迪

嗨...
感谢您对这个工具包..其实我有很大帮助!
我只是觉得一个小问题,所以当我载入我的NII图像给该工具箱,并做一些编辑,然后保存。
我发现图像已经被稍微翻译过了(当我在ITK Snap中打开它时)。
我不确定是否有人有同样的问题,有人知道我该如何解决?或者有什么建议我怎样才能找回正确的方向?谢谢您。

我认为“容忍”选项的可靠性可以提高的一个小问题。当检查xform.m中的仿射矩阵时,首先从矩阵中移除分辨率缩放将很有帮助,就好像你有高度各向异性的体素(在MRI中很常见,比如0.7x0.7x5.0),这使得很难进行合理的“公差”计算来确定矩阵的方向。在这个例子中,第三列中的所有元素都是*5,所以即使是几乎直的矩阵,第3列中的第二个元素(n*5)也将大于第1列和第2列中的第一个元素(n*0.7)。以下是我建议的更改(来自git修补程序文件):
--- A / niftitools / xform_nii.m
+++ B / niftitools / xform_nii.m
@@-324,13+324,15@@函数[hdr,orient]=更改hdr(hdr,公差,首选格式)
高清晰度历史记录(四)
hdr.hist.srow_z(4)];

-如果det(R)==0 | ~isequal(R(find(R)),和(R)')
+如果det(R)==0 | | ~isequal(R(find(R)),和(R)')
hdr.hist.old_affine = [[R; [0 0 0]] [T 1]];
- R_sort =排序(ABS(R(:)));
- R(查找(绝对(R)<容差*分钟(R_sort(端-2:端))))= 0;
+分辨率矩阵=diag(高密度脂蛋白二聚体(2:4));
+ R_prime = R / resolution_matrix;
。+ R_prime = R_prime ^ 2;
+R(find(R_prime历史新仿射=[[R;[0 0]][T;1]];

我还将矩阵的组成部分平方,这样所有列的总和为1,所以您可以检查每个元素的绝对值,而不是元素

也Matlab的希望从改变你的OR运算符“|”以 “||”。

嗨,吉米(和这个工具包的所有用户),

非常感谢这个伟大的工具,所有的讨论!

我有一个关于从ROI提取数据的问题:

我有T1在4维(X,Y,切片,时间)映射(在.nii格式)和感兴趣的文件体积(.nii格式)。我想提取时效曲线从T1地图这种特定VOI和要绘制它在MATLAB。

的view_nii显示说明,我们可以做到这一点使用这个工具箱,但我无法弄清楚如何?

我真的很感激,如果任何人都可以在整理了这一点请大家帮帮我!

谢谢,
萨赫勒

这是一个伟大的工具!

我用Freesurfer制作了海马子区掩模,我想用它在我的fMRI数据上得到子区体素。但是,我怎样才能知道子字段和功能磁共振成像数据是否在同一空间?有没有方法可以使用view_nii查看两个图像是否正确对齐?

谢谢你的帮助/建议。

布赖恩Ç科

我缺少的东西或者没有原始DICOM到NIFTI转换功能,在这里... ???
例如。:
nii=D2N('SRC_folder','full_path\output_name')

似乎有很多,但每个都使用不同的格式加载到matlab中。所以,如果我使用不同的dicom2nift转换器,而不是这里的这些文件无法正确加载它们。我看到了一个make_nii(),但实际上它并没有从dicom转换。。。还是我遗漏了什么?

感谢您的时间。

票价费雷什

你好,
请才有可能知道NIFTI图像的像素值?因为我没有找到它做任何功能。我想知道NII图像的特定像素的值。
谢谢

KB

我试图挽救一个二进制3D nifti面具,但是当我试图挽救它,我改变变量nii.hdr.dime.bitpix和nii.hdr.dime.datatype 1。我能够拯救这个国家信息基础设施,但没有外部比Matlab的其它软件可以读取它。我试着用ImageJ的和ITK-SNAP打开它,但他们都不是能够读取它。

感谢您写这本不错的功能。我试图绘制一系列的投资回报率(每个中反映的p值的颜色)上的模板MR图像的顶部。我得到的基本工作,但我似乎无法翻转颜色映射使得下p值涉及到更多的红色(使用默认颜色映射双极)。通常,我会使用的颜色矩阵flipud功能,但我似乎无法得到这个工作。任何建议将非常感谢。非常感谢。

乔恩·克利

扬尼斯

扬尼斯

你好。

我有转换之后的4 DICOM系列使用dicm2nii 3D Nifti卷。我下一步需要做的是连接四个3D Nifti卷到一个单一的3D Nifti量,为此我一直在使用collapse_nii_scan尝试。结果我得到的是一个4D Nifti文件(“multi_scan.nii”)具有四个“时间点”,而不是包含所有从初始DICOM系列的图像的单个3D体积。对任何想法将非常感激!

问候,
扬尼斯

我是全新的,以该工具箱(和MATLAB),我试图加载.nii文件。我进入以下命令窗口:
>> topface = load_nii( '/用户/ MRIuser /功能磁共振成像/ Homunculus2 / P121 / Experiment.feat /统计/ zstat1.nii')

然后,命令行立即转换为:

>> uiopen( '/用户/ MRIuser /功能磁共振成像/ Homunculus2 / P121 / Experiment.feat /统计/ zstat1.nii',1)

此外,标签中加上标签zstat1.nii许多随机字符编辑器窗口中打开。但是,有一个叫没有创建变量“topface。”有什么建议么?

杰夫·布鲁克斯

当我将DICOM图像转换为Nifti格式时,每次运行/会话都有多个.nii文件。每一张图片也有不同的大小。有人知道为什么会这样吗?哪个图像是进行分析的正确图像?

嗨吉米,

我有一个关于方向(或者方向性)的问题。我看到FSL有一个函数(fslhd),读取头,并返回“qform_xorient”(“左到右”或“右到左”),但load_untouch_header_only没有。是“qform_xorient”在头抑或是某种方式从其他参数的解释?

谢谢!

嗨,
所以我在检查你的工具,在观看从MATLAB .nii.gz文件非常有用,但我怎么可以用它来我的文件保存为具有相同的尺寸(256 * 256 * 50)一个.MAT文件。

谢谢,
Mayada

詹基·梅塔

嗨,

感谢您的工具箱。我有以下问题:
我在MATLAB三维矩阵我需要转换为NIfTI或ANALYZE格式,以便在SPM8进行查看。对于这个我使用“工具NIfTI和ANALYZE形象”。我的问题是,一旦我转换这个3D矩阵使用make_ana命令来分析格式,给我的脑容量是旋转/翻转w.r.t原始卷。
我该怎么解决?
注:共配准这原始的脑容量没有帮助,结果仍然翻转。

谢谢,

詹基

Meytal

非常感谢你为这个非常有用的代码!

我在加载一些文件时遇到问题。
我在FSL中准备了一个mask文件,并想将其与一些函数文件一起加载到matlab中。
问题是仿射矩阵对我的两个对象有非正交旋转,所以我不能使用“加载”。
我不确定是否可以使用“reslice_nii”,因为我仍然需要这个掩码文件具有与功能文件相同的维度。
任何想法将不胜感激!
谢谢,
Meytal

KB

非常有用而且写得很好的工具箱。多好的服务啊!

非常感谢!!!

山塔努

我在加载和查看.nii文件时发现了你的MATLAB代码。我目前正在研究自闭症患者的脑图和脑成像。我从依从数据库里得到了病人的核磁共振图像。但我对MATLAB还很陌生。我无法理解这段代码将如何工作。它说要用文件名替换文件名,我也这么做了。但我想它需要更多的编辑,这样我才能使用它。你能帮我弄清楚如何使用这个代码吗。

易遂

干得好!
我更新了这一点,并增加了一些新功能。
请检查
//www.tianjin-qmedu.com/matlabcentral/fileexchange/47072-3d-nifti-data-viewer

基督教

基督教

非常感谢你为这个有用的工具!

嗨桑杰塔,

关于LAPACK加载错误:(dlopen:无法使用静态TLS加载任何其他对象)

这是在Linux系统上的已知问题与MATLAB版本R2012b高,而没有具体到这个工具箱相关:

http://www.mathworks.de/万博1manbetxsupport/bugreports/961964

似乎有一个新的解决办法,但先前的建议是以下行添加到startup.m来:

酮(10)*兰特(10);

这可以确保在启动时加载相关的库,这对我们的系统起了作用。

保罗

桑杰塔

嗨,谢谢你做了这么有用的工作。当我试图加载一个nii文件时,我得到了下面复制的错误。有什么问题吗?

使用DET错误
LAPACK加载错误:
dlopen的:不能加载任何多个对象
静态TLS

误差在xform_nii> change_hdr(线
327页)
如果DET(R)== 0 |
〜ISEQUAL(R(FIND(R)),和(R)')

误差在xform_nii(线154)
[HDR,东方] = change_hdr(HDR,公差,preferredForm);

误差在load_nii(线185)
nii=变换nii(nii,公差,
优先形式);

Xen的

大家好,您惊人的工作恭喜这里。
我道歉,如果类似的事情以前有人问。我在TIF格式的16个灰阶片堆,并希望将其转换为NII格式。我该怎么做?谢谢。

吉米沉

你不能这么做。支票常见问题解答.pdf当你需要装载时

Israna

我怎么可以查看由“load_untouch_nii.m”装的形象呢?

吉米沉

因为它不是view_nii解释和适用的头信息的业务。

Israna

由于代码是一个很大的帮助。

但是你能帮我理解为什么我不能用“view_nii.m”来查看由“load_untouch_nii.m”加载的结构吗?我怎么看呢?

谢谢

克莱尔

对不起,我觉得,感谢你的惊人功能

卢克谢

伟大的功能
感谢更新

吉米沉

尼古拉斯,请告诉我什么是确切的“蛛丝马迹”,或迷惑你“的消息”。另外,请告诉我,你尽力去做。

萨科宇

该view_nii不那么有效。
你举的例子很好,但是对于我的大数据来说,它提供了一些线索,当我使用load untouch.m时使用load untouch.m,但是当我使用load untouch.m时使用load untouch.m。为什么?

吉米沉

您可以使用“load_untouch_nii / save_untouch_nii”对。下面是一个例子:

NII = load_untouch_nii( 'avg152T1_LR_nifti.nii');
nii.hdr.hist公司.descrip='梦幻';
保存_untouch_nii(nii),新的_avg152T1_LR_尼菲');

除非你触摸nii.img自己,例如nii.img(1)= 0,也不会被改变,尽管它也被加载并保存。只有头(nii.hdr)在你做出改变的方式进行编辑。

此外,如果输入文件是Analyze 7.5格式,则输出将保持Analyze 7.5格式。如果输入为NIfTI格式,则输出将保持NIfTI格式。

这就是为什么我有“加载”和“加载”功能。然而,在大多数情况下,你想使用“加载”功能,因为你不想解释头中的仿射矩阵,并且自己做各种翻转和旋转,是吗?

麦尔育

嗨,吉米

有没有方法可以加载、编辑和保存.hdr而不必对.img执行任何操作?因为我发现SPM在每次进行联合注册时都会更改源文件头,我想将其更改回原来的位置。save_nii_hdr()似乎是一个内部函数,我试图使用它,但破坏了nifti文件。

谢谢,
Mengye

很 完美!谢谢您!

吉米沉

数据为“情节”只包含的坐标信息,而在网格上被分布被假定为“make_nii”需要强度值数据与它的坐标从1到电网的渔政。此外,与情节,对于图像坐标只包含整数。因此,你不能直接从情节中提取数据,并使其图像。

导出您的绘图数据以图像将是一个很不错的选择。我想你已经做得很好。所有你需要做的就是你的情节导出到图像之前隐藏背景图像和轴。以下是如何做到这一点:

1.出口前,用鼠标单击图(将其激活);

2.隐藏通过运行轴:

设置(gca,“可见”,“关闭”);

3.通过运行隐藏的背景图像:

h=获取(gca,“child”);
对于i = 1:长度(H)
如果strcmpi(GET(H(i)中, '类型'), '图像')
设置(h(i),“可见”,“关闭”);
结束
结束

四。将绘图导出为图像。现在它没有背景和轴。

非常感谢你对这项有益的产品。我有一个问题,如果有人可以帮助我...

我加载了一个.nii文件,做了一些处理,并有了一个新的绘图,我想从中提取数据并最终保存为.nii。这是一个简单的绘图,是找到一个物体边界的结果。我从绘图中提取数据并将其输入单元格,但是“make_nii”函数不支持此数据类型。我试着把细胞转换成一个.mat,但也没有得到令人满意的结果。我还试着将这个图保存为一个图像,然后使用“make_-nii”,这很有效,但结果包括图像的边框和轴。我只想要数据,没有背景或轴。有人有什么建议吗?万博1manbetx

奥勒提斯

吉米沉

“collapse_nii_scan”用于集成多个单体积NIfTI或分析文件到一个多卷NIfTI文件。在你的情况,如果你想连接两个4D NIfTI图像转化为一个4D NIfTI图像,你应该申请“expand_nii_scan”你既4D图像。所有卷必须是在同一文件夹,并确保该文件名是否正确改名(即从001〜999,而不是1〜999)。然后,应用“collapse_nii_scan”在特定文件夹中所有扩展卷,你会得到一个级联4D NIfTI图像文件。

鲁道夫

您好,我尝试使用collapse_nii_scan连接两个4D nifti图像,但是,让我只用2体积的图像。我这么想吗?

伯克林生物

吉米沉

喜志:

“collapse_nii_scan.m”将完成这项工作。

嗨Samiy:

这种工具不能用于提取脊髓。然而,一旦你提取并保存到另一个分析/ NIfTI文件,这个工具可以加载数据到MATLAB进行进一步的处理。

在FSL,有一个叫avwmerge工具,结合几个HDR或NII文件到一个单一的HDR或NII文件。一些现有的应用程序只使用单一的HDR / NII文件作为输入。我能找到你的工具盒类似的功能?非常感谢。

吉米沉

接收到的图像,是一种特殊的RGB数据类型。这个nii.img公司通常范围为0到1,但输出值需要按(glmax glmin)+glmin缩放。

吉米沉

请把这张照片寄给我,这样我明天下午就可以帮你看一下。

小营堂

你好,
这个包都非常好,我的研究。首先感谢。但现在我有矢量图像的问题。我想利用其绝对值改变XYZ矢量图像的像素值。我第一次使用:NII = load_nii(1_xyz.img),如果我用view_nii(NII),我找到正确的一切。移动十字准线139,63,91,我可以读值(-0.1784,0.8963,0.3663),这是正确的。但是,如果我使用:a = nii.img;一个(139,63,91,1:3),将显示值作为0.35555,0.9434,0.6535。看来,a的值始终为正。我试图使用NII = load_untouch_nii(1_xyz.img); a = nii.img; It has the same positive value.
你有有关view_nii(NII)显示nii.img的值和之间的这种不一致什么建议吗?
非常感谢。

小营堂

你好,

这个包都非常好,我的研究。首先感谢。但现在我有矢量图像的问题。我想利用其绝对值改变XYZ矢量图像的像素值。我第一次使用:NII = load_nii(1_xyz.img),如果我用view_nii(NII),我找到正确的一切。移动十字准线139,63,91,我可以读值(-0.1784,0.8963,0.3663),这是正确的。但是,如果我使用:a = nii.img;一个(139,63,91,1:3),将显示值作为0.35555,0.9434,0.6535。看来,a的值始终为正。我试图使用NII = load_untouch_nii(1_xyz.img); a = nii.img; It has the same positive value.

你有有关view_nii(NII)显示nii.img的值和之间的这种不一致什么建议吗?

非常感谢。

标记

谢谢,这正是我想知道的!

吉米沉

当然马克。您可以通过该方式需要参考图像,所以你可以看到你的应用转换矩阵之前和之后会发生什么。这里的例子:

1.从NIfTI网站下载 “avg152T1_RL_nifti.nii”。我用它作为参考图像。

2.查看如何参考图像看起来像:NII = load_nii( 'avg152T1_RL_nifti.nii');
view_nii(NII);

3.假设我有一个变换矩阵,它将让XY平面上的基准图像转30度逆时针,这里将是矩阵:T = [COS(PI / 6)-sin(PI / 6)0;罪(PI / 6)COS(PI / 6)0;0 0 1];

4.获取old_xyz从参考图像:RL = load_untouch_nii( 'avg152T1_RL_nifti.nii');
old_xyz = [rl.hdr.hist.srow_x(1:3); rl.hdr.hist.srow_y(1:3); rl.hdr.hist.srow_z(1:3)];

5.将您的变换矩阵,并保存new_xyz到一个新的形象:new_xyz = T * old_xyz;rl.hdr.hist.srow_x(1:3)= new_xyz(1,:);rl.hdr.hist.srow_y(1:3)= new_xyz(2,:);rl.hdr.hist.srow_z(1:3)= new_xyz(3,:);save_untouch_nii(RL 'rl30.nii');现在,你已经拥有了“rl30.nii”,这是一个转变NIfTI图像可以在任何地方使用。

6.为了使用我的工具箱来查看这张图片,你需要它重新分区:reslice_nii(“rl30.nii”,“rl30b.nii”);现在,可以加载和查看经旋转的图像:rl30b = load_nii(“rl30b.nii”);view_nii(rl30b);

希望这回答了你的问题。

标记

你好,

是否可以使用reslice_nii对nifti卷应用转换?例如,如果我有一个转换矩阵,它是一个具有解剖体积的功能体的3D共注册的结果,我可以使用reslice_nii将该转换矩阵应用到功能体以将其转换为解剖空间吗?如果是的话,有可能得到一些示例代码吗?

非常感谢您的有用的代码。

Wannabegeek

吉米沉

要回答你的第一个评论:问题是,你混“make_nii”与“_untouch_”版本。如果使用“make_nii”获得NIfTI结构,它使用“save_nii”被保存。

要回答你的第二个意见:如果你知道NIfTI结构很好,相信你可以修改它,然后用“save_nii”保存它。您甚至可以保存“非正交” NIfTI结构的文件,“save_nii”。

我解释与“load_nii”页眉和限制它的原因为“正交”转型约为方便所有,至少在我的工作。

顺便说一句,如果你把原来的NIfTI文件,并把它带到其他软件来显示(例如SPM),他们也将重新划分给你。

非常感谢您的评分!

Wannabegeek

我想我想通了。

我阅读了您的更新,发现untouch选项并没有加载转换矩阵,所以通过添加一个,我改变了头。

我分辨通过克隆头和使用save_nii()

如果你想知道为什么我没有使用load_nii(),它是b/c,y数据有非正交变换,而开放工具不起作用。

顺便说一句,我认为这种行为可能没有道理。在我的实验室里,重新上钩的建议被认为是个坏主意,b/c的插值人工制品。

Wannabegeek

嗨吉米,

我在使用save_untouch_nii()时遇到问题。

我加载与load_untouch_nii()一nifti 4D数据集,进行任何更改,然后尝试用save_untouch_nii save()和获得与消息的失败:使用方法:请使用“save_nii.m”的修改结构。

我甚至试过在拯救之前克隆hdr。

NII = load_untouch_nii( 'foo.nii');
数据= nii.img;
%数据=数据+10;
nii_mod=make_nii(数据);
%nii公司_型号hdr= nii.hdr公司;
save_untouch_nii(nii_mod, 'test1.nii');

吉米沉

有你的数据,并使用“analyze75read”“load_untouch_nii”和“load_nii”,这里的结果做了如下测试:

a1=分析75Read('dxx.img公司');
MAX(A1(:)),得到3.3943e-08

A2 = load_untouch_nii( 'dxx.img');
最大值(2.img(:),得到3.3943e-08

A1 = load_nii( 'dxx.img');
最大值(a1.img(:),得到3.3943e+04

检查:a2。hdr.dime.roi_量表
GET 1.0000e + 12

你告诉我你用“analyze75read”得到了1.089e+12的体素值。我不能复制你的结果。

迈克尔

嗨吉米。我想我理解正确的工具,我没有使用“load_nii”确实如此。我送你的数据。

吉米沉

如果没有更多的细节,我不能重复你的问题。请给我你的数据表明它。在另一方面,我希望你能来看看我的网页,以更好地了解这个工具。为了展示,你必须使用“load_nii”而不是“load_untouch_nii”。即你的数据正确解释(感动)。可能有很多情况下,例如比例因子是在头文件中指定,您的数据有不同的定位,等等。然而,在任何情况下它不同的对待双数据类型。

迈克尔

我的第一篇文章没有提交。我是说程序无法显示双数据类型的分析文件的正确值。Matlab Analyzeze75Read工作正常。
你有任何想法,这是为什么?

迈克尔

PS:例如而不是正确的体素值1.089e + 12,这个程序将显示988.1

吉米沉

我从来没有这样一个函数叫“read-nii-img”。请阅读以下网站的所有功能和用法:

http://www.rotman-baycrest.on.ca/~jimmy/NIfTI

我最近发现,现在我们已经升级到Matlab 2011a,这些函数中的许多已经不能正常工作了。当使用read_nii_img时,我们现在得到一个错误,说:

??? “char”类型的输入参数的未定义函数或方法“read-nii-img”

我们以前曾成功运行过这些程序,但自从更新之后,它们就一直不起作用。你有什么建议可以解决这个问题吗?非常感谢!

吉米沉

似乎“应用fsl_变换矩阵”中的“加载nii_hdr”已被修改。它应该类似于“function[hdr,filetype,fileprefix,machine]=load_nii_hdr(fileprefix)”。i、 它应该有4个输出参数,这与要求的“load_untouch_nii”完全相同。

迈克尔

嗨,

使用内“load_untouch_nii” load_nii_hdr“我收到以下错误信息:

???使用错误==> load_nii_hdr
太多的输出参数。

错误==>在103加载未触及的nii
[nii.hdr,nii.filetype,nii.fileprefix,nii.machine] = load_nii_hdr(文件名);

误差==>在5 apply_fsl_transformation_matrix
VOX = load_untouch_nii( '/ SCR2 / DTI / det_track / BM3K /反式/ Sem_fun_roi.nii');

谢谢你的帮助!

迈克尔

吉米沉

NIfTI支万博1manbetx持 “.nii” 和 “.IMG / .HDR” 文件扩展名。如果不提供任何文件扩展名,它会寻找“.IMG / .HDR”文件默认情况下。因此,您可以轻松解决您的问题,通过提供相应的文件扩展名。例如NII = load_nii( 'filtered_func_data.nii');

Galit

嗨,
试图加载.nii文件,我得到一个消息:
找不到文件“filtered_func_data.hdr”
问题显然在于这样一个事实,我们没有单独的头文件。是否有解决方案不是将其转换为.HDR和.IMG等?
谢谢!

大卫N

吉米沉

I assume that you have a series of 3D NIfTI (or Analyze) files with the same header information (i.e. same dimension, voxel size, originator, ... etc.), and you want to integrate it into a single 4D file with time series in the file.

如果是这样的话,你可以使用我的“collapse_nii_scan.m”这样做。键入help collapse_nii_scan以获取更多信息。

对于文件扩展名,此功能会跟着你有什么。即你仍然会得到一个单一的.HDR / .IMG文件之后。

由于所有NIfTI兼容的软件应该能够加载4D NIfTI(或分析)的文件,我们不支持从.HDR / IMG到.nii文件任何转换。万博1manbetx

谭立荣

嗨,

我想了一系列的.HDR / .IMG文件转换成一个单一的.nii文件。我怎样才能做到这一点?非常感谢。

吉米沉

你不应该使用“load-nii-uhdr.m”和“load-nii-uimg.m”。两者都是内部函数,直接调用它们时不受支持。万博1manbetx

如果你想利用一下标题信息,请使用“load_untouch_header_only.m”。

如果要更改体素值,请使用“load_nii.m”加载NIfTI文件,然后使用“view_nii.m”编辑十字线处的体素值(在“编辑”选项卡下),然后单击“文件”选项卡下的“保存显示图像”。

在您的案例中,不一致的原因是由标题中的比例因子引起的,您自己没有正确解释。

普里亚

你好
我正在使用NIfTI和分析图像的工具。很有帮助,我真诚地感谢你为研究界所做的工作。

我正在使用.HDR和.IMG格式的图像。我试图改变像素值1到5,然后将其保存为.IMG。我认为使用功能view_nii保存的图像。我能找到的像素值5,我做到了。但是,如果我像MRIcroN和FSLVIEW查看器中打开这些图像它显示了一个像素值0.01961。我找不到原因。你可以帮我找到解决上述问题。我可以看到,输出图像的GMAX是5。但是,对于输入图像是0。
我已经把它使用了由我的代码行。

我想发送我的输入文件,所以最好知道我的问题。请告诉我发送输入文件的方法。

[nii1.hdr,nii1.filetype,nii1.fileprefix,nii1.machine] = load_nii_hdr( '1sub_110_A-128_5med');
[nii1.img,nii1.hdr]=加载nii(nii1.hdr,nii1.filetype,nii1.fileprefix,nii1.machine);
Z =找到(nii1.img);索引的数量%--- 4610
img1=零(大小(nii1.img));
IMG1 = UINT8(IMG1);
img1(z)=5.00000;
nii1.img = IMG1;
保存(nii1,'out1.img');

在此先感谢您的帮助

吉米沉

这是因为这些参数和缩放被解释和应用于图像。它是什么应该做的NIfTI装载机。

如果您想自己解释header,可以尝试以下命令:

x=加载未触及的设备('b0.hdr');
保存_untouch_nii(x,'b0xx.nii公司');

有关详细信息,请仔细阅读所有说明,可在我的网页上找到:

http://www.rotman-baycrest.on.ca/~jimmy/NIfTI

我试着用软件包中的两个函数将HDR图像转换成nifti图像
X = load_nii( 'b0.hdr');
保存(x,'b0)xx.nii公司');

然后比较了转换前后的Q偏移量、仿射参数和校准标度。然而,它们几乎完全不同。是否可以在不影响这些参数的情况下进行转换?

吉米沉

首先,当你使用“save_nii.m”,你保存的文件始终处于NIfTI而不是分析格式。

二,使用“load_untouch_nii”加载原件分析文件并保存NIfTI文件,并检查什么是尺寸大小和“.IMG”字段的数据类型。

最后,我测试了使用“load_nii.m”加载许多Analyze和NIfTI文件,然后使用“save_nii.m”保存到NIfTI文件。我没有发现数据量“显著增加”。如果可能的话,请将你的原始分析数据上传到我可以访问的地方,并通过电子邮件将链接发送给我(不要使用电子邮件附件),这样我可以尝试复制你的问题。

顺便说一下,我要到8月2日才有空。

杨柳

亲爱的大家:

我发现用这个工具箱中存在以下问题。
我能得到的数据在分析与“load_nii.m”格式的文件。
但是,当我保存的数据来分析与“save_nii.m”格式的文件没有任何变化,数据量增加remarkly。

泰勒

我下载了新的程序,所以我现在得到一个不同的错误建议你刚才提到的。

但是,重新列表不是一个选项,因为我们首先使用SPM注册图像,所以我们需要它们所在的当前空间中的nifti(我将致力于向您获取图像,但我不知道在这一点上是否可能)。

吉米沉

首先,“加载nii”和“加载untouch nii”都支持SPM NIfTI图像。事实上万博1manbetx,只有一个NIfTI标准,所有NIfTI兼容的软件都应该符合这个标准。

其次,为了重复错误,请上传图像到任何地方,我可以读访问。请不要通过电子邮件发送附件。

如您所注意到的,NIfTI图像可以在任何空间方向上,而“load-nii”只能有48个正交方向。在这种情况下,程序将提示您使用“reslice_nii”插值图像。由于您没有得到适当的提示,我有兴趣看看您正在加载的图像。

请查看我的NIfTI网页了解更多详细信息:

http://www.rotman-baycrest.on.ca/~jimmy/NIfTI

泰勒

编辑:这里的错误

load_nii(pathTo.imgFile)
** ???使用==> xform_nii> change_hdr在236错误
这个NIFTI数据的变换不被支持万博1manbetx
程序**。

错误==>xform_nii在90
[hdr orient]=更改hdr(hdr);

误差==>在71 load_nii
NII = xform_nii(NII);

泰勒

沉先生,

总的来说,我在处理这个包方面取得了很好的成功;但是,在处理SPM-NIFTIs方面(http://www.fil.ion.ucl.ac.uk/spm/)我不能装东西。

我必须使用load_untouch_nii,然而,当我使用这一点,NIFTIs处于随机的空间取向,与图像矩阵需要被翻转和/或旋转,以在正确的方向。

你知道一个方法来解决这个问题?这大大减缓我的研究:/

谢谢!

泰勒

是的,现在你有时提到它读作[0001]它更有意义的旧分析格式。我想这可能是我的情况。

吉米沉

你读了...吗:
http://nifti.nimh.nih.gov/nifti-1/documentation/nifti1fields如我所说?

正如你所看到的,在NIfTI“原点”在sform或qform表示。当您使用 “load_nii”,你会发现它在:hdr.hist.originator(1:3)

有时,老ANALYZE图像,该值为[0 0 0]这是没有意义的,那么你别无选择,只能使用:hdr.dime.dim(2:4)/ 2。

希望这可以帮助。

谢谢你的回复!

由起始位置,我的意思是原点(X,Y,Z)。我找不到在MATLAB中的头结构我的图像数据的任何地方的起源。

吉米沉

x,y,z的起始位置都是1。i、 e.xyzvold=[11 1]是开始的地方。

另外,也请NIfTI头字段在:
http://nifti.nimh.nih.gov/nifti-1/documentation/nifti1fields

让我知道我是否正确理解了你的问题。

嗨吉米,

我不能找到在X,Y,和在头结构z方向上的像素或体素的开始位置。我用读我的load_nii分析图像。图像是好的。我只是没有找到起始位置。

谢谢,
Navdi

吉米沉

下面是一个例子:
NII = load_nii( 'mydata.img',vol_id);
切片= nii.img(:,:,的slice_id);
切片= ROUND(63 *(切片分钟(切片(:)))/最高(切片(:)))+ 1;
imwrite(切片,喷射,'myslice.jpg公司');

温伯顿

嗨吉米。确实这是一个非常漂亮的代码。

我有个问题。我该怎么做才能提取4D nifti脑体积的单个切片,并保存成一个普通的图像文件(即:JPEG,BMP ......),采用通用的色彩映射(即:ge_color)?

感谢您的关注。

W.

吉米沉

您可能没有注意到“load_nii”中的公差参数。默认情况下,我们允许不超过10%的失真。您可以将其设置为0,系统将提示您使用“reslice_nii”插值图像。

如果你只是想改变负值,NAN值设置为0,你可以简单地使用“load_untouch_nii”和“save_untouch_nii”对做的工作。

小营堂

嗨吉米,

我有一些问题。我的目标是改变图像中的负值,NAN价值为0,然后将其保存为.nii。我用load_nii程序,然后改变了值转换成0,然后使用save_nii。一切似乎都很好。但我终于发现,图像的视界从变化不大:查看宽领域:204;查看-身高领域:256;切片厚度:1,查看宽领域:203.992;查看-身高领域:255.909;切片厚度:0.99968。但是,图像的尺寸保持不变。你明白我的意思吗? I mean the voxel size changed. Could you please have a look at this problem? It is very strange.

非常感谢。
小英

小营堂

嗨吉米,

我有一些问题。我的目标是改变图像中的负值,NAN价值为0,然后将其保存为.nii。我用load_nii程序,然后改变了值转换成0,然后使用save_nii。一切似乎都很好。但我终于发现,图像的视界从变化不大:查看宽领域:204;查看-身高领域:256;切片厚度:1,查看宽领域:203.992;查看-身高领域:255.909;切片厚度:0.99968。但是,图像的尺寸保持不变。你明白我的意思吗? I mean the voxel size changed. Could you please have a look at this problem? It is very strange.

非常感谢。
小英

小营堂

吉米,

我解决了这个问题。非常感谢。

最好,
小英

吉米沉

首先,您不必使用“make_-nii”,它只是基于N-D矩阵为您创建NIfTI结构。

其次,make_nii支持浮点数据万博1manbetx。有关详细信息,请键入help make_nii。你收到错误信息了吗?

小营堂

嗨吉米,

非常感谢你的剧本。它们真的很有用。

现在我想读取一些nii文件并设置像素值,它小于零。我首先加载nii文件,然后更改该值。现在我需要把它保存回nii文件。我想我应该先把你救出来,然后再救你。但make_nii似乎不支持float数据类型。你有好的建议吗?万博1manbetx

最好,
小英

吉米沉

你好,胡安:

您可以在下面的“关于覆盖的问题”类别中选中:
http://www.rotman-baycrest.on.ca/~jimmy/NIfTI/FAQ.htm
有几个问题和答案这个话题。

你说你有每个体素的x,y和z方向。x、y和z方向必须转换为与第一个体素相关的索引。可能,你已经有了代表本征图像的大脑区域。假设你有一个叫做“大脑”的二元图像_面具.nii,而解剖图像被称为安娜·妮伊". 以下是您可以尝试的:

1.使用“ANA = load_nii(ana.nii)”以加载解剖图像,并确保变量“ana.img”可以是在“单”或“双”。如果没有,使用步骤2将其转换。

2.变量 “ana.img” 转换为 “单”,则需要使用 “make_nii” 命令:“ANA = make_nii(单(ana.img),ana.hdr.dime.pixdim(2:4),ANA.hdr.hist.originator(1:3))”。

3.使用“掩模= load_nii(brain_mask.nii)”以加载脑
掩模图像,并分配值和索引,以“选择”的结构:“opt.setvalue.idx =查找(mask.img); opt.setvalue.val =特征向量;”。你可以看到更详细的命令使用“的setValue”:“帮助view_nii”。

四。将其他值添加到“opt”结构:选择命令='初始';选择useinterp=0;“。

5.剧情本征与由命令垫层背景图像:“view_nii(ANA,优化);”。

6。不要点击“interp on/off”菜单。它不能正常工作。如果要查看插入的,请使用:“选择useinterp=1;取而代之的是view_nii(ana,opt)。

如果您还有疑问,请随时问我。

吉米

胡安

嗨吉米。
非常感谢您对这个非常有用的工具箱。
我的问题是关于如何在图像中叠加。我需要覆盖在图像上每个像素的主特征向量;我有一个MATLAB阵列已经每个像素的x,y和z方向,但我想知道我怎么可以显示在同一图像或者如果可以修改代码以只保留主要的图像和摆脱所有选项,你给喜欢的颜色和十字线的位置等,因为我主要是需要显示的图像,并在其上显示的特征向量。
谢谢,
胡安

吉米沉

嗨Preeti:

1)这是正确的,它不支持.avw格式。万博1manbetx所以,请保存它.HDR / .IMG或.nii格式,你在MATLAB打开它们之前。

2) 在许多新电脑上300片应该没问题。如果您的计算机无法在内存中保存这么多数据,您可能需要一次提取一个或多个切片进行分析。此功能已于2010年1月6日实现。

普丽蒂

我使用AnalyzeDirect软件肺癌的检测和检索。我已分割的肺从胸部CT扫描的300多个切片(DICOM)。我已保存的结果.avw格式以及在Analyze7.5格式。现在,当我试图在MATLAB中打开这些文件我得到了这些问题

1)代码只suppports 'HDR / .IMG' 格式即Analyze7.5格式。我是无法加载.avw文件
2)没有。片300多它给出“内存的”错误,当我打开“.HDR / .IMG”的数据。

如何解决这两个问题。请帮忙!

吉米沉

喜安妮 - 琳恩:

别担心。以下提示会给你一些更多的帮助。

如果你没有看到使用后差“expend_nii_scan”,这意味着你只需要在你的文件1次扫描(1卷)。既然你说” ......看看nifti图像separatley ......“,我还以为你有几个图像(卷或扫描)在1个文件,并想分别对待。

你需要做的第一步是通过“load_nii”命令加载图像到MATLAB(使用前请看看“帮助load_nii”)。

比方说,你有一个像“file1.nii”(或“file1.img / HDR”)。通过命令:
NII = load_nii( 'file1.nii');
要么
nii=加载nii('file1.img');
你可以得到一个三维矩阵nii.img公司,以及其标题信息nii.hdr公司".

你提到,你想将图像转变成另一种数据类型。就是这样:

你要么可以直接更改头信息(如果你熟悉NIfTI头),然后使用“save_nii”,或用“make_nii”创建一个新的NIfTI结构(如NII)。

例如:
数据类型=16;%将数据类型更改为float32
nii2 = make_nii(nii.img,nii.hdr.dime.pixdim(2:4),nii.hdr.hist.originator(1:3),数据类型);
save_nii(nii2, 'file2.nii');既%使用NII EXT
save_nii(nii2, 'file2.img');%或使用IMG / HDR分机
通过这样做,您将其更改为Float32数据类型,并将其保存到“file2.nii”(或“file2.img/hdr”)中。

如果你有一个MATLAB算法所做自己如你所说,我想你会更感兴趣的是IMG矩阵(“nii.img”)。该“nii.hdr”是头信息来描述“nii.img”的方向如何,什么是体素的大小,和鼻祖,等等。

最后,我必须纠正你“make_nii”不会将图像转换为任何扩展。它只根据N-D矩阵和其他一些参数(体素大小、起始点、数据类型等)生成NIfTI结构。请仔细查看帮助,并确保您知道如何使用它。

如果您还有其他问题,请详细说明(例如,列出要点),以便我知道如何帮助您。

吉米

安妮·琳

我已经看过这些链接并尝试了扩展扫描,但恐怕我还是不明白。我的文件有nii扩展名,当我使用expand时,我得到另一个nii文件,当我使用view_nii时,我看不出它和我的原始文件有什么区别。

我看到使用make_nii可以转换带有img/hdr扩展名的图像,但是我无法让它在带有nii扩展名的文件上工作。

安妮·琳

吉米沉

喜安妮 - 琳恩:

没有问题是愚蠢的。

是。你可以使用我的工具在NIfTI图像分开看,并将它们转换为另一种数据类型。

因为NIfTI同时支持i万博1manbetxmg/hdr和nii扩展,所以我的工具支持其中任何一个。

大多数的帮助可以用help命令来获得。例如帮助make_nii。

还有其他一些资源可以帮助您:
http://www.rotman-baycrest.on.ca/~jimmy/NIfTI
http://www.rotman-baycrest.on.ca/~jimmy/NIfTI/FAQ.htm
http://www.rotman-baycrest.on.ca/~jimmy/NIfTI/examples.txt

命令“expand_nii_scan”被用来打破多扫描NIfTI文件分成多个单扫描NIfTI文件,所以你可以看看他们分开。

如果你想转换IMG的数据类型,你可以使用后“make_nii”命令使用“save_nii”。如果您熟悉NIfTI结构,你可以直接修改“hdr.dime”,然后使用“save_nii”保存。

如果您还有其他问题,请说得具体些,所以我可以帮你。

吉米

安妮·琳

嗨!

我是使用nifti的初学者,所以这个问题看起来很愚蠢,但我希望你能帮助我。

我用fsl prelude打开了我的mri图像,它们现在是nifti格式。现在,我需要将这些图像与我用自己制作的matlab算法展开的图像进行比较。

我可以用你的工具来看看nifti图像separatley,也许它们转换为其它数据类型,我可以在Matlab使用?

我想也许你的救命诀窍能帮到我,但我不知道怎么用,我需要img/hdr文件而不是nii吗?

我将非常乐意得到一些指导。

安妮·琳

吉米沉

嗨,大卫:

我刚刚得到机会来研究这个问题。

由于修改“load nii.m”来加载NIfTI的特定片段并分析格式太复杂,我只修改了“load untouch.m”。这意味着,您将根据其标题信息来处理图像方向,因为“load_untouch_nii.m”不会对HDR中指示的IMG矩阵应用任何更改。

我希望这仍然可以以某种方式帮助您加载大型数据集。

吉米

大卫

这是一个梦幻般的和非常有用的软件。

我只是想知道是否有无论如何加载从分析和nifti格式只是一个或多个特定的片段?我知道这是简单的负载后,选择从nii.img所需的切片,但我想,以避免与全4D,5D,TSC负载的内存使用情况。

谢谢你分享这份工作吉米

吉米沉

喜迈克尔:

首先,我想知道你怎么可以一个.IMG文件只需重命名为.nii文件。NIfTI支万博1manbetx持扩展,但对于.IMG扩展,你需要单独保存在头.hdr文件。因此,有没有办法为人们只是“......重命名.IMG文件.nii文件...”像你说的。

其次,我查看了Francesca的数据,图像数据的大小与标题中指示的大小不匹配。对于这样的文件,我无法想象任何软件都能处理它。

我很高兴看一下你们的样品。你能把它们上传到你的服务器上,然后把链接贴在这里吗?

谢谢,
吉米

迈克尔Zeineh

喜弗朗西斯和吉米,

好笑的是,我遇到了与MRIcro同样的问题。我发现了一个解决方法。如果与MRIcro您保存的投资回报率作为一个单独的分析头(而非嵌入式头),那么它将与MRIcro打开。然而,这仍然无法与吉米的工具打开。但是,如果你的.IMG文件重命名为.nii,那么这两个吉米的工具将加载它。

吉米,如果你愿意的话,我很乐意给你发一些有限的样品图片。

迈克尔

吉米沉

你好,蔚:

谢谢你的速度。

当您使用“load_untouch_nii.m”,它只是加载IMG和HDR,但不应用任何更改(例如scl_slope,仿射矩阵等)在标题中表明。因此,我总是建议人们在大多数情况下使用“load_nii.m”。请检查“load_untouch_nii.m”及有关“load_nii.m”的说明http://www.rotman-baycrest.on.ca/~jimmy/NIfTI.

你是对的,意想不到的价值是由“scl_slope”参数,当您使用“load_nii.m”被正确应用造成的。但是,我不知道你是否已经注意到,这是一个放射图像,即对上LHS并留在RHS。在此,L / RHS意味着左/的右手边。

当使用“load_nii.m”时,它将根据标题中的仿射矩阵进行所有正确的翻转和旋转,img将始终处于R A S方向(即x:L->R,y:P->A,z:i->S)。在您的特定情况下,您应该使用[33 32 23],而不是使用[32 32 23],因为x轴是翻转的,即新x=最大x(64)-旧x(32)+1=33。

其他软件可能会选择在轴向/矢状/冠状视图周围进行适当标记,例如FSL会这样做。

如果你还有问题,请随时告诉我。

吉米

弗朗西斯卡

嗨吉米,

你说得对,我试图用MRIcro打开.nii文件,但出现了一个有关预期页眉尺寸的错误。wrog步骤可能是当我尝试将.roi导出到.nii时,但实际上没有其他方法可以使用MRIcro。我会想办法的!

非常感谢您的帮助,再次感谢您的nifti工具!

弗朗西斯

刘伟

我想我找到了缩放的参数:它们是高密度脂蛋白二聚体scl_斜率以及高密度脂蛋白二聚体. 现在我知道这些包是如何工作的,如果我想的话,我可以自己缩放体素强度。很抱歉有这么简单的问题,谢谢你的好工具!-魏

刘伟

嗨吉米,

当读取一个文件nifti我发现了体素的灰度值与其他工具不同。我所做的是:
-“untouch load”文件:fmri_mean=load_untouch_nii(…/meanfM00223_004');
- mri_mean.img(32,32,23)的印刷体素值。该值是9506。
- 但是,当我打开与fslview相同的文件,我发现了同样的体素具有不同的价值。和其他体素也不同。所述fslview快照附着。因为在fslview体素坐标从0开始变暗-1,在fslview相同体素具有坐标[31 31 22]。

- 使用应用程序的图像浏览器“从ITK,发现体素值是相同与fslview。此外,隶属快照。相同于fslview坐标为[31 31 22]相同的体素。

- 检查由FSL工具“fslhd”的nifti文件的标题:
数据类型4
nbyper 2
bitpix 16

这意味着它的INT16。

-check在MATLAB中fmri_mean结构,和找到的数据类型是4:
数据类型:4
比特像素:16

但是,为什么你nifti工具提供了与其他产品进行不同的灰度值?我把所有的快照,并在nifti文件www.sci.utah.edu/~weiliu/q01/供你参考。

顺便说一下,这是个很好的工具。谢谢!
世界环境学会

很抱歉没有早点给这个评分。。。。

吉米沉

嗨,弗朗西斯卡:

首先,非常感谢你的评价,我真的很感激。

似乎“lCC_19850624TRTN_2x2x2_b1000__法新社“”已损坏。你有没有试着在micro先生的带领下成功地打开它?如果是,请上传这个文件,让我看看?

此外,从您发布的错误信息,看来你用的是很老版本的我的工具。我通过显示错误的行号注意到这一点。不过,我仍然认为,错误是由损坏的图像而引起的。

请告诉我,
吉米

弗朗西斯卡

亲爱的吉米,

我只是一个初学者与所有这些“nifti成像世界”,但我已经做了足够的理解,你做了一个非常伟大和聪明的工作!谢谢!

好吧,我有加载.nii文件有问题。(通过导出与MRIcro一个.ROI文件获得的)。我会后我得到的错误:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

>>投资回报率=load_nii('lCC_19850624TRTN_2x2x2x2_b1000_a_法新社');
??? 使用==>整形时出错
若要重塑元素的数量,则不能更改。

错误==>在266处加载图像>读取图像
img=挤压(整形(img[高密度脂蛋白二聚体(2:4)长度(img_idx)]);

错误==>在62时加载图像
[IMG,HDR] = read_image(HDR,文件类型,fileprefix,机器,img_idx,old_RGB);

误差==>在66 load_nii
[nii.img公司,nii.hdr公司] = ...

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

你可以帮帮我吗?

非常感谢,万事如意!

弗朗西斯

吉米沉

嗨,亚历克斯:

从理论上讲,在手的头信息,它是做切片崩溃/除了扫描崩溃扩大可行/扩展。目前,我没有找到这样的工具,但可以考虑在未来你的建议。

感谢您的反馈意见。
吉米

吉米沉

喜文东:

问题可能出在ImageJ使用的模块中。我试过icron先生,结果和你描述的一样。i、 e.何时hdr.dime.datatype=32& hdr.dime.bitpix=64,它不支持。什么时候hdr.dime.datatype=64& hdr.dime.bitpix=128,它起作用了。万博1manbetx

为了确保数据类型ANALYZE格式应该支持什么,我再次检查了ANALYZE文档:万博1manbetx
http://eeg.sourceforge.net/ANALYZE75.pdf
它说,分析格式只支持32/64,而不是64/128。万博1manbetx

我还尝试了其他流行的软件,如AFNI。原来32/64是由AFNI支持的。当我尝试64/128时,它抱怨“Unsupported ANALYZE da万博1manbetxtatype=64”,这是正确的。

因此,如果你要使用的数据类型= 32复杂,你必须找到正确的软件使用。AFNI是我刚才测试了其中的一个。

祝一切顺利!
吉米

亚历克斯

亲爱的吉米,

我想创建使用电脑相对较小的内存大NIfTI文件。看来我可以同时处理几片,然后再处理collapse_nii_scan做到这一点。这似乎有点笨拙,我想这也认为,倒塌的部分是一个时间序列,而不是拼接起来一个大体积?有没有流片成NIfTI文件,假设我可以提供从一开始就有些头信息的工具吗?

谢谢,
亚历克斯。

文东王

谢谢你的留言,吉米。
首先,对不起,我没有把它写在我以前的帖子更清晰。ImageJ的是NIH一个免费的(http://rsbweb.nih.gov/ij/index.html),其在医学成像有界众多用户。ImageJ的有一个插件(http://rsbweb.nih.gov/ij/plugins/index.html),可以打开/保存在分析格式的图像。我试图挽救MRI图像,利用Matlab脚本时的一些处理之后,在分析格式,并查看它使用ImageJ。
我想你的非常好的例子,它工作得很好。然而,为什么ImageJ的无法读取输出文件它仍然是我不清楚。使用数据类型= 64,ImageJ的可以读取该文件,但这是不正确的数据类型和对面有像正弦调制。
谢谢。
文东

吉米沉

喜文东:

首先,感谢你的评价。

您的脚本是正确的,但我没有得到任何错误消息。你说:“......试图读取使用ImageJ的test.img,...”。它是一个错字?

这里有一个例子,我测试过,你可以复制过程:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
IMG1 =兰特(3,3)
IMG2 =兰特(3,3)
myMat =络合物(IMG1,IMG2)
数据类型= 32;
ANA = make_ana(myMat,[],[],数据类型);
保存“untouch”nii(ana,'C:\ Data\test');
ana=load_untouch_nii('C:\ Data\test')
NII = load_nii( 'C:\数据\试验')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

测试上述脚本时是否收到错误消息?

吉米

文东王

嗨,吉米:
我试图挽救使用脚本分析格式的2D comlpex矩阵(MRI图像):
数据类型= 32;
ANA = make_ans(myMat,[],[],数据类型);
保存“untouch”nii(ana,'C:\ Data\test');
当试图读取使用ImageJ的test.img,它给了错误消息“数据类型32不支持”。万博1manbetx
是因为我没有正确使用脚本吗?
谢谢。
文东

吉米沉

嗨玛塔:

你是如何创建NIfTI文件?下面是是可再现的一个例子:

NII = make_nii(兰特(91,109,91)* 255);
MAX(nii.img(:))
save_nii(NII 'mynifti.nii')

正如你所看到的,体素的最高值永远不会设置为1,你可以打开“mynifti.nii”与任何兼容NIfTI工具。

请随意问任何问题。

吉米

M变量

你好。

该计划是伟大的,但我似乎已经创造与此程序NIFTI文件有问题。The created NIFTI files often are completely blank with only the highest value pixel set to 1. This can be sorted by changing the scale of the inout matrix (i.e. multiplying all the values by 100), but it is hard to determine what the right scaling is for all images when I don't know what the mechanism behind this error is.

你有什么想法可以帮助你吗?

非常感谢,
玛尔塔

吉米沉

嗨,普拉蒂普:

加载图像文件时,例如:
NII = load_nii( 'yourimg.nii')

nii.hdr.dime.pixdim(2:4)将是宽度,高度和体素的深度。

如果您有view_nii(NII)查看,点击菜单“查看”,然后单击“图像信息”中,“体素大小”是宽度,高度和体素的深度。

由于这两种分析与NIfTI图像应该对所有体素相同的体素尺寸的图像中,最大和最小尺寸应该是相同的。

体素到原点的距离可以通过减去“[XYZ]在原点”的值和“[XYZ]在十字线”的值来获得。对于距离原点以毫米为单位的距离,因为“[XYZ]在原点”的值是[0 0 0],所以您可以只读取“[XYZ]在十字线处的值”。

请随意提出更多问题,

吉米

嗨吉米,

我们怎样才能找到使用工具的3D图像.nii最大和最小的深度,宽度和高度,假设图像是在RAS方向是什么?

此外,使用这个工具,我们可以找到原点的像素的距离?请给一些这方面的暗示。

我使用的是现在的图像是“avg152T1_RL_nifti.nii”和“avg152T1_LR_nifti.nii”从http://nifti.nimh.nih.gov/nifti-1/data.

谢谢,
普拉。

吉米沉

嗨克里斯:

感谢您的反馈意见。我有固定的问题。相反,如果使用nii.img =双(nii.img);我只作了显示的双三个2D图像。如果原始的类型是UINT8,我会离开它是。

再次感谢您的反馈。我刚刚上传了新程序,你下周可以在这里看到。

吉米

吉米沉

嗨皮耶特:

这是因为你把我的默认的“宽容”,这使得10%的失真的优势。你可以使用我的“reslice.m”程序,并指定体素大小,正是你想要的。

Jiimmy

彼得Vandemaele

嗨吉米,

你可以忽略我刚才的问题,我看过你的网站上的FAQ ...
我希望你有时间更新/扩展这个程序,它非常有用。

彼得

彼得Vandemaele

嗨吉米,

我在使用你的工具时遇到了一些问题。

当我用load_nii_hdr加载一个4-D nifti文件头并将其与使用load_nii的.hdr字段的头进行比较时,会得到不同的pixdim值:
load_nii_hdr:

nifti_hdr=加载nii_hdr(“nifti_文件”);
nifti_image=load_nii('nifti_file');

nifti_hdr.dime.pixdim为[1 4.5313 4.5313 4.5000 200 1 1 1]
nifti_image.hdr.dime.pixdim为[1 4.5212 4.5312 4.4900 200 1 1 1]

所述pixdim数组的差为[0 0 0.01 0.01 0 0 0 0]

我是发现了虫子还是脑子里有虫子?

彼得

嗨,吉米

似乎有使用数据时,即在单一的格式(原生?)是一个问题view_nii。我在MATLAB提示:当我切换到“插补关”,并在面板中单击其中一个移动的十字线,其他面板拿到空白,我看到“CData的必须是双层或UINT8 ..警告”。我可以做这样的事情解决这个问题:

nii.img =双(nii.img);

没有其他问题了,到目前为止,这么多的感谢不错的软件!

克里斯

嗨,吉米

我有一个关于许可证的问题。在MATLAB前端说,这是BSD许可证,也是如此你LICENSE.TXT。然而,一些文件(包括load_nii.m和save_nii.m)包含线

%该文件的一部分被复制,并从下GNU许可修改
通过CNSP研制%MRI_TOOLBOX在弗林德斯大学,澳大利亚

在我看来,这些文件也应该在GNU许可下分发。你能澄清一下吗?抱歉给你添麻烦了。

克里斯

吉米沉

嗨,麦迪:

是的,用我的工具很容易做到。步骤如下:

1.负载NII文件;
2。查找未使用的强度级别。如果不可用,添加另一个级别;
3.查找连续切片中的圆和圆的索引;
4.标记它们与您在步骤2中选择的价值;
5.创建一个颜色表文件;
6.查看大脑圈;

如果您仍然有问题,创建圆圈,请上传2 nii文件到您的ftp服务器。第一个nii文件应该是原始卷,第二个应该是带有初始圆的卷。请告诉我你到底想要画什么样的圆,你想要画什么颜色的圆。然后我会用包含圆圈的修改过的nii来回复你。

吉米

马迪

嗨吉米,

很好的作品,而且非常有用!我很高兴知道我是否可以用它来处理我的具体案件。

甲棒状观察室,我们在颅骨节目已经插入了如在一些MRI的初始切片的圆。我想要做的是项目圆的确切轮廓到其他一些更深的片,所以可以发现,究竟在何处室就在于连续切片的投影。从而,要被插入如果棒状室都将被包围的区域更内侧也可以找到。简单地说,它是像重叠特定直径和位置的圆到每个连续的切片。

我试着用保存为jpeg / .FIG格式圈内view_nii功能做起来,给人物手柄和国家信息基础设施,使用视图功能的帮助部分的说明。但我曾与人物属性的麻烦,尤其是功能“设置”。我得到了几乎每一个人物属性的错误,在程序行数291从“菜单栏”开始。我在MATLAB初学者。实际上,我是惊讶,我可以使用其他功能,这就是为什么我说,你的文件是如此的人性化。我会很高兴知道我怎么能去这样做?

总而言之,我只想知道,如果有一种方法可以把一个圆(给定它的半径和坐标位置)绘制到连续的切片上。

吉米沉

嗨妮可:

以下是AC原点的定义:
http://en.wikipedia.org/wiki/Anterior_commissure

为了使用“make_nii.m”,你已经有了一个3D矩阵,你只能通过你的眼睛告诉,而不是任何转换的AC起源。

因为由“make_nii.m”所产生的数据是在RAS取向,负的z坐标是向下的,即Z坐标是从劣于高级。

吉米

尼克尔

嗨吉米,

我很抱歉地重复我的问题,但AC起源的条目仍不清楚我的,主要是因为我不知道什么是“AC原产地”的意思。

现在我知道,体素被计算(不毫米的位置)。现在,是它有问题的起源相关的X,Y,Z在大脑切片的板的偏移量(即,在扫描过程中定位时切片偏移),或者是它的切片本身的板坯内的来源?我相信是前者。

如果是前者,那么我不知道为什么它是相对于IMG(1,1,1),而不是平板的总体偏移。我有我的mm的读取,相位编码和切片方向偏移。可我只是将这些值转换成体素的数量?

最后,z坐标向上负,或负向下?(即更优异的片会具有更大的负z坐标不是更劣切片)

作为一个方面说明,我只使用make_nii和save_nii,然后以分析FSL数据。

希望我做了这个时候我的困惑更清晰。谢谢你的帮助,

尼克尔

吉米沉

嗨妮可:

第一个:“make_nii.m”中的“origin”参数是体素,相对于“img”参数的第一个体素,即img(1,1,1);

第二:这将是更清楚,如果我用一个例子来说明这一点:

IMG = 125:249;IMG =重塑(IMG,[5,5,5]);
nii=使nii(img,[1,1,1],[3,3,2]);
view_nii(NII);

是的,我们知道AC产地手段毫米[0 0 0]。但是,你必须告诉NIfTI数据哪里是你[0 0 0]毫米,所以其他人也能知道,当他们打开NIfTI数据。因此,参数“起源”只能在素以找到您的3D矩阵是AC原产地的确切位置来表示。

吉米

尼克尔

嗨吉米,

您的代码是非常有益的给我;我一直在使用make_nii和save_nii。我的问题是关于对make_nii交流起源。首先,我相信坐标应该是毫米,像素大小。然后,我在想,如果AC原点是指中央切片的位置。如果是这样,为第三坐标(指轴向切片),确实负(例如-20)指示向上平移(即更优异的切片)?这是我已经习惯了该公约,但我不知道它适用于make_nii为好。

谢谢!

尼克尔

这些是阅读和写作NIfTI伟大的工具 - 我所有的计划的核心部分,并很好的支持。万博1manbetx谢谢。

西蒙·罗宾逊

玛丽安娜Jakab

请取出下面链接中的“:”,这会将您带到一个无效页面。

下NIfTI网站提供了两个示例数据集的http://nifti.nimh.nih.gov/nifti-1/data: “avg152T1_LR_nifti.nii” 和 “avg152T1_RL_nifti.nii”。
http://nifti.nimh.nih.gov/nifti-1/data是一个非常好和信息丰富的网页。
谢谢。

所以是

MMEI rezk

斯特凡Haufe

阿萨夫RMATHALBazon

经过粗略的检查,这似乎是一个很好的工具。

粗体标记

我经常用这个。我喜欢摇滚。

吉米沉

斯特拉,

下面是正确答案:

一。“nii_002”是正确的。原始.hdr.hist.originator“是[256 0 0 0 0],因为“t1_icbm_normal_1mm_pn0_rf0”是Analyze 7.5格式,“001”是NIfTI格式,没有明显的“originator”字段。如果你还不清楚,请告诉我。

2.“nii_01.hdr.dime.xyzt_units”仅仅是一个信息字段。当它是1,XYZ是“米”;当它为2时,XYZ是“毫米”;当它是3,XYZ是在“微米”;当它是0,某某单位是未知的,只能由笔者来解释。我不知道为什么这个领域帮助你,不知道是否是正确的方法。

3.这是非常奇怪的是,你有 “[-2 -2 -2 0 0]” 为 “nii_002.hdr.hist.originator”。我需要为了看两个“t1_icbm_normal_1mm_pn0_rf0.img / HDR”和“001.img / HDR”,进一步回答了这个问题。请你将它们上传到您的FTP站点,并给我的链接?

郑秀莲

1.我已经手动设置nii_01.hdr.dime.xyzt_units = 2;它可以通过freesurfer现在被转换。谢谢!
还原最初的图像分析与大端产生,而这个工具箱写与小尾数新的分析文件2.其它问题可能是由于。我不知道这件事,以及如何解决它。

斯特拉郑

对不起的。

2.在niiߒ002,发起人在niiߒ002。原始.hdr.hist是[256 0 0 0 0],而在nii_中是[-2-2-2 0 0]。hdr历史.

斯特拉郑

亲爱的大家:

我在使用这个工具箱时发现了以下问题。
数据:从brainweb下载t1_icbm_normal_1mm_pn0_rf0.rawb,然后转换为分析格式(t1_icbm_normal_1mm_pn0_rf0.img和t1_icbm_normal_1mm_pn0_rf0.hdr)(不带*.mat)。

下列程序适用于:

nii_001 = load_nii( 't1_icbm_normal_1mm_pn0_rf0',[],1)
save_nii(nii_001, '001',1);
nii_002=加载nii('001',[],1)

预计头信息应该是一样的,但有以下区别:

1.在nii_001,发端在nii_001.original.hdr.hist是相同nii.hdr.hist为[0 0 0 0 0]。

2.在NII002中,发起人在NII001中。原始.hdr.hist是[256 0 0 0],而在nii_001中是[-2-2-2 0 0]。hdr历史.

3. MRIcro所示的t1_icbm_normal_1mm_pn0_rf0.img的原点为[0 0 0],在MRIcro所示001.img的原点为[2 2 2]

4. rot_orient = [],flip_orient = []中nii_001.hdr.hist和nii_002.hdr.hist,而不是在它们的原著头。

5个。在FreeSurfer中将001.img转换为*.mgz时,错误消息如下

mri_convert ./orig/001.img ./orig/001.mgz
正在从./orig/001.img读取。。。
信息:作为两个文件NIFTI读取
nifti1Read():未知空间单位0 in./orig/001.hdr

非常感谢您的帮助,如果有人可以帮助解决这个问题。

最好的祝福,
斯特拉,

SCE,南阳Technoligical大学
新加坡,

郑秀莲

我用过的分析图像读写的最好的工具。非常感谢您的贡献和分享。

宁曹

(可能的)错误报告:

一个好的工具箱加载,保存和查看分析MR图像。感谢您的时间来提高它的时间。

我只是想在20070426版报告可能的错误。

当观看使用view_nii中,“在十字准线值”和“在光标值” a四维图像总是显示第一三维体积的值。

view_nii.m L3036,代码 'imgvalue =双(IMG(下垂,COR,AXI));'使得imgvalue总是第一3D体积的价值。

阿巴斯卡德尔

一个在MATLABe中查看Nifti格式文件的好工具箱,特别是当你在FSL中进行处理时,你需要在MATLAB中进行解释
多谢

杰夫

读取动态分析文件的最佳实用程序

[R黄

嗨吉米,

你的软件是非常有用的。非常感谢您的超值优惠。

能否请你说明(1)如何覆盖2个或3其他图像组合在一起,(2)如何选择不同的门槛?

提前谢谢

rhuang

克雷格·汉密尔顿

非常有用的,做得很好。如何对复杂数据类型的万博1manbetx支持?

吉米沉

scl_slope如何影响DATA_TYPE?

嗨Ged:

感谢您的网址你送我。处理“scl_slope”的方式乔纳斯是图像数据类型转换为“双”,这是有道理的,虽然NIFTI文档不指定(见下文URL):http://nifti.nimh.nih.gov/nifti-1/documentation/nifti1fields/nifti1fields_pages/scl_slopeinter.html

我修改了“xform.m”。因此,将在“scl_slope”中的情况下的图像数据,以“双”转换。我更新这个文件,以MATLAB中央文件交换,并NIFTI_20060307很快就会出现在那里。

再次感谢您的宝贵意见,

吉米

- - -原始信息 - - -

嗨吉米,

谢谢你回来找我。不幸的是,在这种情况下肯定有其他问题,因为Matlab中的图像只有值0或1,而在FSLview或SPM中查看的图像的值范围在0和1之间,图像类型是uint8。

最好,
GED。

吉米沉

如何从NIFTI HDR原始信息?

嗨Ged:

非常感谢您的输入。

实际上,这两个“scl_slope”和“scl_inter”参数已正确
读取并施加到输出NIFTI结构的“IMG”变量(见
“xform_nii.m” 文件):nii.img = scl_slope *双(nii.img)+ hdr.dime.scl_inter;

之所以显示“hdr.dime.scl_slope”零是一个功能我
包。它表示“IMG”变量已被修改。您
也能找到hdr.hist.qform_代码“和”hdr.hist.sform U代码“将是
经过适当的仿射变换后设为零。

HDR =“HDR”的原始值可以很容易地发现
load_nii_hdr(文件名);你应该有正确的值(0.003922)那里。

吉米

- - -原始信息 - - -

嗨吉米,

我发现你的工具箱很有用,但我有一些
问题与存储在UINT8 .nii与缩放因子的一些数据。
数据出现在负载作为二进制图像,并且值
nii.hdr.二聚体.scl_斜率为零,而不是正确的值
(0.003922),我可以看到使用例如SPM5或avwhd从FSL。

非常感谢你的帮助,

GED。

吉米沉

嗨,亨利:

这是一个高级功能,它已经包含在工具箱中。

以下是使用此功能的简要指南:

1.使用“ANA = load_nii(ana.img)”你的分析图像加载到“全日空”结构,并确保变量“ana.img”要么是在“单”或“双”。如果没有,使用步骤2将其转换。

2。转换变量“ana.img公司“要“单曲”,需要使用”make_nii“命令:“ana=make_nii”(ana.img公司, 全高密度脂蛋白二聚体.pixdim(2:4),ana.hdr.hist公司。发起人(1:3),16“。

3.使用“THRESH = load_nii(thresh.img)”你的阈值的图像加载到“脱粒”结构,并提取其价值和索引“选择”的结构:“opt.setvalue.idx =找到(thresh.img);opt.setvalue.val = thresh.img(FIND(thresh.img));”。你可以看到更详细的命令使用“的setValue”:“帮助view_nii”。

四。将其他值添加到“opt”结构:选择命令='初始';选择useinterp=0;“。

5.剧情阈值化的图像与由命令垫层分析的图像:“view_nii(ANA,优化);”。

6。不要点击“interp on/off”菜单。它不能正常工作。如果要查看插入的,请使用:“选择useinterp=1;取而代之的是view_nii(ana,opt)。

请让我知道,如果你可以画出你的限图像与垫层分析的图像。

吉米

- - -原始信息 - - -
我一直在使用Nifti MATLAB工具箱最近,想知道是否有可能使限图像的叠加到分析的图像。实际上这将意味着,阈值化的图像的所有值为0的像素应该是透明的,使得底层功能图像可以看出。

非常感谢您的帮助提前和制造这种有用的工具可用!

谨上,

亨利Lütcke

生物医药核磁共振Forschungs股份有限公司

美国马克斯普朗克生物物理化学研究所

上午Fassberg 11

37077哥廷根

德国

杨智

吉米沉

阿妮塔你好:感谢您的反馈意见。不过,我检查,但没有发现任何问题加载或保存与非整数数据类型,NII文件。例如,你可以下载一个典型NIFTI数据(zstat1.nii):http://nifti.nimh.nih.gov/nifti-1/data此文件是单一(float32)数据类型。您可以使用:nii=load_nii('zstat1.nii')输出到nii结构,并使用:save_nii(nii,'新文件.nii'). 如果你还有问题,请发邮件给我,让我看看你的资料。

梅艳芳d

当我将nii文件输出为int时,这个程序运行良好,但是当我将nii文件输出为unint时,图像会失真。

更新

1.27.0.0条

1.多亏了反馈,并从西方大学克里斯McNorgan的贡献,在rri_orient.m现在有定向矢量可选参数。
2。新程序pad_nii.m与clip_nii.m一起提供。请参阅中的示例常见问题解答.pdf.

1.26.0.0条

由于体素大小可以小于0,我将在reslice_nii.m中将默认体素大小从原始NIfTI头中的舍入最小体素大小更改为原始NIfTI头中的绝对最小体素大小。这个修正了重新上钩的错误。

1.25.0.0

添加了一些新功能并修复了一些错误。有关更多详细信息,请访问:

http://www.rotman-baycrest.on.ca/~jimmy/NIfTI

1.24.0.0

由于从开普敦大学马修Bickell的反馈,一个bug是固定时毫米单位编辑体素。

1.23.0.0条

“make_nii.m”现在能够自动检测单个和双复合数据类型。

1.22.0.0

修正了昨天的发布

1.21.0.0

现在您可以使用make-nii/make-ana程序创建RGB-NIfTI/ANALYZE文件结构。

1.20.0.0

提供新程序“load_untouch_header_only.m”和“save_untouch_slice.m”。支票http://www.rotman-baycrest.on.ca/~jimmy/NIFTI更多细节。

1.19.0.0条

新功能是在“view_nii”程序,让你编辑体素值或一组地标加入。同时也感谢来自罗马的代码,加快“load_untouch_nii_img”节目时,在一次不加载切片。

1.16.0.0条

1.固定在view_nii.m覆盖问题,所以最小/最大的颜色现在是显示正常。
2.包含在一个覆盖示例http://www.rotman-baycrest.on.ca/~jimmy/NIfTI/FAQ.htmhttp://www.rotman-baycrest.on.ca/~jimmy/NIfTI/examples.txt.

1.14.0.0条

由于罗马Fleysher从叶史瓦大学的反馈,我加载四元数形式NIfTI数据时,修正了一个错误。

1.13.0.0

多亏了荷兰雷德布大学的伦勃朗,我做了两个小改动来处理异常。

1.12.0.0条

修正了“折叠扫描”中的错误,以折叠分析格式数据。

1.11.0.0条

1.“load_untouch_nii“现在支持加载万博1manbetxNIfTI或Analyze格式的特定切片。
2。MATLAB要求我删除任何文件中的任何“在GNU许可下”短语。

1.10.0.0

“load_untouch_nii”现在支持加万博1manbetx载NIfTI或Analyze格式的特定切片。

1.9.0.0条

虽然可以使用“make_-nii/save_-nii”命令对将N维矩阵保存到NIfTI文件中,但也可以使用“make_-a N a/save_-untouch_-nii”将3D矩阵保存到分析文件中,以便与某些仅分析程序兼容。

1.8.0.0条

修正了几个错误,并张贴信息表:

http://www.rotman-baycrest.on.ca/~jimmy/UseANALYZE.htm网站

1.7.0.0

刚刚从MATLAB收到警告:“如果我没有我的授权与BSD的代码,我的代码将被删除。”

1.6.0.0

由于从美国匹兹堡大学凯特Fissell的反馈,变换矩阵M将不再被save_untouch_nii.m保存。

1.5.0.0

1.由于从南加州大学,在我的消息显示的一个错字布莱斯威尔金斯的反馈是固定的。

2。多亏康奈尔大学的阿希什·拉吉的建议,对“expand-nii-scan.m”进行了修改,并添加了“collapse-nii-scan.m”。

1.4.0.0

现在关于“make_nii.m”缺省数据类型如下代替FLOAT32的“IMG”矩阵中的数据类型。

1.3.0.0条

在读取文件时修正了fliplr.m的错误。

1.2.0.0

更新未显示

1.1.0.0

一。在MATLAB 7及以上版本中正确处理带外文字符的fread/'*char'问题。重新排序“reslice_nii.m”程序的输入参数;

1.0.0.0

扩展加载/保存/使程序到N-尺寸,其中N可以是从3至7为NIfTI数据和从3到4,用于分析数据。

新增“load_untouch_nii.m”和“save_untouch_nii.m”节目对。见上文和FAQ在详细说明http://www.rotman-baycrest.on.ca/~jimmy/NIfTI/FAQ.htm.

增加了对“reslice_nii.m” A“详细”参数提供了一个机会来禁用进度显示。

1.新的程序reslice_nii.m被提供给执行任何三维仿射变换,并且生成各向同性图像。2.新的程序flip_lr.m被提供用于L-R翻转。请查看更多详细信息:http://www.rotman-baycrest.on.ca/~jimmy/NIFTI/#update

由于霍尔格克劳斯从海因里希·海涅大学杜塞尔多夫,在“mat_into_hdr.m”的错误时,包含的路径输入文件已定的反馈。

添加了加载和保存NIfTI头扩展的新功能(添加了“load_nii_ext.m”和moified“save_nii.m”),并修复了加载qform数据时的错误,该错误于2008年2月1日引入。

感谢来自梅奥杰夫·冈特谁建议显示一条警告消息,而不是抛出一个错误,一个非常斜的形象。特别感谢他的应用体素大小调节之前检查qform旋转的代码。

由于曹宁从UKY谁报告,并固定在view_nii.m文件中的错误。请查看更多详细信息:http://www.rotman-baycrest.on.ca/~jimmy/NIFTI/#update

1.修改save_nii命令,因此早期版本的SPM也可以用正确的鼻祖打开它。2.修改http://www.rotman-baycrest.on.ca/~jimmy/NIFTI/FAQ.htm有几个类别

一。自动将SPM早期版本的.mat文件中的仿射矩阵集成到.hdr结构中。2。修正了“mat_into_hdr.m”中的错误。请查看更多详细信息:http://www.rotman-baycrest.on.ca/~jimmy/NIFTI/#update

1.在“view_nii”窗口的“文件”菜单中添加“作为...保存显示的图像”。2.删除整数的舍入为“hdr.hist.originator”。请检查的详细信息:http://www.rotman-baycrest.on.ca/~jimmy/NIFTI/#update.

改进的数据缩放处理,并固定在计算原点位置的错误。详细信息将公布在http://www.rotman-baycrest.on.ca/~jimmy/NIFTI

添加“mat_in to_hdr.m”脚本,将ANALYZE 7.5spm重新定向的图像文件转换为NIfTI格式,并将其matlab文件中的仿射矩阵集成到头文件中。

Due to round-off of quaternions (quatern_b/c/d), sqrt(1.0-(b*b+c*c+d*d)) may become complex because value inside sqrt may go below 0 (e.g. -1e-6). Instead of complex, now 0 will be used in this case. Thanks to Jeff Gunter who reported this issue.

感谢来自WUSTL的Michael Harms,他报告并修复了加载和生成RGB数据时的一些错误。他还添加了保存AnalyzeDirect兼容RGB数据的代码。

1.从杰夫“unxform_nii”包括提供把图像方向恢复到原来状态的一个选项。2.“expand_nii_scan”被修改,使得扩大后图像文件将用4位数字被附加。

1.在将部分置换图像RAS方向的错误。它现在已修正。感谢来自梅奥诊所的杰夫·冈特谁报告这个错误。

2。hdr.dime.glmax公司如果高密度脂蛋白二聚体scl_斜率是非零的。

一些图像数据的大小不正确比“hdr.dime.dim”字段中指定什么大。所以它造成的问题负载图像数据。图像数据现在总是根据被在其标头中指定的大小加载。

它现在同时支持万博1manbetxCOMPLEX64和COMPLEX128数据类型。

它现在同时支持万博1manbetxCOMPLEX64和COMPLEX128数据类型。

"nii.hdr.scl_斜率“将采取”平均hdr投资回报率“值,这是一个非分析7.5字段,但仅由SPM使用。

如果使用“scl_slope”,图像数据类型将转换为“double”。

在下面设置“旋转方向”和“翻转方向”字段hdr历史“清空旧的ANALYZE 7.5格式,或者如果NIFTI数据已经处于RAS方向。

1.修正了到重排序“pixdim”和“发件人”字段为一些NIFTI数据。2.增加了“rot_orient”和“hdr.hist”下的“flip_orient”字段,如果NIFTI数据到RAS定向系统的包化妆转换。

执行sform / qform变换时,修正了一个错误,以重新排序“pixdim”字段。感谢来自梅奥诊所的杰夫·冈特谁报告这个错误。

1.定出冠状&矢状视图的初始显示的错误
2.增加了一个功能扩展的多扫描NIFTI文件分成多个单扫描NIFTI文件

NIFTI_20051128从MATLAB版本R11测试,R14在PC和Linux上

更新代码

对于RGB24数据值修改的显示格式。

菜单栏被添加到图像转换成标准的RAS定位和显示图像信息。

更新的帮助文件“view_nii_hlp.txt”。

更新的帮助文件“查看_hlp.txt文件"

它现在同时支持万博1manbetxnew_RGB(RGB三元组)old_RGB(从AnalyzeDirect公司使用的分析6.0)。帮助文件“view_nii_hlp.txt”也被修改。

它现在同时支持万博1manbetxnew_RGB24(RGB三元组)和old_RGB24(通过分析从AnalyzeDirect公司6.0使用)。帮助文件“view_nii_hlp.txt”也被修改。

我没看到“xform_nii.m”在文件交换已更新。于是,我与另一名拉链再次上传。

其主平面稍微偏离笛卡尔坐标的图像也将被加载。详见“xform_nii.m”。