def test_fbi_ba_sol(): fbisp = FBI(norm=False) nfbislc = fbisp.fbiSolBa2df['I'].values ifbislc = fbisp.fbi_ba_sol(fbisp.fbiSolBa2df['W'].values * nm) print(nfbislc[0:10]) print(ifbislc[0:10]) assert allclose(nfbislc[0:-1], ifbislc[0:-1])
def test_fbi_sigma(): fbisp = FBI(norm=True) nfbic = fbisp.fbidf.FBI_Ba.values * fbisp.sfbi_ba_nm nfbiu = fbisp.fbidf.FBI.values * fbisp.sfbi_nm ifbic = fbisp.fbi_ba_sigma(fbisp.fbidf.II.values * nm) / nm2 ifbiu = fbisp.fbi_sigma(fbisp.fbidf.II.values * nm) / nm2 assert allclose(nfbic / nm2, ifbic) assert allclose(nfbiu / nm2, ifbiu)
def test_fbi_pars(): fbisp = FBI(Q=0.9) assert fbisp.Q == approx(0.9) assert fbisp.max_fbi_slc["W"] == approx(509, rel=0.1) assert fbisp.max_fbi_slc_ba["W"] == approx(420) assert fbisp.max_fbi_sol["W"] == approx(490) assert fbisp.max_fbi_sol_ba["W"] == approx(430)
def select_in_range(): fbisp = FBI(norm=True) # create a FBI object # select the region of response fbiBa = select_in_range(fbisp.fbiSlcBa2df, varx="W", xmin=350, xmax=650) # its more than 99 % of spectrum etot = fbisp.fbiSlcBa2df.sum().I xfbi = fbiBa.sum().I / etot assert xfbi > 0.99
def test_fbi_ba_slc_norm(): fbisp = FBI(norm=True) w = fbisp.fbiSlcBa2df.I / fbisp.fbiSlcBa2df.I.sum() assert np.nansum(w.values) == 1
def test_fbi_maxima2(): fbisp = FBI(norm=False) for ix in range(4): fbi_conf(fbisp, xnum=ix, xmol='FBI') fbi_conf(fbisp, xnum=ix, xmol='FBI_Ba')