gpt4 book ai didi

matlab - 如何从 Matlab 生成有效的 HyperStack ImageJ 数据文件?

转载 作者:行者123 更新时间:2023-12-02 08:10:38 26 4
gpt4 key购买 nike

ImageJ HyperStack 具有数据类型(8-32 位)、宽度、高度、 channel 数、切片数和帧数。它们代表 5D (XYCZT) 数据集。 ImageJ 将它们存储为多页 tiff 文件,其中存储了 channel 数乘以切片数乘以帧数的 2D (XY) 图像。第一张图片似乎有两个自定义标签,ID 分别为 50838 和 50839。

我想创建包含来自 Matlab 的 5D 数据的 tif 文件,ImageJ 可以将其读取为有效的 5D HyperStack。

我可以使用 imwrite(matrix, file, 'WriteMode','append') 在 Matlab 中的多页 tiff 文件中存储许多 2D 图像,但 ImageJ 会将其读取为 3D (XYZ)仅图像堆栈。不包含有关 channel 、切片和帧的信息。

我想我可以查看 ImageJ 源代码以找出它们存储这些缺失信息的位置,然后使用 Matlab 的 LibTIFF 包装器重新创建 ImageJ 的元信息。但是,如果您已经知道该怎么做或者是否有其他选择,我很想听听。

最佳答案

我还认为 Bio-Fomats 是唯一的方法。但后来我意识到斐济的 ImageJ-MATLAB 允许您将 MATLAB 数据传递给 ImageJ。然后,你可以用ImageJ保存图片,这样ImageJ就可以打开了。

问题是创建 ImageJ-MATLAB 的人(或只有一个人?)在创建从 MATLAB 到 ImageJ 的路径方面做得很好,但他们似乎并没有费心优化行为。 ImageJ-MATLAB 的 IJM.show('name') 有很多隐藏的或未记录的限制(我大量更改了 the documentation ,所以现在应该更清楚了)。最终,我开始写一个包装函数

ijmshow

https://github.com/kouichi-c-nakamura/ijmshow

示例 MATLAB 代码

你可以用 4 行来完成。

addpath '/Applications/Fiji.app/scripts' % depends your Fiji installation
ImageJ

imp = ijmshow(I,'YXCZT') % I is 5D array of uint8 or uint16
% the second argument determines which dimension represents what
% imp is a 5D hyperstack

ij.IJ.saveAsTiff(imp, 'image1.tif');

您可能需要在保存前设置每个 channel 的显示范围。

添加于 2018 年 5 月 7 日

copytoImagePlus 提供了比上面的 ijmshow 更好的解决方案(你可以使用相同的语法),因为 copytoImagePlus 不依赖于 基础工作区中的 IJM 变量。

https://github.com/kouichi-c-nakamura/copytoImagePlus

addpath '/Applications/Fiji.app/scripts' % depends your Fiji installation
ImageJ

imp = copytoImagePlus(I,'YXCZT') % I is 5D array of uint8 or uint16
% the second argument determines which dimension represents what
% imp is a 5D hyperstack

ij.IJ.saveAsTiff(imp, 'image1.tif');

另请参阅创建 ImageJ2 ImgPlus 对象的 copytoImgPlus

https://github.com/fiji/fiji/blob/master/scripts/copytoImgPlus.m

关于matlab - 如何从 Matlab 生成有效的 HyperStack ImageJ 数据文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47438678/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com