http://imagej.273.s1.nabble.com/Montage-java-lang-NegativeArraySizeException-tp5014201p5014203.html
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 (
> 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?
> 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