Skip to content

Commit

Permalink
ensure the methods for creating the kernel are equivalent
Browse files Browse the repository at this point in the history
  • Loading branch information
jdkent committed Jan 10, 2024
1 parent a89c16d commit 6236f6c
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions nimare/tests/test_meta_kernel.py
Original file line number Diff line number Diff line change
Expand Up @@ -194,3 +194,24 @@ def test_ALEKernel_memory(testdata_cbma, tmp_path_factory):

assert np.array_equal(ma_maps_cached_fast, ma_maps)
assert elapsed_cached < elapsed


def test_MKDA_kernel_sum_across(testdata_cbma):
"""Test if creating a summary array is equivalent to summing across the sparse array."""
kern = kernel.MKDAKernel(r=10, value=1)
coordinates = testdata_cbma.coordinates.copy()
sparse_ma_maps = kern.transform(coordinates, masker=testdata_cbma.masker, return_type="sparse")
summary_map = kern.transform(
coordinates, masker=testdata_cbma.masker, return_type="summary_array"
)

summary_sparse_ma_map = sparse_ma_maps.sum(axis=0)
mask_data = testdata_cbma.masker.mask_img.get_fdata().astype(bool)

# Indexing the sparse array is slow, perform masking in the dense array
summary_sparse_ma_map = summary_sparse_ma_map.todense().reshape(-1)
summary_sparse_ma_map = summary_sparse_ma_map[mask_data.reshape(-1)]

assert (
np.testing.assert_array_equal(summary_map, summary_sparse_ma_map.astype(np.int32)) is None
)

0 comments on commit 6236f6c

Please sign in to comment.