Login  Register

Re: Montage java.lang.NegativeArraySizeException

Posted by John Hayes on Aug 31, 2015; 9:33pm
URL: http://imagej.273.s1.nabble.com/Montage-java-lang-NegativeArraySizeException-tp5014201p5014203.html

Hi Mark,

Can you check that the values for the 'rows' and 'columns' from your macro are going into the 'Make Montage' call correctly? It seems like the call to createProcessor here is being passed one or more negative values (http://rsb.info.nih.gov/ij/developer/source/ij/plugin/MontageMaker.java.html):
> ImageProcessor montage = ip.createProcessor(montageWidth+borderWidth/2, montageHeight+borderWidth/2);

Are those values ones you get from the "Image Sequence" or are they hardcoded by you in the macro?

John

Le 31 août 2015 à 16:51, Mark Chopping a écrit :

> I have my -batch mosaicing macro working... almost. Can anyone tell me what is causing the java "java.lang.NegativeArraySizeException" error below? The routines are called with:
>
> xvfb-run-safe ~/ImageJ/jre/bin/java -Xmx12000m -jar ~/ImageJ/ij.jar -ijpath ~/ImageJ -batch mymacro.ijm args > log
>
> The job is going to need a bit of memory but seems to have completed ok when the macro is run in GUI mode (only another 578 to go!). That is, when run from the GUI there were no errors and the large (1.4 Gb) output TIF was generated. However, when running with -batch the log reports:
>
> Mosaicing the 2120 (53 x 40) images...  [message from the macro, then]
> Image Sequence run; doing Make Montage...
> java.lang.NegativeArraySizeException
>       at ij.process.ByteProcessor.createProcessor(ByteProcessor.java:149)
>       at ij.plugin.MontageMaker.makeMontage2(MontageMaker.java:143)
>       at ij.plugin.MontageMaker.makeMontage(MontageMaker.java:122)
>       at ij.plugin.MontageMaker.run(MontageMaker.java:51)
>       at ij.IJ.runPlugIn(IJ.java:169)
>       at ij.Executer.runCommand(Executer.java:132)
>       at ij.Executer.run(Executer.java:65)
>       at ij.IJ.run(IJ.java:279)
>       at ij.macro.Functions.doRun(Functions.java:600)
>       at ij.macro.Functions.doFunction(Functions.java:95)
>       at ij.macro.Interpreter.doStatement(Interpreter.java:227)
>       at ij.macro.Interpreter.doBlock(Interpreter.java:605)
>       at ij.macro.Interpreter.runFirstMacro(Interpreter.java:704)
>       at ij.macro.Interpreter.doStatement(Interpreter.java:260)
>       at ij.macro.Interpreter.doStatements(Interpreter.java:215)
>       at ij.macro.Interpreter.run(Interpreter.java:112)
>       at ij.macro.Interpreter.run(Interpreter.java:82)
>       at ij.macro.Interpreter.run(Interpreter.java:93)
>       at ij.plugin.Macro_Runner.runMacro(Macro_Runner.java:153)
>       at ij.plugin.Macro_Runner.runMacroFile(Macro_Runner.java:137)
>       at ij.IJ.runMacroFile(IJ.java:130)
>       at ij.ImageJ.main(ImageJ.java:695)
>
> Does anyone know what is causing this?
>
> Mark
>
> Mark Chopping
> Montclair State University
>
> --
> ImageJ mailing list: http://imagej.nih.gov/ij/list.html

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