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

Mark Hiner hiner at wisc.edu
Mon Dec 16 14:32:34 CST 2013


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


More information about the ImageJ-devel mailing list