Reconstruct multi-shot data with pcSENSE¶
Multi-shot acquisitions such as multi-shot diffusion and MRE pick up a different phase in each shot from motion. Plain SENSE treats this as signal and gives ghosting. The pcSENSE programs model the phase of each shot with a phase map, and remove it. Operators describes the model.
Prepare the input¶
To try the programs first, GenSyntheticISMRMRD -o pcsense.h5 -k 128 -r 64 -s 2 -f 20 writes a small two-shot dataset.
Besides the k-space data, SENSEMap and FieldMap, the file needs a PhaseMaps array with one phase map per shot for every image. Input data format gives the layout. FORGE Studio's preparation stages and Magneto's convertRecoInfoToIsmrmrd write it.
The number of shots comes from the header: it is the kspace_encoding_step_1 limit plus one. Check that each shot's acquisitions carry their shot number in kspace_encode_step_1.
Choose a program¶
forgePcSenseTimeSeguses the NUFFT with time-segmented field correction. Use it for spiral and other long readouts. It is much faster than the DFT.forgePcSenseuses an exact field-corrected DFT for each shot. It is slower, but has no NUFFT or time-segmentation approximation.
Run it¶
mkdir -p recon
forgePcSenseTimeSeg -i data.h5 -o recon/ -t 6 -n 10 -B 0.001
or
forgePcSense -i data.h5 -o recon/ -n 10 -B 0.001
-n sets the conjugate gradient iterations and -B the regularization weight, as in forgeSense. Without -t, forgePcSenseTimeSeg uses one time segment per 2 ms of readout with hanning, or per 3 ms with -I minmax or histo.
The output has one magnitude and one phase image per slice, repetition, average, echo and cardiac phase, as described in Output files.
Reconstruct all repetitions together¶
If the repetitions are strongly correlated, as in OSCILLATE acquisitions, a low-rank reconstruction of all repetitions at once can denoise them jointly. See Run a low-rank reconstruction.