Ticket #1128 (closed task: fixed)
Unify ImgLib2 Histogram implementations
Reported by: | curtis | Owned by: | aivar |
---|---|---|---|
Priority: | critical | Milestone: | imagej2-b7-ndim-data |
Component: | ImgLib2 | Version: | 2.0.0-beta1 |
Severity: | serious | Keywords: | |
Cc: | christian.dietz@…, Martin.Horn@… | Blocked By: | |
Blocking: | #1398 |
Description
There are currently multiple implementations of a histogram throughout ImgLib2 and KNIP. There is one in net.imglib2.algorithm.stats, as well as another in [net.imglib2.script.analysis].
We need to fix up the net.imglib2.algorithm.stats.Histogram implementation to be flexible enough to cover all use cases. For example, it needs to support using any Iterable<T> rather than only Img<T> or RealCursor<T>.
Change History
comment:2 Changed 7 years ago by curtis
- Milestone changed from imagej-2.0.0-beta3 to imagej-2.0.0-beta4
comment:3 Changed 7 years ago by curtis
- Milestone changed from imagej-2.0.0-beta4 to imagej-2.0.0-beta5
comment:5 Changed 7 years ago by aivar
- Owner changed from curtis to aivar
- Status changed from new to assigned
These histogram implementations mix the basic idea of making a histogram with a means of traversing the image.
The core value to histogram bin assignment should be refactored to use the new Binning class:
https://github.com/imagej/imglib/blob/master/imglib2/core/src/main/java/net/imglib2/Binning.java
Unfortunately the extant histogram variants involve a pass through the image. This is not very efficient if you want to find the image minimum and maximum and then build a histogram of values in that range. I added a ticket #1384.
comment:7 Changed 7 years ago by bdezonia
Christian mentioned that there is also an OpsHistogram class in imglib2 OPS.
comment:8 Changed 7 years ago by curtis
- Milestone changed from imagej-2.0.0-beta6 to imagej-2.0.0-beta7
comment:9 Changed 7 years ago by bdezonia
- Blocking 1398 added; 1203 removed
- Blocked By 1384 removed
I have been doing some work on this for our most recent beta on imglib's histogram-stuff branch. Soon I'll share with others and solicit feedback.
comment:10 Changed 7 years ago by bdezonia
- Milestone changed from imagej2-b8-analysis to imagej2-b7-ndim-data
comment:11 Changed 7 years ago by bdezonia
- Status changed from assigned to closed
- Resolution set to fixed
The histogram changes I made are in Imglib's master branch in the Imglib2 algorithms subproject in the histogram subpackage. Further work is needed by users of Imglib to utilize the new histogram classes. Clsogin this ticket.