diff --git a/test/test_imagewrapper.py b/test/test_imagewrapper.py index 2280fabc0eb42cc44db2bf0ca434ea149b4b5b82..e87318c1b07ea15f77f7ba2a5a59fe44a3523d34 100644 --- a/test/test_imagewrapper.py +++ b/test/test_imagewrapper.py @@ -192,6 +192,43 @@ def test_adjustCoverage(): assert np.all(imagewrap.adjustCoverage(coverage, expansion) == result) +def test_sliceOverlap(): + + # A bunch of random coverages + for i in range(250): + + # 2D, 3D or 4D? + # ndims is the number of dimensions + # in one vector/slice/volume + ndims = random.choice((2, 3, 4)) - 1 + + # Shape of one vector[2D]/slice[3D]/volume[4D] + shape = np.random.randint(5, 100, size=ndims + 1) + + # Number of vectors/slices/volumes + nvols = shape[-1] + + coverage = random_coverage(shape) + + # Generate some slices that should + # be contained within the coverage + for j in range(250): + slices = random_slices(coverage, shape, 'in') + assert imagewrap.sliceOverlap(slices, coverage) == imagewrap.OVERLAP_ALL + + # Generate some slices that should + # overlap with the coverage + for j in range(250): + slices = random_slices(coverage, shape, 'overlap') + assert imagewrap.sliceOverlap(slices, coverage) == imagewrap.OVERLAP_SOME + + # Generate some slices that should + # be outside of the coverage + for j in range(250): + slices = random_slices(coverage, shape, 'out') + assert imagewrap.sliceOverlap(slices, coverage) == imagewrap.OVERLAP_NONE + + def test_sliceCovered(): # A bunch of random coverages @@ -214,19 +251,19 @@ def test_sliceCovered(): # be contained within the coverage for j in range(250): slices = random_slices(coverage, shape, 'in') - assert imagewrap.sliceCovered(slices, coverage, shape) + assert imagewrap.sliceCovered(slices, coverage) # Generate some slices that should # overlap with the coverage for j in range(250): slices = random_slices(coverage, shape, 'overlap') - assert not imagewrap.sliceCovered(slices, coverage, shape) + assert not imagewrap.sliceCovered(slices, coverage) # Generate some slices that should # be outside of the coverage for j in range(250): slices = random_slices(coverage, shape, 'out') - assert not imagewrap.sliceCovered(slices, coverage, shape) + assert not imagewrap.sliceCovered(slices, coverage) # The sum of the coverage ranges + the