@zaccharieramzi, some of the issues you've been noticing with runtime might be due to the extra work pygrappa does to make sure it works for any arbitrarily sampling pattern. A lot of work is spent finding out what the unique sampling patterns (geometries) are and where the targets need to be interpolated -- this could be done away with if regular under-sampling was assumed.
I do like that pygrappa can "just work": if you hand it a set of under-sampled data it will do a reasonable thing (with the newest addition of an ACS region finder, the user doesn't even need to supply a calibration region if it is embedded in the data). But for users that need more efficiency/speed, it would be nice to provide a GRAPPA implementation more in line with regular under-sampling, e.g. similar to the GRAPPA Recon Tools found here.
@zaccharieramzi, some of the issues you've been noticing with runtime might be due to the extra work pygrappa does to make sure it works for any arbitrarily sampling pattern. A lot of work is spent finding out what the unique sampling patterns (geometries) are and where the targets need to be interpolated -- this could be done away with if regular under-sampling was assumed.
I do like that pygrappa can "just work": if you hand it a set of under-sampled data it will do a reasonable thing (with the newest addition of an ACS region finder, the user doesn't even need to supply a calibration region if it is embedded in the data). But for users that need more efficiency/speed, it would be nice to provide a GRAPPA implementation more in line with regular under-sampling, e.g. similar to the GRAPPA Recon Tools found here.