Source code for hexrd.nf_config.experiment

import logging
import os
import numpy as np

from .config import Config


logger = logging.getLogger('hexrd.config')


[docs]class ExperimentConfig(Config): @property def beam_energy(self): return self._cfg.get('experiment:beam_energy') @property def mat_name(self): return self._cfg.get('experiment:mat_name') @property def ome_range(self): ome_start = self._cfg.get('experiment:ome_start', 0) ome_end = self._cfg.get('experiment:ome_end', 359.75) ome_range = [(ome_start, ome_end)] return ome_range @property def max_tth(self): return self._cfg.get('experiment:max_tth', None) @property def comp_thresh(self): key = 'experiment:comp_thresh' temp = self._cfg.get(key, None) if temp is None: return temp elif np.logical_and(temp <= 1.0, temp > 0.0): return temp else: raise RuntimeError('comp_thresh must be None or a number between 0 and 1') @property def chi2_thresh(self): key = 'experiment:chi2_thresh' temp = self._cfg.get(key, None) if temp is None: return temp elif np.logical_and(temp <= 1.0, temp > 0.0): return temp else: raise RuntimeError('chi2_thresh must be None or a number between 0 and 1') @property def misorientation(self): key = self._cfg.get('experiment:misorientation:use_misorientation') if key is True: parms = dict(misorientation_bnd='experiment:bnd', misorientation_spacing='experiment:spacing') return parms else: parms = dict(misorientation_bnd=None, misorientation_spacing=None) #won't look at spacing if bnd is 0 return parms