imglib / imglib2-algorithm

Image processing algorithms for ImgLib2
http://imglib2.net/
Other
22 stars 20 forks source link

Timeline for removing deprecated classes #61

Open hanslovsky opened 6 years ago

hanslovsky commented 6 years ago

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.

tpietzsch commented 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.

hanslovsky commented 6 years ago

I will compile a list of all deprecated classes/method (and replacements, if any).

hanslovsky commented 6 years ago
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

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.