Ticket #285 (assigned feature)
Opened 2010-11-29T08:39:15-06:00
Last modified 2013-08-19T15:39:04-05:00
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
Change History
Changed 2010-11-29T08:40:05-06:00 by leek
- attachment Segmentation and labeling in ImageJ.doc added
comment:1 Changed 2010-11-29T08:58:19-06:00 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 2010-12-13T10:25:06-06:00 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 2010-12-13T10:28:32-06:00 by leek
- Status changed from closed to reopened
- Resolution fixed deleted
comment:4 Changed 2011-01-18T09:31:16-06:00 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 2011-01-18T11:13:37-06:00 by leek
I will present my segmentation code during the Hackathon - slide deck and talk preparation.
comment:6 Changed 2011-04-11T10:11:56-05:00 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 2011-07-27T15:10:31-05:00 by curtis
- Milestone changed from imagej-2.0-beta1 to imagej-2.0-alpha5
comment:8 Changed 2011-09-12T10:57:59-05:00 by leek
- Milestone changed from imagej-2.0-alpha5 to imagej-2.0-beta3
comment:9 Changed 2012-02-24T15:17:33-06:00 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 2012-02-24T15:17:44-06:00 by curtis
- Component changed from ij-core to ij-data-model
comment:11 Changed 2012-02-24T15:18:01-06:00 by curtis
- Owner changed from leek to curtis
- Status changed from accepted to assigned
comment:15 Changed 2012-05-14T13:10:28-05:00 by curtis
- Summary changed from Improve support for ROIs, segmentation and labeling to Improve support for ROIs, segmentation and labeling (beta4)
comment:16 Changed 2012-05-15T13:13:53-05:00 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 2012-07-03T13:26:11-05:00 by bdezonia
- Blocked By 536, 878, 1103, 1114, 1131, 1152, 1165, 1166, 1174, 1175, 1189, 1196 added
comment:27 Changed 2012-08-14T10:31:12-05:00 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:30 Changed 2012-08-29T16:45:52-05:00 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:33 Changed 2012-10-10T13:14:31-05:00 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 2012-11-21T10:24:08-06:00 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:38 Changed 2012-12-06T12:45:50-06:00 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 2012-12-11T15:32:49-06:00 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 2012-12-12T09:18:11-06:00 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.
Segmentation proposal