<div dir="ltr">Hi all, and especially ImgLib2 developers,<div><br></div><div>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.</div>


<div><br></div><div>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.</div>


<div><br></div><div>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.</div>


<div><br></div><div>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.</div>


<div><br></div><div>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.</div>


<div><br></div><div>If interested, you can browse the branch at:</div><div><a href="https://github.com/imagej/imglib/compare/img-metadata" target="_blank">https://github.com/imagej/imglib/compare/img-metadata</a><br></div>

<div><br></div>
<div>If no one objects, I will merge the img-metadata branch to master on Thursday.</div><div><br></div><div>Regards,</div><div>Curtis</div><div><br></div></div>