[ome-users] Loading a *BIG* image

Melissa Linkert melissa at glencoesoftware.com
Wed Oct 30 14:18:34 GMT 2013


Hi Gabriel,

> I sent this to the ImageJ mailing list, but got nowhere. Maybe you can give 
> some advice?

Sorry, I didn't see your message on the ImageJ list.  I've CC'd the
ome-users mailing list, which is the best place to ask Bio-Formats
questions.

> I have been trying to load a large bmp file (a stitched mosaic of about 2.7 GB 
> about 30K x 30K pixels.
> 
> Is there any way to load this or I am reaching some Java limits?
> I tried both in IJ and Fiji and either the normal image opening way or via 
> BioFormats.

30K x 30K with 3 channels would exceed the maximum size of a Java array.

If you select the "Crop on import" option in the "Bio-Formats Import
Options" window, though, you should be able to open a smaller tile from the
image.  If that doesn't work, please let us know as that's likely a bug.

Regards,
-Melissa

On Wed, Oct 30, 2013 at 08:51:41AM +0000, Gabriel Landini wrote:
> Hi Melissa,
> I sent this to the ImageJ mailing list, but got nowhere. Maybe you can give 
> some advice?
> 
> Many thanks
> 
> Gabriel
> 
> ------------------------------
> I have been trying to load a large bmp file (a stitched mosaic of about 2.7 GB 
> about 30K x 30K pixels.
> 
> Is there any way to load this or I am reaching some Java limits?
> I tried both in IJ and Fiji and either the normal image opening way or via 
> BioFormats.
> 
> Thanks for any suggestions.
> 
> I get this error in Fiji: 
> 
> (Fiji Is Just) ImageJ 1.48e; Java 1.6.0_24 [64-bit]; Linux 3.7.10-1.16-
> desktop; 961MB of 4953MB (19%)
> 
>  
> java.lang.IllegalArgumentException: Negative position
>         at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:600)
>         at 
> loci.common.NIOByteBufferProvider.allocateDirect(NIOByteBufferProvider.java:133)
>         at 
> loci.common.NIOByteBufferProvider.allocate(NIOByteBufferProvider.java:118)
>         at loci.common.NIOFileHandle.buffer(NIOFileHandle.java:532)
>         at loci.common.NIOFileHandle.seek(NIOFileHandle.java:254)
>         at 
> loci.common.RandomAccessInputStream.seek(RandomAccessInputStream.java:140)
>         at loci.formats.in.BMPReader.openBytes(BMPReader.java:129)
>         at loci.formats.ChannelFiller.openBytes(ChannelFiller.java:197)
>         at loci.formats.ChannelFiller.openBytes(ChannelFiller.java:189)
>         at loci.formats.ChannelSeparator.openBytes(ChannelSeparator.java:197)
>         at loci.formats.ReaderWrapper.openBytes(ReaderWrapper.java:317)
>         at loci.formats.DimensionSwapper.openBytes(DimensionSwapper.java:262)
>         at loci.formats.ReaderWrapper.openBytes(ReaderWrapper.java:317)
>         at loci.formats.MinMaxCalculator.openBytes(MinMaxCalculator.java:273)
>         at loci.formats.MinMaxCalculator.openBytes(MinMaxCalculator.java:265)
>         at loci.formats.ReaderWrapper.openBytes(ReaderWrapper.java:305)
>         at loci.formats.ReaderWrapper.openBytes(ReaderWrapper.java:305)
>         at 
> loci.plugins.util.ImageProcessorReader.openProcessors(ImageProcessorReader.java:190)
>         at 
> loci.plugins.in.ImagePlusReader.readProcessors(ImagePlusReader.java:416)
>         at 
> loci.plugins.in.ImagePlusReader.readPlanes(ImagePlusReader.java:380)
>         at loci.plugins.in.ImagePlusReader.readImage(ImagePlusReader.java:277)
>         at 
> loci.plugins.in.ImagePlusReader.readImages(ImagePlusReader.java:238)
>         at 
> loci.plugins.in.ImagePlusReader.readImages(ImagePlusReader.java:216)
>         at 
> loci.plugins.in.ImagePlusReader.openImagePlus(ImagePlusReader.java:114)
>         at loci.plugins.in.Importer.readPixels(Importer.java:150)
>         at loci.plugins.in.Importer.run(Importer.java:89)
>         at loci.plugins.LociImporter.run(LociImporter.java:81)
>         at ij.IJ.runUserPlugIn(IJ.java:196)
>         at ij.IJ.runPlugIn(IJ.java:160)
>         at ij.Executer.runCommand(Executer.java:131)
>         at ij.Executer.run(Executer.java:64)
>         at java.lang.Thread.run(Thread.java:662)



More information about the ome-users mailing list