mri-nufft
mri-nufft copied to clipboard
Normalize the `pipe` density.
Currently the pipe
density needs normalization. The best I feel is to take a template data, do FH ( D * F (x)) and normalize based on difference in means
This can help have consistent lipschitz constants and also a good consitent candidate lamda
/mu
values for normalization
a simple normalization like ensure sum of weight = 1 is not enough ?
I find all nufft packages have similar problem. When considering data consistency, y - F(x) remains at a level (when x = FH(y) for initialization) that depends on the density compensation factor. I tried different normalization methods (involving the method you mentioned here), most failed in consistency and some rendered gridding failure. FDFH(y) should be nearly equal to y, but always has 1e2 or more data level difference.
I find all nufft packages have similar problem. When considering data consistency, y - F(x) remains at a level (when x = FH(y) for initialization) that depends on the density compensation factor. I tried different normalization methods (involving the method you mentioned here), most failed in consistency and some rendered gridding failure. F_D_FH(y) should be nearly equal to y, but always has 1e2 or more data level difference.
As an example: subplot(232) is the true kspace signal, (233) is the F(x) in iterations, (236) is their difference. Can always see that F(x) under density compensation is greatly smaller and never reaches loss convergence.
This is based on what sort of normalization? Could you not just normalize the 233 with 232 using multiplication on density compensation..?
This is based on what sort of normalization? Could you not just normalize the 233 with 232 using multiplication on density compensation..?
(233) = F(FH(Dy)) so it has already been multiplied by density compensation :) (236) loss = y - F(FH(D*y))
Thats good, but I mean D is not normalized in any form? Ideally try to just get:
w = mean(y)/mean(F(FH(D*y))
Then update D <- D*w
This is what we are trying to sorta propose in this issue. However, the proposal isnt really dependent on the k-space data but just the k-space locations.
Thanks for your attention. I have tested your advice and this also failed when repeatedly using dcf in adjoint nufft and nufft back to the k-space domain. A little attempt here can show the inconsistency, not the image quality, but the value domain (colorbar).
Some changes to density compensation were added in # 90 (https://github.com/mind-inria/mri-nufft/pull/90/commits/c0aa0c5f725b21c64f09603b250c1b965135e38b)
The main idea is to ensure the PSF is energy preserving.
Thanks for your patience :)