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

Mark Hiner hiner at wisc.edu
Mon Dec 16 13:46:25 CST 2013


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://imagej.net/pipermail/imagej-devel/attachments/20131216/c948f9f2/attachment.html>


More information about the ImageJ-devel mailing list