Ticket #822 (closed task: fixed)

Opened 8 years ago

Last modified 6 years ago

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

Description

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 8 years ago by bdezonia

  • Type changed from defect to task

comment:2 Changed 7 years ago 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 7 years ago by bdezonia

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

comment:4 Changed 6 years ago by bdezonia

  • Status changed from new to reviewing

comment:5 Changed 6 years ago by bdezonia

  • Blocking 1639 added

comment:6 Changed 6 years ago by bdezonia

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

comment:7 Changed 6 years ago by bdezonia

  • Blocking 1923 added; 1519 removed

ctrueden is doing new work on this for beta 8.

comment:8 Changed 6 years ago by bdezonia

  • Blocking 1639 removed

(In #1639) Fixed with imglib merge commit  e4e26aa05e0f42ff1a90e8c6d67235431471de44

comment:9 Changed 6 years ago 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 6 years ago 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 6 years ago by bdezonia

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

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

Note: See TracTickets for help on using tickets.