NOTICE! This is a static HTML version of a legacy Fiji BugZilla bug.

The Fiji project now uses GitHub Issues for issue tracking.

Please file all new issues there.

Bug 512 - Since today updates(2012_10_12) Bio-Formats can not import CZI files any more
Since today updates(2012_10_12) Bio-Formats can not import CZI files any more
Status: RESOLVED FIXED
Product: Fiji
Classification: Unclassified
Component: Bio-Formats
unspecified
PC Windows
: P2 critical
Assigned To: Melissa Linkert
Depends on:
Blocks:
 
Reported: 2012-10-12 14:47 CDT by Sebastian Rhode
Modified: 2012-11-08 17:01 CST
3 users (show)

See Also:

Description Sebastian Rhode 2012-10-12 14:47:27 CDT
HI,

2 days ago there was problem for Fiji to import CZI files (from the Zen Software). Today I updated my Fiji and tries again ...

Here are 2 links to sample files:

2-Channels, 15 Time Points, 20 Z-Slices: http://dl.dropbox.com/u/623476/HeLa-Reggie-GFP_ZT_fast2_bin-CI-measured-PSF.czi

1 simple image: http://dl.dropbox.com/u/623476/Count_Cells_DAPI_Snap.czi

I hope this helps you to sort out the problem.

Cheers,

Sebi




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 ij.Command.runPlugIn(Command.java:146)
	at ij.Command.runCommand(Command.java:95)
	at ij.Executer.run(Executer.java:64)
	at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.NoSuchFieldError: datasetDescription
	at loci.formats.in.DeltavisionReader.<init>(DeltavisionReader.java:125)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	at java.lang.Class.newInstance0(Class.java:355)
	at java.lang.Class.newInstance(Class.java:308)
	at loci.formats.ImageReader.<init>(ImageReader.java:120)
	at loci.plugins.util.LociPrefs.makeImageReader(LociPrefs.java:84)
	at loci.plugins.in.ImportProcess.createBaseReader(ImportProcess.java:591)
	at loci.plugins.in.ImportProcess.initializeReader(ImportProcess.java:472)
	at loci.plugins.in.ImportProcess.execute(ImportProcess.java:142)
	at loci.plugins.in.Importer.showDialogs(Importer.java:141)
	at loci.plugins.in.Importer.run(Importer.java:79)
	at loci.plugins.LociImporter.run(LociImporter.java:81)
	at ij.IJ.runUserPlugIn(IJ.java:185)
	at ij.IJ.runPlugIn(IJ.java:152)
	... 8 more
Comment 1 Sebastian Rhode 2012-10-15 17:17:35 CDT
I tried to find the problem, but I have really no idea , what is going on.
Comment 2 Sebastian Rhode 2012-10-15 17:22:09 CDT
I did more tests. On a similar PC from my college (Win7 64bit) we still have an version of Fiji, where I did not apply the updates. There the CZI import via BioFormats works fine.
So I copied the complete folder to my PC and started the "working" Fiji. But again I ran into errors ...

Any idea what to do about this?

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 ij.Command.runPlugIn(Command.java:146)
	at ij.Command.runCommand(Command.java:95)
	at ij.Executer.run(Executer.java:64)
	at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.NumberFormatException: null
	at java.lang.Integer.parseInt(Integer.java:417)
	at java.lang.Integer.valueOf(Integer.java:554)
	at ome.xml.model.primitives.NonNegativeInteger.valueOf(NonNegativeInteger.java:68)
	at loci.formats.in.ZeissCZIReader.translateInformation(ZeissCZIReader.java:824)
	at loci.formats.in.ZeissCZIReader.translateMetadata(ZeissCZIReader.java:519)
	at loci.formats.in.ZeissCZIReader.initFile(ZeissCZIReader.java:255)
	at loci.formats.FormatReader.setId(FormatReader.java:1105)
	at loci.plugins.in.ImportProcess.initializeFile(ImportProcess.java:482)
	at loci.plugins.in.ImportProcess.execute(ImportProcess.java:146)
	at loci.plugins.in.Importer.showDialogs(Importer.java:141)
	at loci.plugins.in.Importer.run(Importer.java:79)
	at loci.plugins.LociImporter.run(LociImporter.java:81)
	at ij.IJ.runUserPlugIn(IJ.java:185)
	at ij.IJ.runPlugIn(IJ.java:152)
	... 8 more
Comment 3 Curtis Rueden 2012-10-15 19:51:37 CDT
I could not reproduce this problem on my OS X 10.6 system with a fully up-to-date Fiji.

And on Windows 7 64-bit with a fully up-to-date Fiji, I encounter a different error:

> Exception in thread "main" java.io.IOException: The parameter is incorrect
>         at sun.nio.ch.FileDispatcher.pread0(Native Method)
>         at sun.nio.ch.FileDispatcher.pread(Unknown Source)
>         at sun.nio.ch.IOUtil.readIntoNativeBuffer(Unknown Source)
>         at sun.nio.ch.IOUtil.read(Unknown Source)
>         at sun.nio.ch.FileChannelImpl.read(Unknown Source)
>         at ome.scifio.io.NIOByteBufferProvider.allocateDirect(NIOByteBufferProvi
> der.java:133)
>         at ome.scifio.io.NIOByteBufferProvider.allocate(NIOByteBufferProvider.ja
> va:118)
>         at ome.scifio.io.NIOFileHandle.buffer(NIOFileHandle.java:535)
>         at ome.scifio.io.NIOFileHandle.<init>(NIOFileHandle.java:133)
>         at ome.scifio.io.NIOFileHandle.<init>(NIOFileHandle.java:141)
>         at ome.scifio.io.NIOFileHandle.<init>(NIOFileHandle.java:150)
>         at ome.scifio.io.Location.getHandle(Location.java:309)
>         at ome.scifio.io.Location.getHandle(Location.java:280)
>         at ome.scifio.io.Location.getHandle(Location.java:270)
>         at ome.scifio.io.Location.checkValidId(Location.java:333)
>         at loci.common.Location.checkValidId(Location.java:243)
>         at loci.formats.ImageReader.getReader(ImageReader.java:177)
>         at loci.formats.ImageReader.getFormat(ImageReader.java:159)
>         at loci.formats.tools.ImageInfo.configureReaderPreInit(ImageInfo.java:40
> 2)
>         at loci.formats.tools.ImageInfo.testRead(ImageInfo.java:999)
>         at loci.formats.tools.ImageInfo.main(ImageInfo.java:1048)

Or with -DmappedBuffers=true:

> Exception in thread "main" java.io.IOException: The parameter is incorrect
>         at sun.nio.ch.FileDispatcher.read0(Native Method)
>         at sun.nio.ch.FileDispatcher.read(Unknown Source)
>         at sun.nio.ch.IOUtil.readIntoNativeBuffer(Unknown Source)
>         at sun.nio.ch.IOUtil.read(Unknown Source)
>         at sun.nio.ch.FileChannelImpl.read(Unknown Source)
>         at ome.scifio.io.NIOFileHandle.read(NIOFileHandle.java:245)
>         at ome.scifio.io.NIOFileHandle.read(NIOFileHandle.java:237)
>         at ome.scifio.io.NIOFileHandle.read(NIOFileHandle.java:227)
>         at ome.scifio.io.NIOFileHandle.readFully(NIOFileHandle.java:319)
>         at ome.scifio.io.RandomAccessInputStream.readFully(RandomAccessInputStre
> am.java:449)
>         at ome.scifio.io.RandomAccessInputStream.readString(RandomAccessInputStr
> eam.java:385)
>         at loci.common.RandomAccessInputStream.readString(RandomAccessInputStrea
> m.java:265)
>         at loci.formats.in.ZeissCZIReader.readSegment(ZeissCZIReader.java:1628)
>         at loci.formats.in.ZeissCZIReader.initFile(ZeissCZIReader.java:372)
>         at loci.formats.FormatReader.setId(FormatReader.java:1178)
>         at loci.formats.ImageReader.setId(ImageReader.java:729)
>         at loci.formats.ReaderWrapper.setId(ReaderWrapper.java:530)
>         at loci.formats.tools.ImageInfo.testRead(ImageInfo.java:1003)
>         at loci.formats.tools.ImageInfo.main(ImageInfo.java:1048)

The errors above are with CZI files provided by Sebastian. I also tested with a JPEG file and it worked as expected.

Melissa, any ideas?
Comment 4 Sebastian Rhode 2012-10-15 21:47:06 CDT
Hi guys,

I just checked the problem at home, where I use Windows Vista 32bit. I updated Fiji and tried to open one of the CZI files using the BioFormats importer. And I worked just fine ....
So I start to think, this problem has to do (at least partially) with the PC environment, which sounds strange to me.
What kind on info or system data of my PC at work could help you to pin down this problem?

Cheers,  Sebi
Comment 5 Curtis Rueden 2012-10-15 22:01:17 CDT
I investigated further, and noticed that my error "The parameter is incorrect" occurs whenever I try to read from a VirtualBox shared folder, even outside of Java. So Java is just passing along an OS-specific error message, probably a bug in VirtualBox. So my error report can be disregarded; once I copied the file to the local hard drive, it opened as expected.

Sebastian, to me your error messages appears like a not-totally-up-to-date Fiji installation. One thing you can check in Fiji is whether you have any files that are "locally modified": Help > Update Fiji > Advanced mode, then "View locally modified files only". Ideally you shouldn't have any, especially .jar files. Other than that, I am not really sure what could be going on.
Comment 6 Sebastian Rhode 2012-10-15 22:30:43 CDT
Hi Chris,

OK, I will check this again. But what puzzels me, is the behavior I described in comment 2. On my collegues PC it works fine (even the fiji there has not the latest updates). So I thought, well I just copy this folder to my PC and can continue working until you hopefully sorted out the problem.

But the excat same folder copied to my PC does not work. I can not import CZI files and get errors ...

Does this make sense to you?

Sebi
Comment 7 Sebastian Rhode 2012-10-15 22:58:43 CDT
Hi Guys,

In comment 4 I wrote my Fiji at home is fine, which is true (it is up-to-date and no locally modified files). And I also wrote about the Fiji folder from my colleague, which work at work, which was not up-to date, but worked.
This one I copied to my USB stick- I plugged the stick to my PC and tried the import. It does not work (errors below).

But after the update, this problem is gone.So a Fiji which was not up-to-date did:
- work for my colleague on his machine
- did not work at my machine at work
- my up-to-date Fiji at work could not import the CZI
- my colleague´s Fiji did not work on PC at home
- after I updated my collegaue Fiji at home it works for me at home - no more errors

So does this makes sense? The only place where it will not work at all seems to be my machine at work. But I have no clue why.

Sebi


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 ij.Command.runPlugIn(Command.java:146)
	at ij.Command.runCommand(Command.java:95)
	at ij.Executer.run(Executer.java:64)
	at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.NumberFormatException: null
	at java.lang.Integer.parseInt(Integer.java:417)
	at java.lang.Integer.valueOf(Integer.java:554)
	at ome.xml.model.primitives.NonNegativeInteger.valueOf(NonNegativeInteger.java:68)
	at loci.formats.in.ZeissCZIReader.translateInformation(ZeissCZIReader.java:824)
	at loci.formats.in.ZeissCZIReader.translateMetadata(ZeissCZIReader.java:519)
	at loci.formats.in.ZeissCZIReader.initFile(ZeissCZIReader.java:255)
	at loci.formats.FormatReader.setId(FormatReader.java:1105)
	at loci.plugins.in.ImportProcess.initializeFile(ImportProcess.java:482)
	at loci.plugins.in.ImportProcess.execute(ImportProcess.java:146)
	at loci.plugins.in.Importer.showDialogs(Importer.java:141)
	at loci.plugins.in.Importer.run(Importer.java:79)
	at loci.plugins.LociImporter.run(LociImporter.java:81)
	at ij.IJ.runUserPlugIn(IJ.java:185)
	at ij.IJ.runPlugIn(IJ.java:152)
	... 8 more
Comment 8 Sebastian Rhode 2012-10-16 08:49:13 CDT
Hi guys,

so more strange facts. I copied the working Fiji to my USB at tries to read an OME-TIFF (not even an CZI) at work again. It did not work and I got the following error, which look different to the errors I have seen before.

Sebi

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 ij.Command.runPlugIn(Command.java:146)
	at ij.Command.runCommand(Command.java:95)
	at ij.Executer.run(Executer.java:64)
	at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.NoSuchMethodError: ome.xml.model.Image.setAcquiredDate(Ljava/lang/String;)V
	at loci.formats.ome.OMEXMLMetadataImpl.setImageAcquiredDate(OMEXMLMetadataImpl.java:8112)
	at loci.formats.meta.FilterMetadata.setImageAcquiredDate(FilterMetadata.java:1223)
	at loci.formats.MetadataTools.setDefaultCreationDate(MetadataTools.java:317)
	at loci.formats.MetadataTools.populateMetadata(MetadataTools.java:191)
	at loci.formats.MetadataTools.populatePixels(MetadataTools.java:121)
	at loci.formats.MetadataTools.populatePixels(MetadataTools.java:85)
	at loci.formats.in.BaseTiffReader.initMetadataStore(BaseTiffReader.java:392)
	at loci.formats.in.TiffReader.initMetadataStore(TiffReader.java:210)
	at loci.formats.in.BaseTiffReader.initMetadata(BaseTiffReader.java:84)
	at loci.formats.in.BaseTiffReader.initFile(BaseTiffReader.java:502)
	at loci.formats.FormatReader.setId(FormatReader.java:1072)
	at loci.formats.DelegateReader.setId(DelegateReader.java:232)
	at loci.plugins.in.ImportProcess.initializeFile(ImportProcess.java:482)
	at loci.plugins.in.ImportProcess.execute(ImportProcess.java:146)
	at loci.plugins.in.Importer.showDialogs(Importer.java:141)
	at loci.plugins.in.Importer.run(Importer.java:79)
	at loci.plugins.LociImporter.run(LociImporter.java:81)
	at ij.IJ.runUserPlugIn(IJ.java:185)
	at ij.IJ.runPlugIn(IJ.java:152)
	... 8 more
Comment 9 Sebastian Rhode 2012-10-16 09:05:47 CDT
What I also tried is to update LOCI to the trunk build, daily build and finally to the stable 4.4.4 build (since I a bit desperate). Here I got in all cases:

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 ij.Command.runPlugIn(Command.java:146)
	at ij.Command.runCommand(Command.java:95)
	at ij.Executer.run(Executer.java:64)
	at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.NullPointerException
	at java.io.File.<init>(File.java:222)
	at loci.formats.UpgradeChecker.install(UpgradeChecker.java:341)
	at loci.plugins.Updater.install(Updater.java:118)
	at loci.plugins.Updater.run(Updater.java:94)
	at ij.IJ.runUserPlugIn(IJ.java:185)
	at ij.IJ.runPlugIn(IJ.java:152)
	... 8 more
Comment 10 Johannes Schindelin 2012-10-16 09:37:54 CDT
I strongly suspect local-only files to be present (check in Updater's advanced mode), maybe even a stale plugins/loci_tools.jar.
Comment 11 Sebastian Rhode 2012-10-17 09:01:41 CDT
Hi,

I checked again, if there where any locally modified files in place, but the updater did not show any.

So I downloaded the last Fiji release again and did all the updates. And this works, I can import OME-TIFF and CZI again.
And I tried what happens, if I copy the additional files from my old Fiji folder (plugins & macros) to the fresh one. And this got me back to the same errors as before. But since this are quite many files, I do not know, which of them is really responsible for the problem.

So I will will use the fresh Fiji with all updates and copy my old additional files only to the new folder, as I really need it. And if I notice the error reappear again, I can sent you a message.

But from my side it would be OK to close this bug, since it only seems to affect me, for whatever reason ...

But thanks a lot for your help,

Cheers, Sebi
Comment 12 Johannes Schindelin 2012-10-17 15:57:52 CDT
Sorry, I was not quite clear. What I meant is: "local-only", not "locally-modified". The difference is that "local-only" files are not known to the updater, but "locally-modified" ones are known (just not any version the updater knows about).
Comment 13 Sebastian Rhode 2012-11-08 10:04:36 CST
Hi,

this works for me now for at least two weeks. So in my opinion, you can close this one since it was really only a problem on one machine.

Sebastian
Comment 14 Curtis Rueden 2012-11-08 17:01:21 CST
Glad to hear it, thanks Sebastian.