def test_good(self): list = xraylib.GetRadioNuclideDataList() self.assertEqual(len(list), 10) for i, v in enumerate(list): rnd = xraylib.GetRadioNuclideDataByIndex(i) self.assertEqual(rnd['name'], v) rnd = xraylib.GetRadioNuclideDataByName(v) self.assertEqual(rnd['name'], v) rnd = xraylib.GetRadioNuclideDataByIndex(3) self.assertEqual(rnd['A'], 125) self.assertAlmostEqual(rnd['GammaEnergies'], [35.4919]) self.assertAlmostEqual(rnd['GammaIntensities'], [0.0668]) self.assertEqual(rnd['N'], 72) XrayIntensities = [ 0.0023, 0.00112, 0.0063, 0.056, 0.035, 0.0042, 0.007, 0.00043, 0.0101, 0.0045, 0.00103, 0.0016, 3.24e-05, 0.406, 0.757, 0.0683, 0.132, 0.00121, 0.0381, 0.0058 ] self.assertAlmostEqual(rnd['XrayIntensities'], XrayIntensities) XrayLines = [ -86, -60, -89, -90, -63, -33, -34, -91, -95, -68, -38, -39, -1, -2, -3, -5, -6, -8, -11, -13 ] self.assertEqual(rnd['XrayLines'], XrayLines) self.assertEqual(rnd['Z'], 53) self.assertEqual(rnd['Z_xray'], 52) self.assertEqual(rnd['nGammas'], 1) self.assertEqual(rnd['nXrays'], 20) self.assertEqual(rnd['name'], '125I') rnd = xraylib.GetRadioNuclideDataByName('125I') self.assertEqual(rnd['A'], 125) self.assertAlmostEqual(rnd['GammaEnergies'], [35.4919]) self.assertAlmostEqual(rnd['GammaIntensities'], [0.0668]) self.assertEqual(rnd['N'], 72) XrayIntensities = [ 0.0023, 0.00112, 0.0063, 0.056, 0.035, 0.0042, 0.007, 0.00043, 0.0101, 0.0045, 0.00103, 0.0016, 3.24e-05, 0.406, 0.757, 0.0683, 0.132, 0.00121, 0.0381, 0.0058 ] self.assertAlmostEqual(rnd['XrayIntensities'], XrayIntensities) XrayLines = [ -86, -60, -89, -90, -63, -33, -34, -91, -95, -68, -38, -39, -1, -2, -3, -5, -6, -8, -11, -13 ] self.assertEqual(rnd['XrayLines'], XrayLines) self.assertEqual(rnd['Z'], 53) self.assertEqual(rnd['Z_xray'], 52) self.assertEqual(rnd['nGammas'], 1) self.assertEqual(rnd['nXrays'], 20) self.assertEqual(rnd['name'], '125I')
def test_bad(self): with self.assertRaises(ValueError): xraylib.GetRadioNuclideDataByName("jwjfpfj") with self.assertRaises(TypeError): xraylib.GetRadioNuclideDataByName(0) with self.assertRaises(ValueError): xraylib.GetRadioNuclideDataByName(None) with self.assertRaises(ValueError): xraylib.GetRadioNuclideDataByIndex(-1) with self.assertRaises(ValueError): xraylib.GetRadioNuclideDataByIndex(10) with self.assertRaises(TypeError): xraylib.GetRadioNuclideDataByIndex(None) with self.assertRaises(TypeError): xraylib.GetRadioNuclideDataByIndex("jpwjfpfwj")
def ra_select(self): r = self.ra_cb.currentIndex() if r > 0: self.rad = xrl.GetRadioNuclideDataByIndex(r - 1) else: self.rad = {} self.apply_rad_act()
print(" Name: {}".format(rnd['name'])) print(" Z: {}".format(rnd['Z'])) print(" A: {}".format(rnd['A'])) print(" N: {}".format(rnd['N'])) print(" Z_xray: {}".format(rnd['Z_xray'])) print(" X-rays:") for i in range(rnd['nXrays']): print(" {} keV -> {}".format( xraylib.LineEnergy(rnd['Z_xray'], rnd['XrayLines'][i]), rnd['XrayIntensities'][i])) print(" Gamma rays:") for i in range(rnd['nGammas']): print(" {} keV -> {}".format(rnd['GammaEnergies'][i], rnd['GammaIntensities'][i])) rnd = xraylib.GetRadioNuclideDataByIndex(xraylib.RADIO_NUCLIDE_125I) print("RADIO_NUCLIDE_125I") print(" Name: {}".format(rnd['name'])) print(" Z: {}".format(rnd['Z'])) print(" A: {}".format(rnd['A'])) print(" N: {}".format(rnd['N'])) print(" Z_xray: {}".format(rnd['Z_xray'])) print(" X-rays:") for i in range(rnd['nXrays']): print(" {} keV -> {}".format( xraylib.LineEnergy(rnd['Z_xray'], rnd['XrayLines'][i]), rnd['XrayIntensities'][i])) print(" Gamma rays:") for i in range(rnd['nGammas']): print(" {} keV -> {}".format(rnd['GammaEnergies'][i], rnd['GammaIntensities'][i]))
from flask import Blueprint, render_template, request import xraylib from xray_app.methods.forms import Xraylib_Request, Request_Error, Request_Units from xray_app.methods.utils import validate_int, validate_float, validate_str, code_example, make_tup, calc_output, all_trans, all_trans_xrf methods = Blueprint('methods', __name__) #------------------------------------------------------------------------------------------------------------ # Generates dicts and tuples to populate wtforms choices nist_dict = { xraylib.GetCompoundDataNISTByIndex(int(v))['name']: v for k, v in xraylib.__dict__.items() if k.startswith('NIST') } rad_dict = { xraylib.GetRadioNuclideDataByIndex(int(v))['name']: v for k, v in xraylib.__dict__.items() if k.startswith('RADIO') } shell_dict = {k: v for k, v in xraylib.__dict__.items() if k.endswith('SHELL')} trans_dict = {k: v for k, v in xraylib.__dict__.items() if k.endswith('_LINE')} cs_dict = { k: v for k, v in xraylib.__dict__.items() if k.startswith('CS_') and not k.endswith('CP') } dcs_dict = { k: v for k, v in xraylib.__dict__.items() if k.startswith('DCS_') and not k.endswith('CP') or k.startswith('DCSP_') and not k.endswith('CP')