Matlab读取存储多维Tiff图像(hyperstacks)

Matlab读取存储多维Tiff图像(hyperstacks)

Matlab-Image 插件使用

介绍

科研中经常要使用Matlab处理显微镜图像。这些图像多为多维(XYCZT),读取与写入多为不便。经查阅后发现此问题已有解决方案,特分享如下。

在Fiji上安装ImageJ-Matlab插件

Matlab读取存储多维Tiff图像(hyperstacks)_第1张图片

将脚本添加至路径

下载copytoImagePlus.mijmshow.m文件(NAS中share文件夹下)至你的fiji安装路径\fiji.app\scripts

在matlab中添加路径你的fiji安装路径\fiji.app\scripts

Matlab读取存储多维Tiff图像(hyperstacks)_第2张图片

使用

进行操作前先输入ImageJ,会自动打开ImageJ软件

IJM.getDatasetAs('I');读取ImageJ打开的图像为变量名为‘I’的matlab数组

imp = copytoImagePlus(I,'XYCZT');imp2.show();将变量I在ImageJ中打开为变量依次代表“XYCZT”的图片,可替换为‘YXZT’,‘XYT’等等,按照情况改写

imp = copytoImagePlus(I,'XYCZT');ij.IJ.saveAsTiff(imp, 'image1.tif');将变量名为I的matlab数组保存为图片,其中“image1.tif”为保存路径与名称

参考

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

https://imagej.net/scripting/matlab#Running_ImageJ_within_MATLAB

https://ww2.mathworks.cn/matlabcentral/answers/282397-writing-multidimensional-tiff-files-using-imwrite

其他

Matlab中有工具箱MIJ,见网页http://bigwww.epfl.ch/sage/soft/mij/,但是没有内置多张图片处理的method,优点是可以在matlab中执行ImageJ中的宏

你可能感兴趣的:(tiff,matlab,imagej,图像处理)