[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