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

Curtis Rueden ctrueden at wisc.edu
Tue Jul 30 10:28:09 CDT 2013


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://imagej.net/pipermail/imagej-devel/attachments/20130730/d492b350/attachment.html>


More information about the ImageJ-devel mailing list