Skip to content

Limited IJM commands #14

Open
Open
@gosipe

Description

@gosipe

Greetings, I am trying to run ImageJ/Fiji JavaScripts from within MATLAB. It seems that the transition to Java 8 is a rocky road. I was able to follow all the helpful instructions to get ImageJ running within MATLAB. But I'd prefer to have the custom JavaScript scripts or even stock Fiji scripts run without interfacing with the ImageJ GUI and that is where I am running into problems. When I list the available commands using IJM.help, I only see 4 commands. Does this mean that even built-in Fiji plugins are not able to be executed via ImageJ running in MATLAB?

Below is what the startup looks like. I get the reported "log4j" and "No such script engine: javascript." I suspect the latter is one of the reasons that I am having issues.

I am running Java 8, MATLAB2017a, and the latest Fiji installation. Any insight is very much appreciated.

ImageJ
java.lang.IllegalArgumentException: Cannot handle app name in ij.gui.YesNoCancelDialog's public (java.awt.Frame parent, java.lang.String title, java.lang.String msg)
at net.imagej.patcher.CodeHacker.replaceAppNameInCall(CodeHacker.java:446)
at net.imagej.patcher.LegacyExtensions.insertAppNameHooks(LegacyExtensions.java:419)
at net.imagej.patcher.LegacyExtensions.injectHooks(LegacyExtensions.java:291)
at net.imagej.patcher.LegacyInjector.inject(LegacyInjector.java:308)
at net.imagej.patcher.LegacyInjector.injectHooks(LegacyInjector.java:109)
at net.imagej.patcher.LegacyEnvironment.initialize(LegacyEnvironment.java:101)
at net.imagej.patcher.LegacyEnvironment.applyPatches(LegacyEnvironment.java:495)
at net.imagej.patcher.LegacyInjector.preinit(LegacyInjector.java:397)
at net.imagej.patcher.LegacyInjector.preinit(LegacyInjector.java:376)
at net.imagej.legacy.LegacyService.(LegacyService.java:134)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at org.scijava.service.ServiceHelper.createServiceRecursively(ServiceHelper.java:302)
at org.scijava.service.ServiceHelper.createExactService(ServiceHelper.java:269)
at org.scijava.service.ServiceHelper.loadService(ServiceHelper.java:231)
at org.scijava.service.ServiceHelper.createServiceRecursively(ServiceHelper.java:340)
at org.scijava.service.ServiceHelper.createExactService(ServiceHelper.java:269)
at org.scijava.service.ServiceHelper.loadService(ServiceHelper.java:231)
at org.scijava.service.ServiceHelper.loadService(ServiceHelper.java:194)
at org.scijava.service.ServiceHelper.loadServices(ServiceHelper.java:166)
at org.scijava.Context.(Context.java:278)
at org.scijava.Context.(Context.java:234)
at org.scijava.Context.(Context.java:174)
at org.scijava.Context.(Context.java:160)
at net.imagej.ImageJ.(ImageJ.java:77)
at net.imagej.Main.launch(Main.java:61)
at net.imagej.matlab.ImageJMATLAB.launch(ImageJMATLAB.java:151)
at net.imagej.matlab.ImageJMATLAB.start(ImageJMATLAB.java:105)
at net.imagej.matlab.ImageJMATLAB.start(ImageJMATLAB.java:92)
at net.imagej.matlab.ImageJMATLAB.start(ImageJMATLAB.java:81)
Caused by: javassist.CannotCompileException: No code replaced!
at net.imagej.patcher.CodeHacker$EagerExprEditor.instrument(CodeHacker.java:1280)
at net.imagej.patcher.CodeHacker.replaceAppNameInCall(CodeHacker.java:443)
... 32 more
[ERROR] Cannot create plugin: class='org.scijava.plugins.scripting.javascript.JavaScriptScriptLanguage', name='JavaScript', priority=0.0, enabled=true, pluginType=ScriptLanguage
java.lang.IllegalArgumentException: No such script engine: javascript
at org.scijava.script.AdaptedScriptLanguage.findFactory(AdaptedScriptLanguage.java:151)
at org.scijava.script.AdaptedScriptLanguage.(AdaptedScriptLanguage.java:73)
at org.scijava.plugins.scripting.javascript.JavaScriptScriptLanguage.(JavaScriptScriptLanguage.java:59)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at org.scijava.plugin.PluginInfo.createInstance(PluginInfo.java:304)
at org.scijava.plugin.DefaultPluginService.createInstance(DefaultPluginService.java:236)
at org.scijava.plugin.DefaultPluginService.createInstances(DefaultPluginService.java:225)
at org.scijava.plugin.DefaultPluginService.createInstancesOfType(DefaultPluginService.java:216)
at org.scijava.plugin.AbstractSingletonService.initInstances(AbstractSingletonService.java:92)
at org.scijava.plugin.AbstractSingletonService.getInstances(AbstractSingletonService.java:75)
at org.scijava.script.DefaultScriptService.initScriptLanguageIndex(DefaultScriptService.java:273)
at org.scijava.script.DefaultScriptService.scriptLanguageIndex(DefaultScriptService.java:238)
at org.scijava.script.DefaultScriptService.getIndex(DefaultScriptService.java:118)
at org.scijava.script.ScriptService.canHandleFile(ScriptService.java:314)
at org.scijava.script.ScriptFinder.createInfos(ScriptFinder.java:165)
at org.scijava.script.ScriptFinder.scanResources(ScriptFinder.java:133)
at org.scijava.script.ScriptFinder.findScripts(ScriptFinder.java:109)
at org.scijava.script.DefaultScriptService.initScripts(DefaultScriptService.java:314)
at org.scijava.script.DefaultScriptService.scripts(DefaultScriptService.java:256)
at org.scijava.script.DefaultScriptService.getScripts(DefaultScriptService.java:153)
at net.imagej.legacy.LegacyService.getScriptsAndNonLegacyCommands(LegacyService.java:628)
at net.imagej.legacy.IJ1Helper.addMenuItems(IJ1Helper.java:744)
at net.imagej.legacy.LegacyService.initialize(LegacyService.java:488)
at org.scijava.service.ServiceHelper.createServiceRecursively(ServiceHelper.java:353)
at org.scijava.service.ServiceHelper.createExactService(ServiceHelper.java:269)
at org.scijava.service.ServiceHelper.loadService(ServiceHelper.java:231)
at org.scijava.service.ServiceHelper.createServiceRecursively(ServiceHelper.java:340)
at org.scijava.service.ServiceHelper.createExactService(ServiceHelper.java:269)
at org.scijava.service.ServiceHelper.loadService(ServiceHelper.java:231)
at org.scijava.service.ServiceHelper.loadService(ServiceHelper.java:194)
at org.scijava.service.ServiceHelper.loadServices(ServiceHelper.java:166)
at org.scijava.Context.(Context.java:278)
at org.scijava.Context.(Context.java:234)
at org.scijava.Context.(Context.java:174)
at org.scijava.Context.(Context.java:160)
at net.imagej.ImageJ.(ImageJ.java:77)
at net.imagej.Main.launch(Main.java:61)
at net.imagej.matlab.ImageJMATLAB.launch(ImageJMATLAB.java:151)
at net.imagej.matlab.ImageJMATLAB.start(ImageJMATLAB.java:105)
at net.imagej.matlab.ImageJMATLAB.start(ImageJMATLAB.java:92)
at net.imagej.matlab.ImageJMATLAB.start(ImageJMATLAB.java:81)


ImageJ-MATLAB 0.7.2: MATLAB to ImageJ Interface

JVM> Version: 1.8.0_131
JVM> Total amount of memory: 178176 Kb
JVM> Amount of free memory: 53601 Kb

-- Welcome to ImageJ-MATLAB --
ImageJ-MATLAB consists of an extensible set of commands for passing information between ImageJ and MATLAB.
See the individual sections below for a list of available commands.

For more information and examples see:
http://imagej.net/MATLAB-Scripting

--- MATLAB Command Plugins ---

-- ImageJ MATLAB commands --

Usage: IJM.[command]
help - prints a brief description of available commands
getDataset - creates a MATLAB matrix from the active ImageJ image
getDatasetAs(name) - creates a MATLAB matrix from the active ImageJ image, and assigns it to the specified variable name
show(name) - takes the MATLAB matrix with the specified name and displays it as an image


Status> ImageJ is running.

log4j:WARN No appenders could be found for logger (loci.formats.ClassList).
log4j:WARN Please initialize the log4j system properly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions