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')
Exemple #2
0
 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")
Exemple #3
0
 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()
Exemple #4
0
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]))
Exemple #5
0
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')