文件交换

图像缩略图

Mij:在Matlab中运行ImageJ和Fiji

version 1.5.0.0 (12.6 KB) by 圣人
MIJ允许在imagej和matlab之间交换数据以进行图像处理和图像分析
4.8
23个评分

39下载

更新2017年9月26日

视图版本历史

查看许可证

MIJ提供成像软件之间的缺失链接:imagej,fiji和matlab。MIJ是一个Java Package Mij.jar,它提供了在MATLAB阵列中转换图像(2D)和卷(3D)的静态方法。MIJ还允许访问imagej的所有内置函数和imagej的第三部分插件。感谢Fiji Team,MIJ现在与Matlab脚本Miji.m一起使用的超级易于使用,斐济集成在斐济。使用Mij,imagej充当Matlab的图像处理库。
参考
Daniel Sage, Dimiter Prodanov, Jean-Yves Tinevez和Johannes Schindelin,“MIJ:使ImageJ和Matlab之间的互操作性成为可能”,ImageJ用户和开发者会议,2012年10月24-26日,卢森堡。
http://bigwww.epfl.ch/publications/sage1205.html.
更多的信息
http://bigwww.epfl.ch/sage/soft/mij/

安装
1)将mij.jar放入Matlab的java目录(例如:Window Machine 'C:\Program Files\ Matlab \R2009b\java ')。
2)拷贝Matlab的java目录下的ij.jar (ImageJ)。从ImageJ网站获取这个文件:http://rsb.info.nih.gov/ij/
3)扩展java类路径到mij.jar,例如使用Matlab命令:javaaddpath 'C:\Program Files\ Matlab \R2009b\java\mij.jar'。
4)将Java类路径扩展到IJ.jar,例如使用MATLAB命令:javaaddpath'c:\ program files \ matlab \ r2009b \ java \ ij.jar'。
5)运行Matlab命令启动MIJ: MIJ. Start;或MIJ.start(“imagej-path”);

Java源代码
http://bigwww.epfl.ch/sage/soft/mij/MIJ.java

引用

圣人(2021)。Mij:在Matlab中运行ImageJ和Fiji(//www.tatmou.com/matlabcentral/fileexchange/47545-mij-running-imagej-and-fiji-within-matlab), MATLAB中央文件交换。检索

意见及评分(75

李魏

amir mokhtare.

你好,
我在Windows机器上使用MATLAB 2020B指示安装。我将每个文件添加到Matlab包中的JAR文件夹中,但是当我使用“mij.start”命令时,我收到一个错误,说它无法解析名称mij.start。任何人都可以指导我解决这个问题吗?

Justin Migacz.

@Xiaowei张
你好,小伟和约翰。我试图做一个类似的事情,我实现了“调用(…”命令的插件子例程与MIJ。我试图只调用插件子例程,在本例中'bunwarpj.bUnwarpJ_。loadadelastictransform '直接在MATLAB命令提示符中,但它没有工作。你知道可能是什么问题吗?也许我需要在PATH中包含其他内容或调用另一个java命令。我不是很熟悉java编程,所以我承认在这方面我是真正的新手。任何帮助我都将非常感激。谢谢!

埃文·莫里斯

你好,
我正在尝试在我的Mac上的2020B版本上安装这个,我有很多麻烦。我将每个文件添加到Matlab包中的JAR文件夹中,但是当我使用“mij.start”命令时,我收到一个错误,说它无法解析名称mij.start。jar文件是否未正确添加到MATLAB路径?如果是这样,您将在Mac上使用的javaaddPath命令是什么?我尝试使用上面的那个,但这仅适用于Windows机器。谢谢!

晓伟张

@John
你好约翰,最近发现如何处理“呼叫”命令录制在斐济宏。例如:
调用(“trainableSegmentation.Weka_Segmentation.getResult”);
只需复制单个QUO中包含的命令:
>> TrainableSementation.Weka_Segmentation.getResult.
在matlab中为imagej插件执行命令。

并谢谢你这个惊人的包,真的帮助了我很多!

Ivan Bozic.

嗨,谢谢你如何添加插件的伟大解释。我有一个跟进问题,我试图使用“拼接”插件与选项“网格/集合拼接”,我在插件中看到了许多打开的mij中的选项,但它没有找到适当的类,即使在一般imagej它工作。我应该调整一些其他参数吗?

谢谢

丹尼尔

要添加插件:只需将插件复制到ImageJ的“plugins”中,并使用命令MIJ.start('path_to_the_plugins_folder')重启MIJ。在我的机器上,我有一个ij.jar到MATLAB和mij.jar的“java”文件夹,我也创建了一个“插件”文件夹:

> > ls /应用程序/ MATLAB_R2020a.app / java /”
config ij.jar jar jarext macros mij.jar插件

>> mij.start('/ applications / matlab_r2020a.app / java /')
--------------------------------------------------------------
Matlab到ImageJ的接口
--------------------------------------------------------------
更多信息:http://bigwww.epfl.ch/sage/soft/mij/
帮助:MIJ.help
JVM >就开始
JVM>版本:1.8.0_202
JVM>内存总量:265216 Kb
JVM>自由记忆量:116005 KB
ImageJ >版本:1.51
ImageJ>内存:148MB 704MB (21%)
imagej>目录插件:/pplications/matlab_r2020a.app/java/plugins/

卡娅·冯·尤金

嘿!我对这个功能真的很兴奋,我很感激你投入时间。
但是,我有一个小问题;在Matlab环境中为imagej添加插件的方法是什么?具体来说,我需要添加插件Featurej。
谢谢!

凯登华盛顿

你好!我想知道如何使用MIJ.run函数调用嵌套在不同命令中的选项。
也就是叫ROI经理,然后叫“更多”和“多度量”
非常感谢你的帮助!

TJ.

有人知道任何特定的命令将返回X Y和Z像素分辨率从当前的图像金宝搏官方网站

安德鲁•哈里森

imageJ的实例没有加载所安装的插件。如果我使用'system('imageJ.exe &')运行图像,这确实加载了所有的pugins,但不能由matlab控制。

Saila莎玛

如何通过MIJ访问斐济安装的插件?

丹尼尔

此错误消息可能是由于MATLAB的Java虚拟机的旧版本。
>> Mij.Start给我一个错误消息:未定义的变量“Mij”或类“Mij.Start”。
MIJ编译在Java 1.6中,因此Matlab的版本JVM应> = 1.6
要知道您的JVM版本,请输入:
版本-Java.

希拉Shacham.

与jonathan weiss和nicolas有同样的问题

乔纳森·韦斯

像尼古拉斯·哈蒙德(2018年1月9日)一样,我和MIJ之间也有问题。开始给我一个错误消息:未定义的变量“MIJ”或类“MIJ.start”。我已经成功地定义了两个新的java路径,并有我的当前文件夹设置为Matlab的java文件夹,但它仍然不能工作。任何指示将非常感激!

raym.

回复徐磊。
miji.m加载包括IJ.jar在当前程序文件夹中的jar,并优先于您的其他罐子。

雷旭

我想知道为什么我有不同版本的ImageJ当我打开它作为一个独立的应用程序(1.51u)或如果我启动它(1.48v)在MATLAB通过调用Miji。我有ij-1.51 .jar在MATLAB的jar文件夹内,我已经添加了路径到MATLAB的“/toolbox/local”目录内的“classpath.txt”,但很明显,它不是在MATLAB内使用时启动。对于我的理解“mij.jar”不应该干扰ImageJ的版本,或者我错了?有没有人知道为什么我有这个问题,我如何解决它?

法比安沙德特

尼古拉斯Harmand

自从我从Matlab 2016a切换到2017b,它不再工作了(MIJ。start或ImageJ给我一个错误消息)。
此外,我还需要使用填充方法进行数据可视化,我无法使用Mij ...任何提示?

raym.

回复罗海瑞:
这是否需要Java 8的Matlab,而不是7?

raym.

回复Marco Tjioe
2017年9月18日
目前无法使用本网站:
http://javadoc.imagej.net/Fiji/MIJ.html

哈利罗

答复于2017年10月2日和2017年12月5日和6日的Yanqi Wu的帖子。
我已经设法使用图像序列进行操作序列并使用imagej-matlab运行Matlab中的曲目,如下面的两个重要步骤所示。
1)添加imagejb - matlab的更新站点(即http://sites.imagej.net/matlab/)在斐济
-打开斐济,然后选择Help>Update…>Manage Update Sites> imagejb - matlab >关闭>Apply Changes
2)调用ImageJ函数而不是MIJI函数,如下所示

MATLAB javaaddpath“C: \ Program Files \ \ R2017b \ java \ jar \ mij.jar”
MATLAB javaaddpath“C: \ Program Files \ \ R2017b \ java \ jar \ ij - 1.51 - n.jar”

%密稷
% - Miji函数称为ImageJ,但不是斐济。TrackMate在下面不工作
Miji在Matlab中调用的ImageJ。

这是一个调用斐济的函数。调用Fiji后,MIJ.run()
导入图像序列并执行曲目序列的百分比
%的工作。

mij.run(“映像序列......”,“打开= [C:\\用户\\ <<正确的路径>> \\ champedimages0000.bmp] sort”);

MIJ.run(“TrackMate”);

raym.

回复yanqiwu
你将所有的罐子搬到/罐子的子文件夹中,然后解决。

哈利罗

你好,
我遇到了同样的问题,正如Yanqi Wu在2017年10月2日提到的,关于在Matlab中使用MIJI如MIJ.run('TrackMate')执行TrackMate。Matlab命令窗口显示“[警告]类池是空的:忘记调用线程#setClassLoader?”ImageJ显示异常如下:
ImageJ 1.51 r;Java 1.8.0_121(64位);Windows 10 10.0;78MB的1859MB (4%)

java.lang.IllegalArgumentException:没有兼容服务
org.scijava.service.ServiceHelper.loadService (ServiceHelper.java: 243)
org.scijava.service.ServiceHelper.loadService (ServiceHelper.java: 194)
org.scijava.service.ServiceHelper.loadServices (ServiceHelper.java: 170)
在org.scijava.Context。< init > (Context.java: 279)
在org.scijava.context。(context.java:235)
在org.scijava.Context。< init > (Context.java: 175)
在org.scijava.context。(context.java:161)
在fiji.plugin.trackmate.providers.AbstractProvider.registerModules (AbstractProvider.java: 38)
在fiji.plugin.trackmate.providers.abstractProvider. (appressionprovider.java:25)
在fiji.plugin.trackmate.providers.spotanalyzerprovider。(spotanalyzerprovider.java:14)
fiji.plugin.trackmate.TrackMateRunner_.createSettings (TrackMateRunner_.java: 556)
在fiji.plugin.trackmate.trackmateplugin_.run(trackmateplugin_.java:59)
在Fiji.Plugin.Trackmate.TrackMaterUnner_.Run(TrackMaterUnner_.java:546)
在ij.ij.runuserplugin(ij.java:221)
ij.IJ.runPlugIn (IJ.java: 185)
在ij.executer.runco​​mmand(executer.java:137)
ij.Executer.run (Executer.java: 66)
ij.IJ.run (IJ.java: 301)
在ij.ij.run(ij.java:276)
MIJ.run (MIJ.java: 1198)
你能帮忙吗?
提前感谢你的帮助!

哈利罗

你好,
我是ImageJ和Miji的新手。当我在Matlab中使用MIJI导入图像序列时,我遇到了一个内存问题。因为内存不足,所有269个图像中只有99个图像可以导入。我已经增加了Java堆空间内存在Matlab上的“Java堆内存首选项”。
然后我试图增加imagej的内存,从Matlab使用Miji调用。我试图遵循给出的指示https://imagej.nih.gov/ij/docs/install/windows.html#memory.增加内存。但是,找不到imagej.cfg文件。
如果我直接使用在同一台计算机中安装的斐济(不通过MATLAB),所有269个图像都可以正确导入到没有内存问题的图像序列。但是,如果通过使用Miji从Matlab调用的ImageJ导入相同的图像,则会出现缺失问题。
我正在使用Windows 10 64位,Matlab 2017b和Java 1.8。
如何解决内存不足的问题?
提前感谢你的帮助!

闫奇吴

你好,

我发现它真的有助于在Matlab中自动化imagej进程。但是,除了跟踪伴侣外,所有插件在Matlab中运行良好。无论在插件菜单下打开曲目或使用mij.run('trackmate'),一个弹出窗口显示:java.lang.illegalargumentException:无兼容服务:org.scijava.log.logservice ...
同时,MATLAB控制台显示:[警告]类池是空的:忘了呼叫线程#setclassloper?
奇怪的TrackMate工作完美没有MIJ,这意味着直接使用斐济ImageJ,错误只发生在启动ImageJ与MIJ。有什么想法吗?

圣人

同样,可以通过在Matlab命令窗口中编写以下命令来检索“Results”表的值:
>> a = ij.plugin.filter.Analyzer.getResultsTable().getValue('区域',0);%第一行的面积

圣人

注意,类IJ的所有方法都可以使用IJ. IJ.*访问。
打开图像:>> ij.IJ.open('/your_path/image.tif');
有一个beep: >> ij.IJ.beep();
要知道当前内存:>> ij.IJ.currentMemory()

丹尼尔

Marco Tjioe.

我发现一个非常有用的网站是:
http://javadoc.imagej.net/Fiji/MIJ.html

在这里,它解决了我们的一些问题。例如,为什么MIJ.getRoi()不工作,但MIJ.getRoi(1)工作?实际上,有效的是MIJ.getRoi(0)或MIJ.getRoi(1)。为什么?

描述中说:
getRoi (int选项)
选项 - 使用校准或Nocal无需校准

我认为这意味着选项是用整数(int)选择的,其中getRoi(0)用于使用校准,而getRoi(1)用于不校准。现在这些校准意味着什么,我自己也不太确定……

要回答狂热的Ziaee问题,为什么以下是不起作用的:
a = mij.getImage('电子图像。);

你可以试试:
MIJ.run(“开放……”、“路径=['电子image.tif '] ');

希望这可以帮助 :)

Ahmad Mahmood

Marco Tjioe.

你好,

找到了我自己的问题的答案。我正在尝试只打开一些大文件的帧,然后选择矩形区域并复制该区域。以下代码有效:

密稷;%开始MIJ
text ='打开= [c:\ users \ tjioe2 \ desktop \ testfile \ testfile6.tif] color_mode = default open_files specify_range视图= shuperstack stact_order = xyczt t_begin = 1 t_end = 10 t_step = 1';%仅打开前10帧Testfile6.tif
mij.run('生物格式',文字);%使用生物格式打开
mij.run('增强对比','饱和= 0.35');%调整亮度
MIJ.run('Properties…','channels=1 slices=1 frames=10 unit=pixel pixel_width=1.000 pixel_height=1.000 voxel_depth=1.000 ');将宽度和高度的像素值改为1
ROI = [0 33 33 0;0 0 30 30];%拿出一个roi区域
MIJ.setRoi (roi, 2);%整数2表示矩形选择。Roi值选择1 ~ 7。线,Roi。矩形,Roi。点,Roi。椭圆形,Roi。多段线,Roi。多边形,Roi。角
mij.run('重复...','重复范围= 1-5');帧1到5的%重复投资回报率
MIJ.closeAllWindows;%关闭所有MIJ窗口
MIJ.exit;%退出MIJ

希望这能帮助任何试图使用MIJ的人。这真的是一个非常伟大的工具,加速图像处理。甚至使用它来打开和编写tiff文件已经加快了我的处理速度。

谢谢大家:)

俯视Bazaou

谢谢@chen这确实是我在寻找的东西

如果它对任何人都有帮助,我刚才意识到为了获得ROI选择,需要使用mij.getroi(1),而不是mij.getroi()。

我经历过同样的问题,因为@slimane bazaou有。mij.getroi()课似乎没有工作。

方良贝

俯视Bazaou

你好呀
我有麻烦从IJ导入ROI坐标或选定点坐标到Matlab。
我可以从matlab创建一个图像,并在IJ中显示它。例如使用MIJ.createImage(randn(400));。但是如果我在IJ中选择一个区域,我不能使用MIJ.getRoi()导入坐标;我做错什么了??
谢谢你!

TJ.

你好,

我发现MIJ非常有用,但我有困难运行一些命令使用MIJ运行(…)。

例如,如果我在ImageJ记录以下命令:

makeLine(234、92281、62300、81338、69376、62);

然后使用mij.run('makeline(234,92,281,62,300,81,338,69,376,62);')

我在'无法识别命令...'的imagej中获得错误。我想这是我做错了的基本的东西,但任何帮助都会受到欣赏。

谢谢,汤姆

Ghabiba Weston.

@丹尼尔·托德:

对于刚体,我使用

mij.run('stackreg','转换= [刚体]');

类似地,你可以这样做:
mij.run('stackreg','转换= [翻译]');

您可以通过在ImageJ中记录一个宏来再次检查这一点。

丹尼尔托德

你好,

我目前正在尝试使用TIFF堆栈上的StackReg插件。我的问题目前正在更改StackReg选项。我能够调用StackReg,但是在它的翻译,刚体,缩放旋转,仿射率为3个选项。它默认为刚体,但我想使用翻译方法。我如何召唤这个?目前我正在使用如下,它适用于获得刚体默认值。

MIJ.run (StackReg,路径);

有什么需要我补充说明的吗?非常感谢您的帮助!

Ghabiba Weston.

我发现了一个线解决方法,并认为我会在这里发布它,以防有人有类似的问题:

mij.run('图像序列...',strcat('打开= [',alldatsimj,'] number = []文件=(ch',channelnumcell,'_00000',numrepscell,')sort'));

alldatSimj;channelNumCell和numRepsCell都是在调用MIJ之前在我的Matlab脚本中定义的变量。

欢呼,
加比

Ghabiba Weston.

嗨,我尝试使用MIJ从Matlab打开imagej中的图像序列。

在imagej中我通常会做:
file - import - image Sequence -选择image,然后在'file name contains'区域指定后续文件属于该序列。
如果我记录一个宏尝试这样做(说OpenImagesAsStack),它只适用于一组用于记录宏的图像。我希望能够从Matlab内指定文件名参数,并通过MIJ将它们输入ImageJ。

我已经尝试了下面的建议来使用
IJ = ij.IJ ();
宏_path ='c:\ users \ ghabiba_weston \ downloads \ ij150-win-java8 \ imagej \ macros \ OpenImageSasstack.ijm';
IJ.runMacroFile(以(macro_path),以(imseq1));

在哪里
imseq1 = strcat(alldatsSimj,' number=[] file=(Ch', channelNumCell, '_00000', numRepsCell, ') sort');

alldatSimj是一个字符串
ChannelNumCell和NumrepScell是变量

当然,这不起作用,因为它只是在用于录制宏的图像中读取,并且不会使用指定的参数覆盖它们。

我试着把宏改成

运行(“图像序列…”,“开放= C + imseq1 +);
但这也不起作用。

我还试着去做:

mij.run('图像序列...','打开='imseq);但无济于事。

任何关于如何和在哪里指定参数的线索都将非常感激!
谢谢

Adi Lightstone.

Adi Lightstone.

嗨,我正在使用斐济的这个代码的版本,我正在尝试运行拼接函数的宏:mij.run('网格/集合缝合','type = [未知位置] order = [全部目录中的文件] Directory = ['空白'] confirm_files outcount_textfile_name = tileconfiguration.txt fusion_method = [线性混合]回归_threshold = 0.30 max / avg_displacement_threshold = 2.50 absolute_displacement_threshold = 3.50子pixel_aguracy computation_parameters = [保存内存(但要慢)] image_output = [保险费和显示] i2cropb.tiff i3cropb.tiff i4cropb.tiff i1cropb.tiff');

但是,每当我尝试运行它时,我都会是一个例外,说:“java.lang.unsupportedclassversionError:net / i金宝appmglib2 / type / numeric / neirtype:不支持的major.minor 52.0版本52.0”和:“此插件需要Java 1.8或更高版本。”尽管Java是我的电脑上的最新状态。你有什么想法可能导致这一点,还是有解决方案?谢谢你。

我不确定路径目录什么时候改变的,但是这里的安装说明有点不对劲。
这里是R2015a的修订指南,请注意,您必须简单地将目录更改为适用于您的目录。

修订安装:
1)将Mij.jar放入Matlab的Java目录(例如,窗口机器的C:\ Program Files \ Matlab \ Matlab生产服务器\ R2015A \ Java \ jar')。
2)拷贝Matlab的java目录下的ij.jar (ImageJ)。从ImageJ网站获取这个文件:http://rsb.info.nih.gov/ij/
3)将Java ClassPath扩展为Mij.jar,例如使用MATLAB命令:javaaddPath'c:\ Program Files \ Matlab \ Matlab制作服务器\ R2015A \ Java \ JAR \ Mij.jar'。
4)将java类路径扩展到ij.jar,例如使用Matlab命令:javaaddpath 'C:\Program Files\ Matlab \ Matlab Production Server\R2015a\java\jar\ij.jar'。
5)运行Matlab命令启动MIJ: MIJ. Start;或MIJ.start(“imagej-path”);

拉胡尔藤

法尔扎恩Ziaee.

你好我安装了imagej,然后在java中复制mij.jar和ij.jar,并在matlab中添加了路径,然后启动mij。然后证实了MIJ在命令窗口中开始,当我想获得图像时,它给了我这个错误:

a = mij.getImage('电子图像。);
Java异常发生:
java.lang.nullpointerexception.

在mij.getlistimages(mij.java:369)

在Mij.GetImage(Mij.java:517)

你能帮我做些什么吗?
我提前表示感谢。

狂热的

TJ.

谢谢,这非常有用,我现在正在使用它。

在PC(2015A)上,它很棒,我在MacOSX(2015A)上运行了一些小问题,因为它运行了一个没有插件的Imagej和一些其他命令

约翰

谢谢你的文件,我喜欢它。我对评估Matlab中的imagej命令进行了问题。一些命令从呼叫开始而不是运行。自Mij.Call以来如何评估此类行不起作用?

MIJ.run('Trainable Weka Segmentation', 'open=[D:\\Colocalization Images\ Actin-CD44\ 2014-08-21-5.tif]');
调用(“trainableSegmentation.Weka_Segmentation.getResult”);

Yonatan Golan.

我正在使用mij,对此很满意。但是,我有一个严重的记忆泄漏问题。
我使用mij.start运行matlab的imagej实例,运行我需要的命令,关闭使用mij.closeallwindows的所有窗口,并使用mij.exit退出。此过程之前和之后我使用javaaddpath和javarmpath for mij.jar和ij.jar。

除了matlab使用的内存(通过windows任务管理器)每个实例累积约300mb之外,其他都很好。在我运行3个实例后,我必须关闭matlab并再次打开,以转储内存泄漏。

我尝试了“清除java”,“清除所有”和其他任何我在其他论坛找到的东西。
我也尝试过使用jheapcl。米//www.tatmou.com/matlabcentral/fileexchange/36757-java-heap-cleaner没有成功。

有什么建议么?谢谢!

托里Truszkowski

我使用MIJ运行Matlab内部的斐济,但当我运行程序,我得到这个奇怪的视觉错误,文本文件有一个“影子”的图像是它的背后,这通常是Matlab接口。这使得阅读弹出窗口非常困难,而且它们似乎是重要的错误消息。它不会影响Miji命令的功能,但它确实使它很难使用。我有Matlab R2015a,最新版本的斐济(1.50b)和MIJ版本1.3.9。有办法解决这个问题吗?谢谢!

马克

实际上,我不正确。这没有解决问题。虽然与宏,插件相关联的所有正确的文件夹都链接到Matlab的ImageJ实例,但无法使用一些插件。我的意思是,在我在MATLAB中启动imagej实例后,我可以在插件菜单上打开,但是当我想使用“拼接>网格/集合拼接”插件时,请参阅所有各种插件,我得到错误“插件或类找不到:“stitching_grid”(java.lang.classnotfoundexceptrion:stitching_grid)。但奇怪的是,其他插件似乎工作。当我在Matlab外打开imagej的实例时,插件就好了。任何想法?谢谢!谢谢!

马克

这是我在下面问的问题的答案。现在工作很好!

你好,

谢谢你对MIJ的关注。

你可以用以下命令启动ImageJ:
mij.start('path_to_plugins');

发件人:丹尼尔·塞吉。

马克

你好。只是想说我真的找到了mij有用,现在很可能会使用它。但是,我确实有一个问题,即我有问题。在MATLAB中打开的imagej实例没有我只打开imagej时我可以使用的所有插件。在MIJ初始化后,我发现未设置访问所有插件所需的一些相关文件夹。在运行“mij.start”之后,请参阅下面的MATLAB提示的副本和过去。

更多信息:http://bigwww.epfl.ch/sage/soft/mij/
帮助:MIJ.help
JVM >就开始
JVM >版本:1.6.0_17
JVM>内存总量:189760 Kb
JVM>自由记忆量:95014 KB
imagej>版本:1.49V
imagej>记忆:115MB 469MB(24%)
imagej>目录插件:未指定
imagej>目录宏:未指定
\用户\ mp \文档\ matlab \ lutss
imagej>目录图片:未指定
ImageJ>目录ImageJ: c:\用户\ mp \文档\ matlab\
imagej>目录启动:c:\ users \ mp \ documents \ matlab \
imagej>目录主页:c:\ users \ mp \
--------------------------------------------------------------
状态> ImageJ正在运行。
--------------------------------------------------------------

我试着用“MIJ”。setupExt"作为这个类的描述,你有在你的网站上的各种相关的类似乎是我需要使用,但我得到的错误:

“没有找到匹配的签名的方法'setupext',找到了'mij'。”

当我使用“mij.help”时,“mij.setupext”未在生成的显示帮助文件中列出。你能帮我解决我需要在当前脚本中调用的“网格/集合拼接”插件我放在一起。

谢谢你能提供的任何帮助!

马克

坦率

更多信息到我的问题:当我只用几层加载堆栈时,它可以很好地工作;当我装载120层的堆栈时,它会破裂。然后我将matlab-general - java堆内存添加到2.4g。现在它很好!谢谢你。我现在不需要帮助。还是要谢谢你。

坦率

嗨,我使用Matlab R2015A使用Mij-1.3.9。所有设置都很好,因为某些功能很好。但是当我在Matlab和Fiji之间传输图像堆栈数据时,我总是被卡住。每次我需要强迫退出matlab到最终。例如,MATLAB中存在3D数据:IM(512 512 30)。我使用mij.createImage(IM)。我希望这会要求斐济绘制一个图像堆栈,但我陷入此处。请帮忙。非常感谢你。

阿诺德

你好,

我有问题与getRoi()。
即使我在打开的IJ的ROI Manager中有多个ROI,我只能导入一个(getRoi(1)),其他所有都不返回任何东西。

我如何处理ROI列表?是否有一种方法以编程方式加载/保存一个ImageJ ROI文件?

此外,当我使用“getResultStable”时,它不会传输“标签”列。但是getListColumns“,但列出了”标签“列作为第一个。似乎是我的错误,这可能会呈现函数无用,因为标签可能是非常宝贵的,以便继续分析数据!

文森特千兆

你好
请如何从Matlab命令行启动宏?
我按照说明安装MIJ。这似乎奏效了。
我试图启动一个宏安装在我的ImageJ\宏目录。
我使用以下命令行:
> > MIJ.run(“CellsMigration.ijm”)
我收到了此错误消息:
>> <错误:java.io.filenotFoundException:http://wsr.imagej.net/download/examples/macro/cellsmigration.ijm.>

谢谢。

圣人

是的,Matlab的矩阵值是图像ImageJ中的像素值。
imagej的像素位置(0,0)对应于Matlab矩阵的行1和列1。在Matlab和Imagej之间的转换中没有任何数据丢失

圣扎迦利Oppito

我试图使用MIJ来确定图像中给定区域的像素强度。为MIJ司令部。getCurrentImage或MIJ。getImage,返回矩阵中的数值是灰度级/像素强度吗?矩阵索引是否与ImageJ像素位置完全匹配,或者由于MATLAB的矩阵索引存在偏移量1 ?
谢谢你的帮助!

伊利亚贝雷维奇

你好,
是否有可能扩展MIJ与UINT16数据类型兼容以将其与16位光显微镜数据集一起使用?

例如,下面的代码不工作:
I2 = uint16(randi(65000,[256, 256, 3]));
MIJ。createColor (test_uint16, I2, 1);

谢谢你!

Emanuele Martini.

亲爱的穆罕默德,
试着看看我的评论06/100 / 2014。
我解决了那种方式的内存问题。
也许这对你也有用。
祝你今天过得愉快,
Emanuele.

S Mohammadian.

亲爱的Sage先生,
你好,
事实上,我正在尝试使用你漂亮的Matlab代码来运行Matlab内部的ImageJ。它工作正常,但内存有问题。尽管,我已经设置了8GB的内存,但一段时间后,它给我一个关于内存的错误。奇怪的是,它说可用内存是328MB,这远远低于我选择的。
你能告诉我我应该怎么做。
在此先感谢您的帮助

埃斯特万

大家好,感谢精彩的节目!
我的问题是。我运行MicroManager从摄像机显微镜上获取实时视频。视频显示在一个ImageJ窗口,标题为“Snap/Live window(100%)”。如果我尝试记录一个宏,它显示的唯一消息是:

selectWindow(“临时/生活窗口”);

任何人都知道如何从它显示的电影中捕获每一帧?换句话说,我可以从电影中与帧重新创位一个变量吗?

我尝试了几种方法:最明显的是MIJ命令。selectWindow似乎不工作(只写这在Matlab脚本是足够的吗?)MIJ.getCurrentImage也是如此。

任何人都知道matlab中的命令行,以获取实时电影的帧的Acces吗?

在此先感谢您的帮助!!!

P.D:不幸的是,只有micromanager有摄像头的驱动程序,所以这次我不能使用图像采集工具箱:(

Emanuele Martini.

@Wendy.

我不知道它是否有效,但您可以尝试初始化和启动Miji,在Matlab命令行中使用Miji(请参阅下面的一些帖子)在安装了PC上的斐济版本后。
我认为,通过安装所有插件和命令,可以轻松启动Fiji实例。

我希望它有效,
祝你今天过得愉快
Emanuele.

温迪

你好,

我在建议的方式安装了miji。现在我想运行宏。在此宏中使用插件。宏的开头正常工作,它打开图像,但每次到达Plugin Matlab都会给出错误:无法识别的命令:“颜色解卷积”。

我的matlab代码:
MATLAB javaaddpath“C: \ Program Files \ \ R2014a \ java \ ij.jar”;
javaaddpath'c:\ program files \ matlab \ r2014a \ java \ mij.jar';
MIJ.start;
IJ = ij.IJ ();
macro_path = ' G: CD \ M3 \ Matlab \ ';
IJ.runMacroFile(以(macro_path));

我的宏码:
allslidespath = " G: \ \ M3 Matlab \ \ Corrected_Images \ \ \ \”;
弗利斯特雨= getFileList (allslidespath);
LemberFlist = Lengthof(Flist);

for(f = 0; f <(lengerflist); f ++){
if (flist[f], ".tif")) {if (flist[f], ".tif") {
SlidePath = AllsLideShath + Flist [F];
打开(slidepath);

运行(" color Deconvolution", "vectors=[H DAB]");
selectWindow(弗利斯特雨[f] +”——(Colour_1) ");
SaveAs(“tiff”,slidepath +“ - (h).tif”);
SelectWindow(Flist [F] +“ - (Colour_2)”);
saveAs("Tiff", slidepath + "-(DAB).tif");
selectWindow(弗利斯特雨[f] +”——(Colour_3) ");
SaveAs(“tiff”,slidepath +“ - (re).tif”);
}
}

我怎么解决这个问题?
谢谢

Emanuele Martini.

@Alaa.

你好,
我以这种方式设置了miji。
1)安装最新版本的斐济(http://fiji.sc/downloads.
2)安装并复制jar matlab文件夹中的最新mij.jar(即''/ plations/matlab_r2012a.app/java/jar/mij.jar')

3)我添加mij e斐济到matlab路径写入matlab命令窗口:

javaaddpath(' /应用程序/ MATLAB_R2012a.app / java / jar / mij.jar ');
这是一个Java添加路径!

目录“/应用程序/ Fiji.app /脚本”);

4)运行Miji,使用:
密稷
或密稷(假)
如果你不想要斐济人

希望能有用,
周末愉快
Emanuele.

Emanuele Martini.

@Emanuele马提尼(我)

要使用以下方式启动带有参数的宏,我不知道这是否是更好的方法,但它有效:D

我找到了一个解决办法:
在有米吉设置后,
你可以在matlab中构造一个IJ实例
IJ = ij.IJ ();

macro_path =…
' /用户/ emartini /文件/ emanueleM / WH_exp / GUI_test WH_Miji_macro_RoiExtraction.txt”;

args = ...
strcat('image_path=',image_path,' saving_path=',saving_path,' R_median=',R_median,' R_variance=',R_variance);
你不需要使用ijm语法"+变量+"

ij.runmacrofile(java.lang.string(宏_path),java.lang.string(args));
请记住使用Java String。
它有效;)

周末愉快,
Emauele Martini.

阿拉

大家好,我试图从matlab调用Imagej插件,但通常我得到错误的matlab不认识mij.jar

我怎么解决这个问题???
谢谢

Emanuele Martini.

嗨,丹尼尔,
如何使用miji启动宏?
我有一个宏,它在斐济工作,将一些参数作为字符串。
像这样:
runMacro("WH_imagej_AUTO_ema_MEDIAN_macro","image_path="+image_path+" saving_path="+saving_path+" R_median="+R_median+" R_variance="+R_variance ")

在ijm语言中,我必须使用runMacro,但我在MIJI中没有找到类似的方法。
我试着:
mij.run(宏_path,strcat('image_path =',image_path,'capt_path =',caply_path,'r_median =',r_median,'r_variance =',r_variance));

和:
image_path ='/用户/ Emartini / Documents / Emanuelem / Wh_exp / Cecilia_Saverani / Old / 6nov2014 / YAP WT CTR / WT CTR S2.tif'
saving_path = ' /用户/ emartini /文件/ emanueleM / WH_exp / Cecilia_Savorani /老/ 6 nov2014 /处理'
r_median ='否'
R_variance = ' 3 '
宏_path ='/ applications / fiji.app / plugins / scripts / wh_imagej_auto_ema_median_macro.txt';

但斐济实例对我说:“无法识别命令”......

有办法做到吗?
谢谢,
Emanuele Martini.

Emanuele Martini.

非常好的工具,我开始在这些日子里使用它,它的工作非常好。

如果有人有设置Imagej内存的问题(matlab用Miji创建的实例),我发现这个解决方案的优势是用户特定的。
我从这篇文章中开始了:http://www.mathworks.it/matlabcentral/answers/92813-how-do-i-increase-the-heap-space-for-the-java-vm-in-matlab-6-0-r12-and-后来的版本

我放了一个爪哇。在我的matlab启动目录下的opts文件(在做任何事情找到它之前在matlab中使用pwd),有一行:-Xmx512m
例如,将imagej内存设置为512 MB。

谢谢丹尼尔,
和最好的问候
Emanuele Martini.

Emanuele Martini.

CY Y

非常重要和有用的工具!这是两个强大的图像处理和分析平台之间的美丽婚姻!

圣人

问:我想知道如何运行像“setTool”这样的命令。在Imagej上的宏是:
如何在matlab中运行?

答:在matlab上输入以下命令>> ij.ij.settool('point');

Matlab释放兼容性
创建R2011b
与任何版本兼容
平台的兼容性
视窗 苹果系统 Linux

社区寻宝

在MATLAB中心找到宝藏,并发现社区可以如何帮助您!

开始狩猎!