Closed acardona closed 3 years ago
I merged #87 and rebased this PR over top the newest master.
Ready to merge as far as I can tell.
Hi @ctrueden, are there any adjustments to the POM that should be made prior to merging, or can it be merged as is? Thanks!
are there any adjustments to the POM that should be made prior to merging
It doesn't look like you relied on any unreleased functionality from SNAPSHOTs, so probably it's all good.
Tangentially: you can use this script to check that all commits on the branch compile with passing tests. Here is the result on my system with the current branch:
So e93de982691923900d2ce332ba6e957996f004c2 breaks the build, and e8c7e43a7ce3f6092e7d15ab41a50d1bf1415c4c (five commits later) fixes it. This will hamper use of git bisect
inside this range later for isolating bugs.
Aside from that, one big problem I notice is that there are no unit tests for these new functions. It's really important to add some before merging.
I'm not a primary maintainer of this component—that's @tpietzsch and @axtimwalde and @StephanPreibisch. One of them should review and merge this work, not you or me.
Thanks @ctrueden, regarding the 5 commits that fail, I'm happy to merge all those 5 commits into a single one, but it seems that would only make matters worse. Each change is small in any case, which is why I committed them separately for documentation.
Regarding tests: I understand automatic testing is desirable. I do all my testing in scripts, as this library is meant to be used from scripts, to enable bypassing performance limitations of low-level code in some scripting languages.
If writing tests from java as JUnit tests in this very same repository is a requirement, I'll try to find time for that eventually. They weren't there before for this library.
I have now added tests for all new classes as requested.
Given that the creation of ImgMath sublibrary was approved and this pull request merely adds additional classes in the same tune, without changing anything else outside of the net.imglib2.algorithm.math package, I will go ahead and merge this pull request in a few days unless objections are raised.
Additional features for ImgMath, including:
RandomAccessible
as input, which enables e.g. offset reading, to create e.g. convolution filters or integral images (by reading from the prior pixel and writing onto the same image as the source).IntegralImg
or any other form of integral image (also known as sum area tables) expressed as aRandomAccessible
.KDTree
plus a radius as input.Math.log
andMath.exp
, not based onNumericType
math because this type lacks these functions.