Ticket #9 (closed feature: fixed)

Opened 10 years ago

Last modified 6 years ago

Redesign core I/O infrastructure

Reported by: curtis Owned by: hinerm
Priority: major Milestone: imagej2-b7-ndim-data
Component: I/O Version:
Severity: non-issue Keywords:
Cc: Blocked By: #47, #100, #215, #327, #649, #850, #860, #1013
Blocking:

Description

ImageJ's current I/O infrastructure is largely built around the ij.io.FileInfo class. It generally assumes it is reading from a file, has many specialized considerations for TIFF and other formats, and is generally not modular in its design. There is also no real way to extend ImageJ's core I/O support other than to hack a special plugin called HandleExtraFileTypes, which has a number of limitations and disadvantages.

In contrast, the Bio-Formats library was designed with extensibility in mind. We propose a core ImageJ I/O package, similar to loci.formats, with IFormatReader- and IFormatWriter-like interfaces, to make it easier to extend ImageJ's file format support in a general way. Plugins implementing the correct interface would be automatically detected as new supported file types, and work out of the box with the ImageJ "Open" command.

Change History

comment:1 Changed 9 years ago by curtis

  • Milestone changed from progress-report to imagej-2.0-beta

comment:2 Changed 8 years ago by curtis

By the alpha1 release, we want File > Open to work extensibly, as well as File > Save. Both should have file filters based on the discovered I/O plugins.

comment:3 Changed 8 years ago by curtis

  • Milestone changed from imagej-2.0-alpha1 to imagej-2.0-alpha2

comment:4 Changed 8 years ago by curtis

  • Milestone changed from imagej-2.0-alpha2 to imagej-2.0-alpha3

This is not going to make it into 2.0-alpha2. Will shoot for 2.0-alpha3.

comment:5 Changed 8 years ago by curtis

  • Milestone changed from imagej-2.0-alpha3 to imagej-2.0-beta1

comment:6 Changed 8 years ago by curtis

See also ticket #100.

comment:7 Changed 8 years ago by curtis

  • Milestone changed from imagej-2.0-beta1 to imagej-2.0-beta2

comment:8 Changed 7 years ago by curtis

  • Type changed from task to story

comment:9 Changed 7 years ago by curtis

  • Blocking 6 added

comment:10 Changed 7 years ago by curtis

  • Blocked By 100 added

comment:11 Changed 7 years ago by curtis

  • Blocked By 1013 added

comment:12 Changed 7 years ago by curtis

  • Blocked By 215 added

comment:13 Changed 7 years ago by curtis

  • Blocked By 216 added

comment:14 Changed 7 years ago by curtis

  • Blocked By 47 added

comment:15 Changed 7 years ago by curtis

  • Blocked By 327 added

comment:16 Changed 7 years ago by curtis

  • Blocked By 846 added

comment:17 Changed 7 years ago by curtis

  • Blocked By 860 added

comment:18 Changed 7 years ago by curtis

  • Blocked By 846 removed

comment:19 Changed 7 years ago by curtis

  • Blocked By 850 added

comment:20 Changed 7 years ago by curtis

  • Blocked By 649 added

comment:21 Changed 7 years ago by curtis

  • Blocking 6 removed

comment:22 Changed 7 years ago by curtis

  • Milestone changed from imagej-2.0.0-beta3 to imagej-2.0.0-beta4

comment:23 Changed 7 years ago by curtis

  • Blocked By 1083 added

comment:24 Changed 7 years ago by curtis

  • Blocked By 1081 added

(In #1081) See also #516.

comment:25 Changed 7 years ago by curtis

  • Blocked By 1082 added

comment:26 Changed 7 years ago by curtis

  • Priority changed from critical to minor

comment:27 Changed 7 years ago by curtis

  • Priority changed from minor to major

comment:28 Changed 7 years ago by bdezonia

  • Blocked By 216 removed

comment:29 Changed 7 years ago by curtis

  • Milestone changed from imagej-2.0.0-beta4 to imagej-2.0.0-beta5

comment:30 Changed 7 years ago by curtis

  • Blocked By 516 added

comment:31 Changed 7 years ago by curtis

  • Blocked By 445 added

comment:32 Changed 7 years ago by bdezonia

  • Blocked By 1406 added

comment:33 Changed 7 years ago by curtis

In the past week, we made big progress on  SCIFIO and ImageJ2 sharing a common service framework: in the form of the  SciJava Common library (refactored and generalized from ImageJ2).

This is a big step toward the resolution of this ticket, since it will help cement SCIFIO as the library for writing I/O plugins compatible with ImageJ2, ImgLib2 and more.

comment:34 Changed 6 years ago by bdezonia

  • Blocked By 445 removed

comment:35 Changed 6 years ago by curtis

  • Status changed from new to reviewing

comment:36 Changed 6 years ago by curtis

  • Status changed from reviewing to accepted

comment:37 Changed 6 years ago by curtis

  • Owner changed from curtis to hinerm
  • Status changed from accepted to assigned

Assigning to hinerm, because it is increasingly clear that this ticket is really about getting SCIFIO to a beta release point that can be integrated with the ImageJ2 beta7 release. Of course, I will still be very involved, but hinerm is essentially already taking point on this work.

comment:38 Changed 6 years ago by bdezonia

  • Blocked By 1704 added

comment:39 Changed 6 years ago by bdezonia

  • Blocked By 47 removed

comment:40 Changed 6 years ago by bdezonia

  • Blocked By 100 removed

comment:41 Changed 6 years ago by bdezonia

  • Blocked By 215 removed

comment:42 Changed 6 years ago by bdezonia

  • Blocked By 327 removed

comment:43 Changed 6 years ago by bdezonia

  • Blocked By 649 removed

comment:44 Changed 6 years ago by bdezonia

  • Blocked By 850 removed

comment:45 Changed 6 years ago by bdezonia

  • Blocked By 860 removed

comment:46 Changed 6 years ago by bdezonia

  • Blocked By 1013 removed

comment:47 Changed 6 years ago by bdezonia

  • Milestone changed from imagej2-b7-ndim-data to imagej2-b8-analysis

comment:48 Changed 6 years ago by bdezonia

  • Summary changed from Redesign core I/O infrastructure to Redesign core I/O infrastructure [analysis]

comment:49 Changed 6 years ago by curtis

  • Blocked By 47, 100, 215, 327, 649, 850, 860, 1013 added; 516, 1081, 1082, 1083, 1406, 1704 removed

This ticket is really about improving the infrastructure if I/O for ImageJ2. With SCIFIO, we have now done that. The 2.0.0-beta-7 release is using SCIFIO 0.1.0—File Open and File Save are now extensible—so this ticket is complete.

Remaining tickets about improving the existing I/O mechanism have been migrated to ticket #1920.

comment:50 Changed 6 years ago by curtis

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

comment:51 Changed 6 years ago by curtis

  • Summary changed from Redesign core I/O infrastructure [analysis] to Redesign core I/O infrastructure

comment:52 Changed 6 years ago by curtis

  • Milestone changed from imagej2-b8-analysis to imagej2-b7-ndim-data
Note: See TracTickets for help on using tickets.