Source code for crtomo.debug
"""This file contains certain functionality used for testing purposes.
One example is the interface to return grid objects based on CRTomo grids that
are distributed with crtomo_tools.
"""
import pkg_resources as pk
import crtomo.grid as CRGrid
# if pk.resource_exists(module, rfile):
# sys.stdout.write(pk.resource_filename(module, rfile))
grid_files = {
20: {
'elem': 'debug_data/elem_20elecs.dat',
'elec': 'debug_data/elec_20elecs.dat',
},
40: {
'elem': 'debug_data/elem_40elecs.dat',
'elec': 'debug_data/elec_40elecs.dat',
},
}
[docs]
def get_grid(key):
"""Return a :class:`crtomo.grid.crt_grid` instance, with a debug grid that
is distributed with the crtomo package. Multiple grids are available:
* key=20 - a 20 electrode grid with 1m spacing, 4 elements between
electrodes, rectangular elements.
* key=40 - a 40 electrode grid with 1m spacing, 4 elements between
electrodes, rectangular elements.
Parameters
----------
key: string
key that identifies the grid
Returns
-------
grid: :class:`crtomo.grid.crt_grid` instance
loaded grid object
"""
rbase = grid_files[key]
elem_file = pk.resource_filename('crtomo', rbase['elem'])
elec_file = pk.resource_filename('crtomo', rbase['elec'])
grid = CRGrid.crt_grid(elem_file=elem_file, elec_file=elec_file)
return grid