Ticket #878 (closed feature: fixed)
Opened 2011-11-21T10:58:11-06:00
Last modified 2014-08-20T11:45:24-05:00
Support "subtracting" ROIs
Reported by: | dscho | Owned by: | dscho |
---|---|---|---|
Priority: | critical | Milestone: | imagej2-b9-rois |
Component: | Core | Version: | |
Severity: | serious | Keywords: | |
Cc: | Blocked By: | #1022, #1465, #1466 | |
Blocking: | #285, #1010 |
Description
In ImageJ 1.x, you can hold down the Alt key when selecting a region which will _subtract_ the selected part from the current selection.
This requires a substantial extension of our current ROI framework.
Change History
comment:5 Changed 2012-03-02T18:04:09-06:00 by dscho
Unfortunately, JHotDraw does not offer any functionality like that, so most likely I will have to write code to generate a JHotDraw figure from an AWT GeneralPath and use AWT for the geometry operations.
comment:6 Changed 2012-03-03T19:25:59-06:00 by dscho
Progress: I found out how to convert a Java AWT-type Shape object (given its PathIterator) into a JHotDraw-type BezierPath.
Since JHotDraw depends on AWT's geometry classes anyway, we can now rely on java.awt.geom.Area to do the constructive area geometry (such as subtraction). We will also be able to use this to flatten multiple selections into one single composite one.
As always, progress can be seen in the Git repository (in this case, the 'roi-subtract' branch).
comment:7 Changed 2012-03-09T15:49:23-06:00 by dscho
The real problem seems to be that we need to add support for multi-path bezier RegionOfInterests to ImgLib2...
comment:8 Changed 2012-03-23T17:18:27-05:00 by dscho
And related to the lack of multi-path bezier ROIs in ImgLib2: there is no support for such a beast in JHotDrawCanvas either. So I'll do that, too.
comment:10 Changed 2012-03-26T10:49:07-05:00 by curtis
- Blocked By 1022 added
comment:10 Changed 2012-03-29T11:41:53-05:00 by curtis
- Milestone changed from imagej-2.0-beta1 to imagej-2.0-beta2
Finishing this work will have to wait till beta2, as we are too short on time.
comment:13 Changed 2012-07-03T12:53:12-05:00 by curtis
- Milestone changed from imagej-2.0.0-beta3 to imagej-2.0.0-beta4
comment:16 Changed 2012-08-14T10:32:40-05:00 by curtis
- Milestone changed from imagej-2.0.0-beta4 to imagej-2.0.0-beta6
ROIs will be the focus of beta6.
comment:17 Changed 2012-09-06T18:58:46-05:00 by dscho
I worked quite a bit on this and am close to merging things. It requires a change in ImgLib that introduces a dependency on AWT again, but that will go away soon. It also adds our own ad-hoc JHotDraw tool for general paths (i.e. a list of Beziér paths combined with the even/odd winding rule), re-using the BezierTool. The progress can be seen in the 'roi-dscho' branch in imglib.git and the 'roi-subtract' branch in imagej.git.
comment:22 Changed 2014-08-20T11:45:24-05:00 by curtis
- Status changed from accepted to closed
- Resolution set to fixed
Johannes completed this work a long time ago: https://github.com/imagej/imagej/commit/adf307d1ec6072d966c147f5c162d042ecd3662e