【问题标题】:MIJ: execute imageJ (Fiji) macro until end in MatlabMIJ:在 Matlab 中执行 imageJ(斐济)宏直到结束
【发布时间】:2019-10-07 16:48:55
【问题描述】:

我正在使用 MIJ 在 Matlab 中执行 ImageJ 宏。宏必须在“for”循环中多次执行。问题是 Matlab 不会等到宏结束。最初我用“while”循环解决了这个问题,检查从宏生成的“结果”表是否为空。但是,它只是第一次解决了问题,然后从第二次开始,“结果”表不再为空。 我也想过在宏的末尾生成一个变量,并用它来检查宏是否完成,但是我不知道如何在Matlab中读取它。

您对我如何解决这个问题有什么建议吗?

提前非常感谢, 阿莱西亚

这是我的代码示例:

javaaddpath 'C:/Program Files/MATLAB/R2019a_x64/java/ij.jar'
javaaddpath 'C:/Program Files/MATLAB/R2019a_x64/java/mij.jar'
MIJ.start('C:/fiji-win64/Fiji.app/plugins');

IJ=ij.IJ(); 

macro_path=... 
'C:/Macro_waterinoil.ijm'; 
for pos=1:16
    im = mijread(strcat('E:/droplets.tif'));
    figure(1)
    imshow(im,[0 255])

   IJ.runMacroFile(java.lang.String(macro_path)); 

    res_Hough=0;  
    res_Hough=MIJ.getResultsTable();


    while res_Hough==0;   
        res_Hough=MIJ.getResultsTable();        
    end

    im_res=MIJ.getCurrentImage();

    MIJ.run('Clear Results');
    MIJ.run('Close All');
end

【问题讨论】:

    标签: matlab imagej imagej-macro


    【解决方案1】:

    编辑:忽略以下内容,我走在正确的轨道上,但没有给予应有的关注。我认为这个问题是在您将 res_Hough 设置为 0 之后的那一行(即 res_Hough=MIJ.getResultsTable();)。尝试删除它,以便下一行是 while 循环,然后我们可以检查输出,看看下面是否也适用

    如果我理解正确,您正在使用 while 循环连续 ping 直到表已满,然后将这些值存储在 res_Hough 中,对吗?我想知道这是否是 ImageJ/FIJI 固有的限制。我认为可能是这种情况的原因是,对您的问题的一个非常简单的解释是该表保留了以前的值,因此在第一个循环之后将始终是满的,除非以某种方式手动清除。你认为可能是这样吗?也许在 while 循环之后添加一个打印语句,看看它是否在 for 循环期间打印相同的值。

    我想接下来要做的是让我真正尝试提供解决方案,而不管上述情况如何。我的想法是尝试对前一个迭代的表值进行 while 循环检查,直到它们不同,然后存储更新的值。那有意义吗?比如:

    while (res_Hough[i]==0) or (res_Hough[i-1]==MIJ.getResultsTable());
        res_Hough[i]=MIJ.getResultsTable();
    

    其中 i 由 for 循环递增

    【讨论】:

    • 您好 Pᴇʜ,谢谢您的回复。是的,它只在第一次工作,因为“结果”表保留了以前的值。我试图删除您建议的行,但问题仍然存在,因为 imageJ 结果表仍然已满。无论如何,我找到了另一种解决问题的方法:我在 imageJ 宏中添加了一行,一开始我清除了“结果”表。现在它起作用了。还是谢谢!
    • 当然,我认为可能会发生类似的事情。很高兴你明白了 :-) 如果可能的话,如果你能将这个标记为已解决,以防其他人遇到类似问题并正在寻找解决方案,那就太好了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 2021-08-06
    相关资源
    最近更新 更多