Run ImageJ plugin OrientationJ using MIJI from Matlab

14 views (last 30 days)
Hi community,
I am trying to run the ImageJ plugin "OrientationJ Vector Field" out of Matlab and import the results table back to analyze the data automatically. My code currently looks like this:
javaaddpath('C:\Program Files\MATLAB\R2018b\java\jar\ij.jar');
javaaddpath('C:\Program Files\MATLAB\R2018b\java\jar\mij.jar');
Miji;
MIJ.run('Open...', 'path=[E:\Example_Image.tif]');
MIJ.run('OrientationJ Vector Field');
MIJ.run('OrientationJ Vector Field', 'tensor=2.0 gradient=0 radian=on vectorgrid=10 vectorscale=80.0 vectortype=0 vectoroverlay=on vectortable=on ');
res = MIJ.getResultsTable;
MIJ.closeAllWindows();
I currently have 2 problems:
  1. MIJ.run('OrientationJ Vector Field',.... does not execute the plugin completely. A windows is opened where I need to click "run".
  2. MIJ.getResultsTable won’t import results unless I rename it manually to "Results"
Are there ways around those problems?
Malte
  1 Comment
Ondrej Kucera
Ondrej Kucera on 21 Jul 2020
After running the plugin, you may try to rename the result table:
IJ=ij.IJ();
IJ.renameResults("Results");
res = MIJ.getResultsTable;
That should make results accessible to the getResultsTable method.

Sign in to comment.

Answers (1)

Guillaume
Guillaume on 16 Sep 2019
Edited: Guillaume on 16 Sep 2019
For 1), unfortunately, it's a problem with your plugin which clearly has not been designed to run non-interactively. Unless the plugin has an option to truly run non-interactively you'll struggle to bypass that input window. It is theoretically possible to use matlab to simulate a click on a button by delegating to the OS but the method will vary from OS to OS and depending on how that button is rendered may involve a lot of code.
For 2), you can use matlab to rename the file before calling getResultsTable:
movefile('E:\Whateverthenameis', 'E:\Results.txt');
Another option would be to rewrite whatever that plugin does in matlab.

Products


Release

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!