Ticket #285 (assigned feature)

Opened 8 years ago

Last modified 5 years ago

Improve support for ROIs, segmentation and labeling [rois]

Reported by: leek Owned by: curtis
Priority: major Milestone: imagej2-b9-rois
Component: Data Model Version:
Severity: major Keywords:
Cc: Blocked By: #352, #536, #693, #772, #878, #984, #1048, #1114, #1131, #1152, #1165, #1166, #1174, #1175, #1196, #1259, #1265, #1268, #1281, #1308, #1309, #1462, #1478, #1581, #1936
Blocking:

Description

Propose and refine a mechanism to represent segmentation and labeling in ImageJ.

Attachments

Segmentation and labeling in ImageJ.doc Download (52.5 KB) - added by leek 8 years ago.
Segmentation proposal

Change History

Changed 8 years ago by leek

Segmentation proposal

comment:1 Changed 8 years ago by leek

  • Status changed from new to accepted

I've posted the whitepaper to the imagej dev mailing list and have received some useful feedback:

  • Discussed use of existing shape cursors in imagelib to represent labels and agreed that the overhead they would entail is risky.
  • Discussed adding cursors that iterate over the pixels in the perimeter of labeled objects - there are a number of measurements that only rely on the perimeter pixels. There are compact representations of labelings based on just the perimeter pixels (at least, for blobby objects).

I'm starting to code a reference implementation to prove out the concepts.

comment:2 Changed 8 years ago by leek

  • Status changed from accepted to closed
  • Resolution set to fixed
  • Milestone changed from biweekly-2010: Nov-29 to Dec-10 to biweekly-2010: Dec-13 to Dec-23

I have implemented a preliminary version of labeling. I have also implemented the "All connected components" algorithm for labeling connected regions of a binary image and for labeling an intensity image using the watershed algorithm.

I'll wait for comments before resolving as fixed; I might work on the algorithms to bring them more into line with the others in imglib.algorithms.

comment:3 Changed 8 years ago by leek

  • Status changed from closed to reopened
  • Resolution fixed deleted

comment:4 Changed 8 years ago by leek

  • Status changed from reopened to accepted
  • Milestone changed from biweekly-2010: Dec-13 to Dec-23 to biweekly-2011: Jan-17 to Jan-28

comment:5 Changed 8 years ago by leek

I will present my segmentation code during the Hackathon - slide deck and talk preparation.

comment:6 Changed 8 years ago by leek

  • Milestone changed from biweekly-2011: Mar-28 to Apr-08 to imagej-2.0-alpha2

I have updated the labeling code in the imglib2-roi branch to work with the rest of imglib2 with the exception of the gradient watershed method. This is waiting on completion of FFT code in imglib2.

comment:7 Changed 7 years ago by curtis

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

comment:8 Changed 7 years ago by leek

  • Milestone changed from imagej-2.0-alpha5 to imagej-2.0-beta3

comment:9 Changed 7 years ago by curtis

  • Type changed from task to feature
  • Summary changed from Segmentation representation in ImageJ to Improve support for ROIs, segmentation and labeling

comment:10 Changed 7 years ago by curtis

  • Component changed from ij-core to ij-data-model

comment:11 Changed 7 years ago by curtis

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

comment:12 Changed 7 years ago by curtis

  • Blocked By 878 added

comment:13 Changed 7 years ago by curtis

  • Blocked By 582 added

comment:14 Changed 7 years ago by curtis

  • Blocked By 1048 added

comment:15 Changed 7 years ago by curtis

  • Summary changed from Improve support for ROIs, segmentation and labeling to Improve support for ROIs, segmentation and labeling (beta4)

comment:16 Changed 7 years ago by curtis

  • Blocked By 878 removed

comment:16 Changed 7 years ago by curtis

  • Summary changed from Improve support for ROIs, segmentation and labeling (beta4) to Improve support for ROIs, segmentation and labeling (2.0.0-beta4)

comment:17 Changed 6 years ago by bdezonia

  • Blocked By 536, 878, 1103, 1114, 1131, 1152, 1165, 1166, 1174, 1175, 1189, 1196 added

comment:18 Changed 6 years ago by bdezonia

  • Blocked By 984 added

comment:19 Changed 6 years ago by curtis

  • Blocked By 1265 added

comment:20 Changed 6 years ago by curtis

  • Blocked By 693 added

comment:21 Changed 6 years ago by curtis

  • Blocked By 772 added

comment:22 Changed 6 years ago by curtis

  • Blocked By 1122 added

comment:23 Changed 6 years ago by curtis

  • Blocked By 1259 added

comment:24 Changed 6 years ago by bdezonia

  • Blocked By 1268 added

comment:25 Changed 6 years ago by dscho

  • Blocked By 352 added

comment:26 Changed 6 years ago by curtis

  • Blocked By 1122 removed

comment:27 Changed 6 years ago by curtis

  • Summary changed from Improve support for ROIs, segmentation and labeling (2.0.0-beta4) to Improve support for ROIs, segmentation and labeling (2.0.0-beta6)
  • Milestone changed from imagej-2.0.0-beta4 to imagej-2.0.0-beta6

ROIs will be the focus of beta6.

comment:28 Changed 6 years ago by bdezonia

  • Blocked By 1434 added

comment:29 Changed 6 years ago by bdezonia

  • Blocked By 1308 added

comment:30 Changed 6 years ago by bdezonia

  • Blocked By 1281 added

(In #1281) It seems that in IJ1 an ImageRoi is made. And it is a rectangle with internal image values. You can place it in image and drag it around. I think there might be a way to explode it so that pixels are draw into image.

Anyhow the legacy layer simply detects it as a Rectangle roi and makes a corresponding rectangle. The legacy layer needs to determine that the roi has an image associated with it and make an (as yet unwritten) ImageOverlay that can contain and draw the data.

comment:31 Changed 6 years ago by dscho

  • Blocked By 1462 added

comment:32 Changed 6 years ago by bdezonia

  • Blocked By 1478 added

comment:33 Changed 6 years ago by curtis

  • Summary changed from Improve support for ROIs, segmentation and labeling (2.0.0-beta6) to Improve support for ROIs, segmentation and labeling (2.0.0-beta8)

comment:34 Changed 6 years ago by bdezonia

  • Summary changed from Improve support for ROIs, segmentation and labeling (2.0.0-beta8) to Improve support for ROIs, segmentation and labeling (2.0.0-beta9)

comment:35 Changed 6 years ago by bdezonia

  • Blocked By 1309 added

comment:36 Changed 6 years ago by bdezonia

  • Blocked By 1433 added

comment:37 Changed 6 years ago by bdezonia

  • Blocked By 1433 removed

comment:38 Changed 6 years ago by curtis

  • Summary changed from Improve support for ROIs, segmentation and labeling (2.0.0-beta9) to Improve support for ROIs, segmentation and labeling [rois]

comment:39 Changed 6 years ago by bdezonia

  • Blocked By 1434 removed

(In #1434) This issue was fixed by the code that was put in place to translate the current Overlay as the ImagePlus' Roi and the other Overlays as the ImagePlus' Overlay.

comment:40 Changed 6 years ago by bdezonia

  • Blocked By 582 removed

(In #582) The math plugins rely on a class called InplaceUnaryTransfrom that can be used to transform data in a dataset. One passes the transformation function. It iterates a region and changes pixels. The region defaults to the whole image (or the current plane of the image in a slightly different incarnation). If a user provides an Overlay as an argument it only changes pixels whose coordinate is contained in the Overlay's region of interest.

I think everything this ticket was about is satisified. Closing.

comment:41 Changed 6 years ago by bdezonia

  • Blocked By 1103 removed

comment:42 Changed 6 years ago by bdezonia

  • Blocked By 1189 removed

comment:43 Changed 5 years ago by bdezonia

  • Blocked By 1936 added

comment:44 Changed 5 years ago by bdezonia

  • Blocked By 1581 added
Note: See TracTickets for help on using tickets.