[ome-users] bio-formats error on tf8 file import

Melissa Linkert melissa at glencoesoftware.com
Wed Feb 3 21:28:03 GMT 2016


Hi Kai,

> I have now uploaded two relevant files into "/incoming/KS-tf8":
>
> 29.01.2016_time lapse10_0_Marker_1_01
> - opening this file results in the error log as I have posted it on the list.
>
> 29.01.2016_time lapse10_0_Marker_4_07
> - opening this file results in only a single image without limited/incorrect metadata.
>
> Both files stem from the same dataset/experiment.

Thank you for uploading the problematic files.  These are indeed
truncated in such a way that it will be difficult to make them work just
by changing Bio-Formats.  However, with a small change to each of the files
you should be able to recover the images.

Both files have the offset to the first TIFF IFD (i.e. the basic image
metadata) recorded incorrectly.  The ..._Marker_1_01 has an invalid
offset (thus the error message), while ..._Marker_4_01 references the
last image's metadata instead of the first image's metadata.

To recover the images, you will need a hex editor that supports files
larger than 4GB; I use bless on Linux (http://home.gna.org/bless/index.html), but am
not sure what the best option is on Windows.

Open each file in the hex editor, and change bytes 8-15 (where byte 0 is
the first byte in the file) to "90 fc 0a 00 00 00 00 00".  Take care to
directly overwrite, and not add or remove anything else.  Once saved,
each file should open in ImageJ and show approximately 9954 images.

If you have any trouble getting that to work, please let us know.

Regards,
-Melissa

On Tue, Feb 02, 2016 at 08:21:42PM -0600, Melissa Linkert wrote:
> Hi Kai,
> 
> > We have a user acquiring rather large datasets on it (multichannel + z-stack + time laps, about 7 GB per image), which worked fine in the past.
> > 
> > However, opening the tf8-files from his last acquisition fails with an error (see below).
> > 
> > The acquisition itself finished without error, but it is likely that the C drive of the acquisition machine was low on space at the end of the experiment.
> > 
> > Due to restrictions in the acquisition software (FEI Live Acquisition software) the data has to be recorded to the C drive.
> > 
> > Is there still something that could be done in order to save the data?
> 
> Thank you for reporting this problem.  Would you be willing to upload
> the file that doesn't open?  That would greatly help us to either fix
> this in Bio-Formats (if it's a bug) or find a way to recover the data
> (if the file is corrupt).
> 
> I have sent FTP server credentials privately, as it sounds like the file is too large
> to be uploaded via our QA system.
> 
> Regards,
> -Melissa
> 
> On Mon, Feb 01, 2016 at 12:56:39PM +0000, Kai Schleicher wrote:
> > Hi,
> > 
> > The output on one of our microscopes is a tf8.
> > 
> > We have a user acquiring rather large datasets on it (multichannel + z-stack + time laps, about 7 GB per image), which worked fine in the past.
> > 
> > However, opening the tf8-files from his last acquisition fails with an error (see below).
> > 
> > The acquisition itself finished without error, but it is likely that the C drive of the acquisition machine was low on space at the end of the experiment.
> > 
> > Due to restrictions in the acquisition software (FEI Live Acquisition software) the data has to be recorded to the C drive.
> > 
> > Is there still something that could be done in order to save the data?
> > 
> > Thanks and cheers,
> > Kai
> > 
> > loci.formats.FormatException: loci.common.ReflectException: Cannot execute method: getNumPages
> >                at loci.formats.in.TiffJAIReader.initFile(TiffJAIReader.java:149)
> >                at loci.formats.FormatReader.setId(FormatReader.java:1426)
> >                at loci.formats.DelegateReader.setId(DelegateReader.java:298)
> >                at loci.plugins.in.ImportProcess.initializeFile(ImportProcess.java:505)
> >                at loci.plugins.in.ImportProcess.execute(ImportProcess.java:143)
> >                at loci.plugins.in.Importer.showDialogs(Importer.java:140)
> >                at loci.plugins.in.Importer.run(Importer.java:76)
> >                at loci.plugins.LociImporter.run(LociImporter.java:78)
> >                at ij.IJ.runUserPlugIn(IJ.java:212)
> >                at ij.IJ.runPlugIn(IJ.java:176)
> >                at ij.Executer.runCommand(Executer.java:136)
> >                at ij.Executer.run(Executer.java:65)
> >                at ij.IJ.run(IJ.java:292)
> >                at ij.IJ.run(IJ.java:267)
> >                at ij.macro.Functions.doRun(Functions.java:603)
> >                at ij.macro.Functions.doFunction(Functions.java:96)
> >                at ij.macro.Interpreter.doStatement(Interpreter.java:230)
> >                at ij.macro.Interpreter.doStatements(Interpreter.java:218)
> >                at ij.macro.Interpreter.run(Interpreter.java:115)
> >                at ij.macro.Interpreter.run(Interpreter.java:85)
> >                at ij.macro.MacroRunner.run(MacroRunner.java:139)
> >                at java.lang.Thread.run(Thread.java:662)
> > Caused by: loci.common.ReflectException: Cannot execute method: getNumPages
> >                at loci.common.ReflectedUniverse.exec(ReflectedUniverse.java:316)
> >                at loci.formats.in.TiffJAIReader.initFile(TiffJAIReader.java:146)
> >                ... 21 more
> > Caused by: java.lang.reflect.InvocationTargetException
> >                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> >                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> >                at java.lang.reflect.Method.invoke(Method.java:597)
> >                at loci.common.ReflectedUniverse.exec(ReflectedUniverse.java:311)
> >                ... 22 more
> > Caused by: java.io.IOException: Bad magic number, should be 42.
> >                at com.sun.media.jai.codecimpl.CodecUtils.toIOException(CodecUtils.java:76)
> >                at com.sun.media.jai.codecimpl.TIFFImageDecoder.getNumPages(TIFFImageDecoder.java:98)
> >                ... 27 more
> > Caused by: java.lang.IllegalArgumentException: Bad magic number, should be 42.
> >                at com.sun.media.jai.codec.TIFFDirectory.getNumDirectories(TIFFDirectory.java:601)
> >                at com.sun.media.jai.codecimpl.TIFFImageDecoder.getNumPages(TIFFImageDecoder.java:96)
> >                ... 27 more
> > 
> > 
> > 
> > 
> > --
> > Kai Schleicher, PhD | Research Associate in Advanced Light Microscopy | Biozentrum, University of Basel | Klingelbergstrasse 50/70 | CH-4056 Basel
> > Phone: +41 61 267 22 50 | kai.schleicher at unibas.ch<mailto:kai.schleicher at unibas.ch> | www.biozentrum.unibas.ch<http://www.biozentrum.unibas.ch/> | www.microscopynetwork.unibas.ch<http://www.microscopynetwork.unibas.ch/>
> > 
> 
> > _______________________________________________
> > ome-users mailing list
> > ome-users at lists.openmicroscopy.org.uk
> > http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-users
> 


More information about the ome-users mailing list