From 7a6f4a031eeb10b29a6428e25febfa2a587d61f6 Mon Sep 17 00:00:00 2001 From: Asma TANABENE Date: Thu, 5 Dec 2024 15:01:18 +0100 Subject: [PATCH] adding density normalization --- src/mrinufft/operators/interfaces/cufinufft.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/mrinufft/operators/interfaces/cufinufft.py b/src/mrinufft/operators/interfaces/cufinufft.py index a0f00005..e6f58518 100644 --- a/src/mrinufft/operators/interfaces/cufinufft.py +++ b/src/mrinufft/operators/interfaces/cufinufft.py @@ -906,6 +906,7 @@ def pipe( raise ValueError( "gpuNUFFT is not available, cannot " "estimate the density compensation" ) + original_shape = volume_shape volume_shape = np.array([_next235beven(int(osf * i), 1) for i in volume_shape]) grid_op = MRICufiNUFFT( samples=kspace_loc, @@ -922,4 +923,9 @@ def pipe( grid_op.adj_op(density_comp.astype(grid_op.cpx_dtype)) ).squeeze() ) + if normalize: + test_op = MRICufiNUFFT(samples=kspace_loc, shape=original_shape, **kwargs) + test_im = cp.ones(original_shape, dtype=test_op.cpx_dtype) + test_im_recon = test_op.adj_op(density_comp * test_op.op(test_im)) + density_comp /= cp.mean(cp.abs(test_im_recon)) return density_comp.squeeze()