[SCIFIO] [ImageJ-devel] [ImgLib2] The img-metadata branch

Mark Hiner hiner at wisc.edu
Wed Jan 8 14:40:36 CST 2014


Hi Brian,

 Sorry to hear that some tests are failing for you now.

 It does sound like there could be a bug here, but I will need more
information to track it down.

 Which tests are you running exactly, and what's the stack trace you get?
If you could provide a minimal set of steps to reproduce the error, that
would be great. Also, where are you setting the pixel size to be 0? (as a
side note, a value of 1.0 might be safer.. which is what these axes are
supposed to default to)

Thanks!
Mark


On Wed, Jan 8, 2014 at 9:57 AM, Brian Northan <bnorthan at gmail.com> wrote:

> Hi Mark
>
> Hope you had a good holiday.   I noticed some tests of mine failing just
> after Christmas. I think the failure possibly has something to do with a
> change in setting pixel size when loading.  Right around line 1000 in this
> commit.
>
>
> https://github.com/scifio/scifio/commit/232261b978cbaeb42eb28c67cdddb7aca1acb1b6
>
> If you remember I have a script SimpleCreatePhantoms.sh which creates a
> blank image then places a sphere in it.  It now fails in the second step
> because it cannot reload the blank image.  I also cannot reload the newly
> created blank image into the latest build of ImageJ.
>
> I have a workaround (set pixel size to zero since I am not actually using
> it right now) so it isn't critical but thought I'd let you know about a
> potential bug.
>
> Brian
>
>
> On Mon, Dec 16, 2013 at 3:32 PM, Mark Hiner <hiner at wisc.edu> wrote:
>
>> No problem. That "error" message when failing to create services is
>> confusing.
>>
>> Glad it's working, let us know if you have any more problems!
>>
>> - Mark
>>
>>
>> On Mon, Dec 16, 2013 at 2:19 PM, Brian Northan <bnorthan at gmail.com>wrote:
>>
>>> Hi Mark
>>>
>>> I just checked and It did work after all...  I actually never checked to
>>> see if the final output was created.  I just saw the exception and assumed
>>> it had stopped.
>>>
>>> So everything appears great now,.  Looks like the floating point numbers
>>> are being saved correctly.
>>>
>>> Thanks for the fix
>>>
>>> Brian
>>>
>>>
>>> On Mon, Dec 16, 2013 at 2:46 PM, Mark Hiner <hiner at wisc.edu> wrote:
>>>
>>>> Hi Brian,
>>>>
>>>>  So, running your CreatePhantomCommand via the DeconvolutionTest class
>>>> actually creates a blank image for me... I ran it from Eclipse directly
>>>> though.
>>>>
>>>>  Also, I did observe the same error message that you saw, but the
>>>> message was just logged and execution continued (because the services that
>>>> failed to instantiate weren't necessary for execution.. so the "error"
>>>> nature of the message is a bit of an overstatement in this case).
>>>>
>>>>  It is possible that some classes in SCIFIO erroneously have required
>>>> services that aren't available in headless mode, but nothing stood out to
>>>> me as suspicious.
>>>>
>>>> Could you do two more things for me:
>>>>
>>>> 1) Try running your scripts without using a headless IJ2 to verify this
>>>> works on your end.
>>>>
>>>> 2) Set the Java system property: "scijava.log.level=4" and re-paste the
>>>> error output. This will turn full debugging on.
>>>>
>>>> Thanks,
>>>> Mark
>>>>
>>>>
>>>> On Mon, Dec 16, 2013 at 11:23 AM, Brian Northan <bnorthan at gmail.com>wrote:
>>>>
>>>>> Hi Mark
>>>>>
>>>>> My code is here: https://github.com/bnorthan/projects -- be warned it
>>>>> is in need of some refactoring which I plan to do as ImageJ2 scripting
>>>>> becomes available.
>>>>>
>>>>> A simple example of running my custom commands is in
>>>>> "SimpleCreatePhantoms.sh"  (the other scripts will not work because of
>>>>> references to things on my own machine).
>>>>>
>>>>> The code is for a project I did earlier in the year (
>>>>> http://spie.org/x648.xml?product_id=2002974).
>>>>>
>>>>> The main program is called DeconvolutionTest.java... which has ended
>>>>> up evolving into a command parser.  I never really polished it though
>>>>> because I am going to throw it away and use ImageJ2 scripting as that
>>>>> develops.     A lot of things in the code base fall into that category,
>>>>> things I put together quickly but are meant to be replaced with the
>>>>> "proper" imagej2 component.
>>>>>
>>>>> SimpleCreatePhantoms.sh just calls a command to create a blank
>>>>> phantom, then a second command to place a sphere in it.
>>>>>
>>>>>
>>>>> On Mon, Dec 16, 2013 at 9:09 AM, Mark Hiner <hinerm at gmail.com> wrote:
>>>>>
>>>>>> P.S. please feel free to send your commands via private e-mail, if
>>>>>> you don't want them to be public.
>>>>>>
>>>>>> Similarly, if you can share the dataset you're using that would be
>>>>>> ideal... but no worries if it's proprietary or anything.
>>>>>>
>>>>>>
>>>>>> On Mon, Dec 16, 2013 at 8:07 AM, Mark Hiner <hiner at wisc.edu> wrote:
>>>>>>
>>>>>>> Hi Brian,
>>>>>>>
>>>>>>>  Ahhh.. I'm sorry! I misunderstood. If that's the actual stack trace
>>>>>>> then no, I don't think you are having any problems with the dependency
>>>>>>> tree, and all your pom settings should be fine given that stack trace.
>>>>>>>
>>>>>>>  Sidetrack: the pom-scijava doesn't actually have snapshot versions.
>>>>>>> It's basically just versioning glue - it defines a version properties to
>>>>>>> help ensure consistent versions of the various SciJava libraries (like
>>>>>>> SCIFIO) are consumed. Using 1.111 is fine, as we want to use the latest
>>>>>>> version of everything since SCIFIO-0.7.4/0.7.5 are quite new. Let me know
>>>>>>> if that's not clear...
>>>>>>>
>>>>>>>   Anyway, since we know it worked in 0.7.3, I would like to bisect<https://www.kernel.org/pub/software/scm/git/docs/git-bisect.html>and figure out what happened. However, I currently can't reproduce the
>>>>>>> issue. When I open a float dataset with SCIFIO 0.7.5 in IJ2 I'm able to
>>>>>>> write it as a .tif. So you're probably exposing a bug with other commands
>>>>>>> interacting with SCIFIO.
>>>>>>>
>>>>>>>  Can you share your custom commands? If not, could you let me know
>>>>>>> which commands you're calling?
>>>>>>>
>>>>>>> Thanks,
>>>>>>> - Mark
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Fri, Dec 13, 2013 at 1:49 PM, Brian Northan <bnorthan at gmail.com>wrote:
>>>>>>>
>>>>>>>> Hi Mark
>>>>>>>>
>>>>>>>> I am using IJ2 in headless mode with some custom commands I wrote.
>>>>>>>> So it is always possible that I still have old references somewhere.
>>>>>>>> However that stack trace was actually generated with 0.7.4.  When I had
>>>>>>>> noted that 0.7.5-SNAPSHOT threw an exception, I went back to 0.7.4 to make
>>>>>>>> sure that worked but it also had the same exception.  Then I went back to
>>>>>>>> 0.7.3 which worked (other than the floating point problem).
>>>>>>>>
>>>>>>>> Below is the stack trace using 0.7.5-SNAPSHOT.   (btw since I am
>>>>>>>> using IJ2 maybe there is something else wrong in the dependency tree??  One
>>>>>>>> of the IJ2 components??  Should I set the sci-java version to a SNAPSHOT
>>>>>>>> version too??  It is 1.111 right now.
>>>>>>>>
>>>>>>>>      at org.scijava.Context.inject(Context.java:273)
>>>>>>>>     at
>>>>>>>> org.scijava.plugin.DefaultPluginService.createInstance(DefaultPluginService.java:241)
>>>>>>>>     at
>>>>>>>> org.scijava.plugin.DefaultPluginService.createInstances(DefaultPluginService.java:229)
>>>>>>>>     at
>>>>>>>> org.scijava.plugin.DefaultPluginService.createInstancesOfType(DefaultPluginService.java:220)
>>>>>>>>     at
>>>>>>>> org.scijava.plugin.AbstractSingletonService.createInstances(AbstractSingletonService.java:95)
>>>>>>>>     at
>>>>>>>> org.scijava.plugin.AbstractSingletonService.getInstances(AbstractSingletonService.java:73)
>>>>>>>>     at
>>>>>>>> org.scijava.plugin.AbstractSingletonService$1.get(AbstractSingletonService.java:87)
>>>>>>>>     at
>>>>>>>> org.scijava.plugin.AbstractSingletonService$1.get(AbstractSingletonService.java:83)
>>>>>>>>     at
>>>>>>>> org.scijava.object.ObjectIndex.resolvePending(ObjectIndex.java:391)
>>>>>>>>     at org.scijava.object.ObjectIndex.get(ObjectIndex.java:136)
>>>>>>>>     at
>>>>>>>> org.scijava.object.DefaultObjectService.getObjects(DefaultObjectService.java:89)
>>>>>>>>     at
>>>>>>>> io.scif.codec.DefaultCodecService.getCodec(DefaultCodecService.java:65)
>>>>>>>>     at
>>>>>>>> io.scif.formats.tiff.TiffCompression.compress(TiffCompression.java:330)
>>>>>>>>     at io.scif.formats.tiff.TiffSaver.writeImage(TiffSaver.java:391)
>>>>>>>>     at io.scif.formats.tiff.TiffSaver.writeImage(TiffSaver.java:279)
>>>>>>>>      at
>>>>>>>> io.scif.formats.TIFFFormat$Writer.savePlane(TIFFFormat.java:1250)
>>>>>>>>     at
>>>>>>>> io.scif.formats.TIFFFormat$Writer.savePlane(TIFFFormat.java:1290)
>>>>>>>>
>>>>>>>>     at io.scif.AbstractWriter.savePlane(AbstractWriter.java:107)
>>>>>>>>     at io.scif.img.ImgSaver.writePlanes(ImgSaver.java:532)
>>>>>>>>     at io.scif.img.ImgSaver.saveImg(ImgSaver.java:380)
>>>>>>>>     at io.scif.img.ImgSaver.saveImg(ImgSaver.java:133)
>>>>>>>>     at io.scif.img.ImgSaver.saveImg(ImgSaver.java:114)
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Fri, Dec 13, 2013 at 1:40 PM, Mark Hiner <hinerm at gmail.com>wrote:
>>>>>>>>
>>>>>>>>>
>>>>>>>>> Hi Brian,
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>  I referenced the scifio 0.7.5-SNAPSHOT (would that be correct to
>>>>>>>>>> get the absolute latest??)
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Yep this should be the latest snapshot.
>>>>>>>>>
>>>>>>>>>  in my POM and ran into an exception when executing my code.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ...
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>      at
>>>>>>>>>> io.scif.formats.TIFFFormat$Writer.savePlane(TIFFFormat.java:1255)
>>>>>>>>>>     at
>>>>>>>>>> io.scif.formats.TIFFFormat$Writer.savePlane(TIFFFormat.java:1295)
>>>>>>>>>>     at io.scif.AbstractWriter.savePlane(AbstractWriter.java:107)
>>>>>>>>>>     at io.scif.img.ImgSaver.writePlanes(ImgSaver.java:532)
>>>>>>>>>>     at io.scif.img.ImgSaver.saveImg(ImgSaver.java:380)
>>>>>>>>>>     at io.scif.img.ImgSaver.saveImg(ImgSaver.java:133)
>>>>>>>>>>     at io.scif.img.ImgSaver.saveImg(ImgSaver.java:114)
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> That stack trace suggests that an older version of the TIFFFormat
>>>>>>>>> is being used. It must be from prior commit 37953<https://github.com/scifio/scifio/commit/379530aab9a9848e59363d87dcbdb79c4842bfc3>(because the TiffSaver.writeImage call is now on line 1250, not 1255). I'm
>>>>>>>>> assuming it's from the 0.7.4 release.
>>>>>>>>>
>>>>>>>>>  Are you just running the code snippet that Curtis posted a while
>>>>>>>>> back (or your own similar snippet)? Or are you using SCIFIO in IJ2, or
>>>>>>>>> another application?
>>>>>>>>>
>>>>>>>>>  Could you run "mvn dependency:tree", or check the "Maven
>>>>>>>>> Dependencies" tab if you're using Eclipse? I'm assuming something must
>>>>>>>>> still have a 0.7.4 SCIFIO reference, which is being pulled in instead of
>>>>>>>>> 0.7.5...
>>>>>>>>>
>>>>>>>>> Sorry for the inconvenience.. let me know what you find!
>>>>>>>>>
>>>>>>>>> Thanks,
>>>>>>>>> Mark
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://scif.io/pipermail/scifio/attachments/20140108/4a443835/attachment-0002.html>


More information about the SCIFIO mailing list