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

Curtis Rueden ctrueden at wisc.edu
Thu Oct 24 13:14:24 CDT 2013


Hi Brian,

Apologies for the long delay in reply. It is better to write to a public
mailing list. I am CCing imagej-devel.

> Is the following code snippet still correct given recent changes??
>
> AxisType[] ax = new AxisType[3]; ax[0]=Axes.X; ax[1]=Axes.Y;
> ax[2]=Axes.Z;
>
> ImgPlus<T> imgPlus = new ImgPlus<T>(image, name, ax);
>
> new ImgSaver().saveImg("name.ome.tif", imgPlus);

Firstly, as an aside, please note that ImgSaver has moved from the
net.imglib2:imglib2-io project into io.scif:scifio core.

But yes, the above code is still supposed to work.

However, in practice there is currently a bug in ImgSaver preventing things
from working correctly.

Here is a complete (non-)working example:
https://gist.github.com/ctrueden/6234396

We are working on a fix now and will reply back when the bug is resolved.

Regards,
Curtis


On Tue, Aug 13, 2013 at 5:21 AM, Brian Northan <bnorthan at gmail.com> wrote:

> Hi Curtis
>
> So after updating imglib this morning I now get lots of errors.  Which is
> expected after your changes.  So I suspect after I sort through them and
> rework my code for the changes that saving the axis types will work again.
>
> But one other quick question.  Is the ImageJ2 scripting ready for use??  I
> looked at it a bit a while ago but it didn't seem quite ready.   I have a
> series of commands I call, so temporarily I just use a bash script calling
> Imagej2 in headless mode, with a utility I wrote to parse command name and
> parameters.   Eventually I will switch to the ImageJ scripting...  is it
> usable yet or should I wait a few more months?
>
> Thanks, this stuff is really great.
>
> Brian
>
> On Tue, Aug 13, 2013 at 4:46 AM, Brian Northan <bnorthan at gmail.com> wrote:
>
>> Hi Curtis
>>
>> I have some simple code to wrap an 3D Img<T> as an ImgPlus, define the
>> axis as x,y and z and then save it.  Up until a week or so ago it seemed to
>> work fine.  But now when I read back the image it come in as x, y, t.   Is
>> the following code snippet still correct given recent changes??   Thanks-
>> Brian
>>
>> AxisType[] ax = new AxisType[3];
>>         ax[0]=Axes.X;
>>         ax[1]=Axes.Y;
>>         ax[2]=Axes.Z;
>>
>> ImgPlus<T> imgPlus = new ImgPlus<T>(image, name, ax);
>>
>> new ImgSaver().saveImg("name.ome.tif", imgPlus);
>>
>>
>>
>> On Mon, Aug 12, 2013 at 1:39 PM, Curtis Rueden <ctrueden at wisc.edu> wrote:
>>
>>> Hi all,
>>>
>>> > I will merge the img-metadata branch to master on Thursday.
>>>
>>> Got a bit busy in the interim, but img-metadata is now merged to
>>> imglib.git's master branch:
>>>
>>>
>>> https://github.com/imagej/imglib/commit/e4e26aa05e0f42ff1a90e8c6d67235431471de44
>>>
>>>  The commit message gives a quick gist of the changes, including future
>>> directions.
>>>
>>> Please let me know of any questions or problems with it!
>>>
>>> Regards,
>>> Curtis
>>>
>>>
>>> On Tue, Jul 30, 2013 at 10:28 AM, Curtis Rueden <ctrueden at wisc.edu>wrote:
>>>
>>>> Hi all, and especially ImgLib2 developers,
>>>>
>>>> At the ImgLib2 hackathon this past May, I started work on a branch to
>>>> make it easier to attach per-axis metadata to N-dimensional spaces. I think
>>>> this branch is finally in a merge-worthy state.
>>>>
>>>> It introduces an AnnotatedSpace extension to EuclideanSpace which lets
>>>> you attach on Axis per dimension. It defines TypedSpace, which declares an
>>>> AxisType for each Axis, as well as a CalibratedSpace, which in addition
>>>> adds a calibration value and optional unit name to the mix.
>>>>
>>>> This approach is much more flexible than the previous CalibratedSpace,
>>>> which has been renamed to OldCalibratedSpace and deprecated until we can
>>>> fully transition all the code away from it. In particular, having the axes
>>>> attached to the space directly will allows Views to maintain the axis
>>>> metadata without much additional work.
>>>>
>>>> Note that these new classes are defined in the net.imglib2.meta
>>>> component, which was split into a separate module called imglib2-meta. The
>>>> ImgPlus class moved there, too (it should have been there all along). So
>>>> merging this branch will cause some code breakage, but all should be
>>>> straightforward to fix: rename usages of CalibratedSpace to
>>>> OldCalibratedSpace, and rename the ImgPlus package from net.imglib2.img to
>>>> net.imglib2.meta.
>>>>
>>>> Going forward, we can also add a CalibratedViews class to the
>>>> net.imglib2.meta package which has some additional features such as
>>>> exposing resampled Imgs from a source CalibratedSpace into a target one
>>>> based on the units used. We can lean on a units library for this, as we
>>>> have discussed in the past.
>>>>
>>>> If interested, you can browse the branch at:
>>>> https://github.com/imagej/imglib/compare/img-metadata
>>>>
>>>> If no one objects, I will merge the img-metadata branch to master on
>>>> Thursday.
>>>>
>>>> Regards,
>>>> Curtis
>>>>
>>>>
>>>
>>> _______________________________________________
>>> ImageJ-devel mailing list
>>> ImageJ-devel at imagej.net
>>> http://imagej.net/mailman/listinfo/imagej-devel
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://imagej.net/pipermail/imagej-devel/attachments/20131024/0406b1ef/attachment.html>


More information about the ImageJ-devel mailing list