Source code for sigpy.mri.rf.util

# -*- coding: utf-8 -*-
"""MRI RF utilities.
"""

import numpy as np

__all__ = ['dinf']


[docs]def dinf(d1=0.01, d2=0.01): """Calculate D infinity for a linear phase filter. Args: d1 (float): passband ripple level in M0**-1. d2 (float): stopband ripple level in M0**-1. Returns: float: D infinity. References: Pauly J, Le Roux P, Nishimra D, Macovski A. Parameter relations for the Shinnar-Le Roux selective excitation pulse design algorithm. IEEE Tr Medical Imaging 1991; 10(1):53-65. """ a1 = 5.309e-3 a2 = 7.114e-2 a3 = -4.761e-1 a4 = -2.66e-3 a5 = -5.941e-1 a6 = -4.278e-1 l10d1 = np.log10(d1) l10d2 = np.log10(d2) d = (a1 * l10d1 * l10d1 + a2 * l10d1 + a3) * l10d2 \ + (a4 * l10d1 * l10d1 + a5 * l10d1 + a6) return d