-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Version 2.84.0 does not open tif images any more #406
Comments
Thanks @sunsear for reporting, I can reproduce the issue. For the record, here's what changed between scijava-common-2.83.3...scijava-common-2.85.0 I suspect it might be the changes to |
I did a little compare there, but there was so much change in IO related stuff that I couldn’t see what the relevant part would be. Hope @ctrueden knows! |
The reason is this commit added between
... and the fact that |
@ctrueden , @imagejan , any progress on this? We are stuck with scijava/scijava-ui-swing#54 because of this issue. Look forward to hearing from you! |
See scijava/scijava-common#406. With scijava-common 2.84.0, the generic typing of AbstractIOPlugin has changed from String to Location. While the String-based methods were kept for compatibility, we have to re-compile SCIFIO with a newer dependency to restore binary compatibility.
@sunsear if I understand correctly, we have a binary version incompatibility issue here. Because Can you test whether a |
@imagejan I just updated my project to SciJava pom 30.0.0 and after one build this problem poped up. Indeed if I simply replaced scijava-common version 2.85.0 with 2.83.3 everything worked again. For me with scijava-common version 2.85.0, Open... no longer uses SCIFIO with scifio turned on. Also, drag and drop of extended file types on the toolbar doesn't allow for opening them. My scifio is 0.41.1 so it should have your pull request @scifio #444 but still I have this problem. Any tips? Anything I can test? Will my custom types created by extending AbstractIOPlugin still work or will they need an update? Let me know if I should move some of these questions elsewhere. |
…ring) This commit fixes an issue caused by calling the Location version of the method supportsOpen() in all cases when many IOPlugin do not yet implement that Location version of that method and therefore always return false. Instead now IOService getOpener(string) directly calls the string version of supportsOpen. This ensures older IOPlugin that can support the file provided are discovered and used.
Actually, I am not sure it is a problem with SCIFIO. I set some breakpoints and found the problem seems to start in the DefaultLegacyOpener. it seems that the call to ioService.getOpener(path) always returns org.scijava.text.io.TextIOPlugin but for images it should return io.scif.io.DatasetIOPlugin (and in other cases, it should return other handlers). The way things are written in scijava-common all handlers that do not implement supportsOpen(Location source) will always return false and org.scijava.text.io.TextIOPlugin is the only handler that actually implements that method for Locations. So it seems to me there are two options
The above commit make the change in the IOService and appears to fix the problem for in my tests. |
With version 2.85.0 it is no longer possible to successfully open tif images. Larger images put the CPU at 100% for minutes, usually takes a second or so. Smaller images result in:
Steps to reproduce:
Succesful opening of images
Make a project with:
It is now possible to use IJLauncher to open an image and do stuff with it.
Failed opening of images
<scijava-common.version>2.85.0</scijava-common.version>
Full project
This project, branch and pom reproduces the problem:
https://github.com/sunsear/colour_deconvolution_IJ2/blob/feature/more_decimals/pom.xml
The text was updated successfully, but these errors were encountered: