partial_fourier_pocs

Python port of Gadgetron’s 2D partial_fourier_POCS.

Apologies for docstrings - not a lot in them because I don’t fully understand what’s happening yet.

mr_utils.recon.partial_fourier.partial_fourier_pocs.apply_kspace_filter_ROE1(data, FRO, FE1)[source]

Apply kspace filter in readout direction 1.

Parameters:
  • data (array_like) – kspace data
  • FRO (array_like) –
  • FE1 (array_like) –
Returns:

dataFiltered – Filtered kspace data

Return type:

array_like

mr_utils.recon.partial_fourier.partial_fourier_pocs.compute_2d_filter(fx, fy)[source]

Create a 2d filter from fx, fy.

Parameters:
  • fx (array_like) –
  • fy (array_like) –
Returns:

fxy

Return type:

array_like

mr_utils.recon.partial_fourier.partial_fourier_pocs.generate_symmetric_filter(length, filterType, sigma=1.5, width=15)[source]

Make a symmetric fileter.

Parameters:
  • length (int) – Length of the filter.
  • filterType (ISMRMRD.filter_type) – The type of filter to make.
  • sigma (float) –
  • width (int) – Width of the filter.
Returns:

filter – The computed symmetric filter.

Return type:

array_like

Raises:

Exception – When filterType is unrecognized.

mr_utils.recon.partial_fourier.partial_fourier_pocs.generate_symmetric_filter_ref(length, start, end)[source]

Generate symmetric filter.

Parameters:
  • length (int) – Length of filter.
  • start (int) – Start of filter.
  • end (int) – End of filter.
Returns:

filter – Symmetric filter.

Return type:

array_like

Raises:

Exception – When length, start, and end are not compatible.

mr_utils.recon.partial_fourier.partial_fourier_pocs.partial_fourier_pocs(kspace, startRO, endRO, startE1, endE1, transit_band_RO=0, transit_band_E1=0, niter=10, thres=0.01)[source]

2D Partial Fourier POCS reconstruction.

Parameters:
  • kspace (array_like) – Input kspace (R0 E1 E2 …).
  • startRO (int) – Start of acquired kspace range in readout.
  • endRO (int) – End of acquired kspace range in readout.
  • startE1 (int) – Start of acquired kspace range in E1.
  • endE1 (int) – End of acquired kspace range in E1.
  • transit_band_R0 (int, optional) – Transition band width in pixel for R0
  • transit_band_E1 (int, optional) – Transition band width in pixel for E1
  • niter (int, optional) – Number of maximal iterations for POCS.
  • thres (float, optional) – Iteration threshold.
Returns:

res – POCS reconstruction.

Return type:

array_like

Raises:

Exception – When transition bands are not 0 (partial_fourier_transition_band not implemented).

mr_utils.recon.partial_fourier.partial_fourier_pocs.partial_fourier_reset_kspace(src, dst, startRO, endRO, startE1, endE1)[source]

Reset kspace for POCS reconstruction.

Parameters:
  • src (array_like) – Source kspace data.
  • dst (array_like) – Destination for data.
  • startRO (int) – Start of acquired kspace range in readout.
  • endRO (int) – End of acquired kspace range in readout.
  • startE1 (int) – Start of acquired kspace range in E1.
  • endE1 (int) – End of acquired kspace range in E1.
Returns:

dst – Reset kspace data.

Return type:

array_like