Login  Register

Re: Macro fails to open stack when launched from the commandline

Posted by Stein Rørvik on Oct 31, 2017; 11:48am
URL: http://imagej.273.s1.nabble.com/Macro-fails-to-open-stack-when-launched-from-the-commandline-tp5019638p5019648.html

I am running vanilla ImageJ with the Java 1.6 runtime as a subfolder in the ImageJ folder so the java version is therefore 100% identical across all tested systems. I also tested it with Java 1.8 and had the same problem.
The File chooser option should be irrelevant as this is a macro problem, it does not happen if I import via the GUI.

Stein

-----Original Message-----
From: ImageJ Interest Group [mailto:[hidden email]] On Behalf Of Michael Schmid
Sent: 31. oktober 2017 09:36
To: [hidden email]
Subject: Re: Macro fails to open stack when launched from the commandline

Hi Stein,

no such problem on a pretty fast Linux machine (ImageJ 1.51r27; Java
1.8.0_112 [64-bit])
I had to remove the trailing backslash in the 'dir' of MacroOpenVirtualStack.ijm, however.

Maybe you have different Java versions on the different machines?
In case of a strange bug, in principle, there might be also differences in the Edit>Options>IO Options that could cause different behavior (e.g.
the settings of "Use file chooser to import sequences"), but I consider this unlikely.


Michael
________________________________________________________________
On 30/10/2017 15:13, Stein Rørvik wrote:

> Hello,
>
> I have encountered a strange bug:
> If a macro is launched from the commandline (Windows 7 64-bit, Java 1.6), any stack import silently fails UNLESS ImageJ is already running.
>
> To reproduce the problem:
>
> Demo macro to create a stack to be opened:
>
> MacroMakeVirtualStack.ijm
> ----------------------------------------------------------------------
> run("T1 Head (2.4M, 16-bits)");
> dir = getDirectory("temp")+"T1-Head\\"; File.makeDirectory(dir);
> run("Image Sequence... ", "format=TIFF save="+dir);
> ----------------------------------------------------------------------
>
> Demo macro to open this stack:
>
> MacroOpenVirtualStack.ijm
> ----------------------------------------------------------------------
> dir = getDirectory("temp")+"T1-Head\\"; print("Dir to import: '" + dir
> + "'"); run("Image Sequence...", "open=&dir sort use"); print("Opened
> title: " + getTitle());
> ----------------------------------------------------------------------
>
> Put the above in the ImageJ/macros folder and run this on the
> commandline (without ImageJ running)
>
> ImageJ.exe -macro MacroOpenVirtualStack.ijm
>
> The macro fails to open the stack.
> Now go back to the command line and repeat the command, without closing ImageJ.
> The macro now works as it should.
>
> The problem occurs with both real and virtual stacks.
> The problem occurs on three out of five computers I have tested it on; all running Windows 7 64-bit.
> It occurs on both old and new versions of ImageJ (I tried 1.49 and 1.51r).
> The computers it works on are the slowest ones, so I suspect it might be a timing issue.
>
> Stein

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html