NOTICE! This is a static HTML version of a legacy ImageJ Trac ticket.

The ImageJ project now uses GitHub Issues for issue tracking.

Please file all new issues there.

Ticket #822 (closed task: fixed)

Opened 2011-10-12T16:09:24-05:00

Last modified 2013-08-27T11:05:30-05:00

Integrate dimensions, axes, calibration, etc.

Reported by: bdezonia Owned by: curtis
Priority: major Milestone: imagej2-b8-analysis
Component: Data Model Version:
Severity: serious Keywords:
Cc: Blocked By:
Blocking: #1923


In many places we work with various aspects of Datasets such as it's dimensions, it's axes, it's calibration, etc. In some places we pass two or more of these items as arrays and assume they are in sync.

We should define a space object that each Dataset owns. A space has a number of of axes. And each axis ties together a size (dimension), an axis name/type, an optional calibration value and an optional unit.

This ticket is a reminder of a discussion between Barry and Curtis.

Change History

comment:1 Changed 2011-10-12T16:09:41-05:00 by bdezonia

  • Type changed from defect to task

comment:2 Changed 2013-02-15T14:42:50-06:00 by bdezonia

Recently I did some of this work on an unmerged branch called axes (one in imglib and one in imagej). It encapsulates this behavior in the Axis class. CTR needs to review and discuss with Imglib developers.

comment:3 Changed 2013-02-15T14:43:58-06:00 by bdezonia

  • Blocking 1398 added
  • Milestone changed from imagej-2.0.0 to imagej2-b7-ndim-data

comment:4 Changed 2013-03-07T15:59:55-06:00 by bdezonia

  • Status changed from new to reviewing

comment:5 Changed 2013-03-20T11:25:33-05:00 by bdezonia

  • Blocking 1639 added

comment:6 Changed 2013-05-31T15:45:32-05:00 by bdezonia

  • Blocking 1519 added; 1398 removed
  • Milestone changed from imagej2-b7-ndim-data to imagej2-b8-analysis

comment:7 Changed 2013-06-13T13:11:32-05:00 by bdezonia

  • Blocking 1923 added; 1519 removed

ctrueden is doing new work on this for beta 8.

comment:8 Changed 2013-08-12T12:53:26-05:00 by bdezonia

  • Blocking 1639 removed

(In #1639) Fixed with imglib merge commit  e4e26aa05e0f42ff1a90e8c6d67235431471de44

comment:9 Changed 2013-08-14T12:29:54-05:00 by bdezonia

Work done by ctrueden made its way into imglib and the img-metadata subproject. With commit 5ea19fbf8067d05392f1b898627a061cf160913e this package was added to IJ2. This was only a step that makes sure we can build but its not yet using the new type hierarchy classes fully.

The next step is to massage the current hierarchy to utilize the new functionality. Some ideas that were discussed include:

  • using CombinedRealInterval rather than the old CombinedInterval.
  • maybe migrate CalibratedInterval to something that is a RealInterval and CalibratedSpace.
  • AbstractData should extend DefaultCalibratedSpace and implement RealInterval and Contextual.
  • Dataset should extend Interval and maybe Img
  • Data could extend RealInterval

comment:10 Changed 2013-08-19T10:37:40-05:00 by bdezonia

There are calibration-changes branches on imglib and imagej2 that more or less do the class inheritance changes discussed. Awaiting review by CTR.

comment:11 Changed 2013-08-27T11:05:30-05:00 by bdezonia

  • Status changed from reviewing to closed
  • Resolution set to fixed

The calibration-changes branch was merged to master recently. Closing.