def fit(x,x0,a,sigma,gamma,b): laserJitter=2.0 sigma=np.sqrt(sigma**2+laserJitter**2) v0=sps.voigt_profile(0,sigma,gamma) v=sps.voigt_profile(x-x0,sigma,gamma) return a*v/v0 +b
def test_symmetry(self): x = np.linspace(0, 10, 20) assert_allclose(sc.voigt_profile(x, 1, 1), sc.voigt_profile(-x, 1, 1), rtol=1e-15, atol=0)
def phi_LG(x, nuD, nuN): #Voigt line profile #x=nu-nu0 return voigt_profile(x, nuD / np.sqrt(2.), nuN)
def test_nan(self, x, sigma, gamma): assert np.isnan(sc.voigt_profile(x, sigma, gamma))
def test_inf(self, x, desired): assert sc.voigt_profile(x, 1, 1) == desired
def voigt(x, x0, a, b, sigma, gamma): v0 = spspec.voigt_profile(0, sigma, gamma) v = spspec.voigt_profile(x - x0, sigma, gamma) return a * v / v0 + b
def voigtSpaceFit(x, x0, a, sigma, gamma, b): v0 = sps.voigt_profile(0, sigma, gamma) v = sps.voigt_profile(x - x0, sigma, gamma) return a * v / v0 + b
def test_corner_cases(self, x, sigma, gamma, desired): assert sc.voigt_profile(x, sigma, gamma) == desired
def test_continuity(self, sigma1, gamma1, sigma2, gamma2): x = np.linspace(1, 10, 20) assert_allclose(sc.voigt_profile(x, sigma1, gamma1), sc.voigt_profile(x, sigma2, gamma2), rtol=1e-16, atol=1e-16)
def spectral_Profile(self, x, x0, a, b, sigma, gamma): v0 = sps.voigt_profile(0, sigma, gamma) v = sps.voigt_profile(x - x0, sigma, gamma) return a * (v / v0) + b