原始 MediaWiki 页面

我知道编辑这个网站吗?
the Fiji distribution of ImageJ本页介绍与 the Fiji distribution of ImageJ 相关的内容。点击徽标查看详情。

米吉

自迁移出 MediaWiki 以来,本页内容尚未经过审查。如果您愿意帮忙,请查看帮助指南

This page covers the original compatibility layer for running ImageJ within MATLAB.
The current library for ImageJ/MATLAB integration is ImageJ-MATLAB; it has many advantages over this legacy project.

MIJ是一个java包,用于在MATLAB和原始ImageJ之间交换图像。它由 Daniel Sage(瑞士洛桑联邦理工学院 (EPFL) 生物医学图像组 (BIG))和 Dimiter Prodanov(比利时布鲁塞尔天主教鲁汶大学 (UCL) 生理学和药理学系)撰写。它允许在 MATLAB 中启动 ImageJ 实例并与其来回交换图像。它利用了 MATLAB 的用户界面是用 Java 编写的这一事实。

为了您的方便,Jacques Pecreaux 和 Johannes Schindelin 编写了 Miji.m,这使得使用 Fiji 以及斐济组件在 MATLAB 中提供的库和函数变得超级容易。只需通过 FileSet Path… 确保 Fiji.app/scripts/ 目录位于 MATLAB 的搜索补丁中(在 Mac 上,文件选择器不允许您选择 .app 包内的目录,因此您必须使用 MATLAB 命令addpath('/Applications/Fiji.app/scripts'))。然后一个简单的

Miji;

将在MATLAB内启动斐济。

There are over 300 jar and plugin files that ship with Fiji, and depending on your operating system and configuration, you may run into too many files open errors (for example, on macOS MATLAB seems to use the default soft limit for open files, which is typically 256). If this happens you will need to increase the open file limit per-session or system-wide. See this guide for helpful instructions on doing so for macOS and Linux.

开始使用

使用MATLAB作为处理核心并将结果发送到斐济

此处提供了如何使用 MIJ 的示例:

MIJ.run('Embryos (42K)');
I = MIJ.getCurrentImage;
E = imadjust(wiener2(im2double(I(:,:,1))));
imshow(E);
MIJ.createImage('result', E, true);

如果您收到错误消息,指出无法找到某些与插件相关的类,请使用 HelpUpdate Fiji 更新您的斐济!

运行 ImageJ 命令

在 ImageJ 中,您可以record macros,这是使用该程序的最强大方法之一。大多数记录的语句将如下所示:

run("Command", "key1=7 key2 key3=[C:\\Documents and Settings\\Fiji\\Test.png]");

run()方法的第一个参数是菜单项的标签,它标识要运行的插件(在本例中,标签将显示为:Command)。

第二个参数是一个字符串,其中包含用户通过 ImageJ dialog 指定的值。每个值都由标签标识,除了复选框(例如上例中的 key2)之外,它们都有值。如果值包含空格,则需要将值括在方括号中(例如上例中的 key3)。

请注意,反斜杠是所谓的“转义字符”,即它可用于插入特殊字符,例如换行符或制表符。要插入普通反斜杠,必须重复它(如 key3 值中:C:\\Documents and Settings 变为 C:\\\\Documents and Settings)。

您可以通过 MIJ 以稍微修改的形式使用这些记录的语句:

1.将双引号替换为单引号

  1. run 名称前添加 MIJ.

上面的例子可以这样写:

MIJ.run('Command', 'key1=7 key2 key3=[C:\\Documents and Settings\\Fiji\\Test.png]');

注意:在MATLAB中,MIJ.run()语句不一定需要用分号结束,因为它不返回任何内容。但是,对于 MIJ,最好以分号结束所有语句:某些函数会返回图像,如果语句不以分号结束,则会使输出混乱,并且需要很长时间才能打印。

打开图像

通常,使用 MIJ 的最佳方法是use ImageJ’s macro recorder。然而,这个过程在打开图像时不起作用,因为 ImageJ 简单地记录:open("/path/to/image.png");

相反,我们需要记住 run() 语句是如何构造的,并为 Open... 命令模仿它:

MIJ.run('Open...', 'path=[C:\\Documents and Settings\\Fiji\\Test.png]');

使用 Fiji 作为 MATLAB 的 3D 查看器

fex上发布了一组为MATLAB用户制作的演示,介绍如何安装和使用斐济作为MATLAB的可视化工具。

获取帮助

要获得有关可用功能的快速帮助,请致电

MIJ.help

进一步的描述和示例代码可以在the home page for MIJ中找到。最终,可以找到有关 MIJ 类的详细文档 here(如果您有一点 Java 经验,则适合)。

Mij splash

替代方案:不启动 Fiji GUI

如果你想在不启动斐济图形界面的情况下使用这些功能,只需调用

Miji(false);

链接

一个相关项目是MatlabControl,它允许您从 Java 中方便地启动MATLAB