Open hanslovsky opened 6 years ago
Gauss
we can certainly remove. It's been deprecated for years.
In general, I'm for removing everything for which there is already a replacement.
I will compile a list of all deprecated classes/method (and replacements, if any).
package | class | what | replacement | in use within imglib2-algorithm |
---|---|---|---|---|
net.imglib2.algorithm.integral |
ScaleAreaAveraging2d |
two constructors | N/A | no |
net.imglib2.algorithm.labeling |
AllConnectedComponents |
whole class | ConnectedComponents , ConnectedComponentsAnalysis (PR) |
net.imglib2.algorithm.labeling.Watershed |
net.imglib2.algorithm.region.localneighborhood.old |
all classes | whole class | net.imglib2.algorithm.neighborhood |
no/only within deprecated package |
net.imglib2.algorithm.gauss |
all but AbstractGauss |
whole class | net.imglib2.algorithm.gauss3 |
no/only within deprecated package |
net.imglib2.multithreading |
all classes | whole class | N/A | yes |
net.imglib2.algorithm.localextrema |
LocalExtrema |
findLocalExtrema( RandomAccessibleInterval, LocalNeighborhoodCheck, ExecutorService ) |
yes within same class | yes |
net.imglib2.algorithm.fill |
all | all helper interfaces and old unintuitive interfaces in FloodFill |
yes within same class | no |
I suggest removing
net.imglib2.algorithm.integral.ScaleAreaAveraging2d
constructorsnet.imglib2.algorithm.region.localneighborhood.old
net.imglib2.algorithm.gauss
I somehow missed the @Deprecated
tag in LocalExtrema
. Added to the list. The only use within imglib2-algorithm is inside DogDetection
.
I also added all classes relevant for FloodFill
after the merge of #58. I would like to remove those but it feels somewhat wrong because they were deprecated just now.
Some classes in imglib2-algorithm are labeled deprecated, e.g.
net.imglib2.algorithm.gauss.Gauss
. Do we have a timeline for when they should be removed? This should certainly happen before a 1.0.0 release as the zero major version still indicates a fluid API. My thought on this is that this should happen sooner rather than later because multiple classes (some of which are deprecated) with similar functionality can be confusing for callers, for example #59. Also, the sooner deprecated methods disappear, the sooner people stop building their software on top of them.