MATLAB Answers

0

Run ImageJ plugin OrientationJ using MIJI from Matlab

Asked by Malte Wallmeier on 16 Sep 2019
Latest activity Edited by Guillaume
on 16 Sep 2019
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

  0 Comments

Sign in to comment.

Products


Release

R2018b

1 Answer

Answer by Guillaume
on 16 Sep 2019
Edited by 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.

  0 Comments

Sign in to comment.