def _check_file(self, f): """Run tests on a morphology file.""" L.info('File: %s', f) full_result = True full_summary = OrderedDict() try: data = load_data(f) except Exception as e: # pylint: disable=W0703 L.error('Failed to load data... skipping tests for this file') L.error(e.args) return False, {f: OrderedDict([('ALL', False)])} try: result, summary = self._check_loop(data, 'structural_checks') full_result &= result full_summary.update(summary) nrn = fst_core.FstNeuron(data) result, summary = self._check_loop(nrn, 'neuron_checks') full_result &= result full_summary.update(summary) except Exception as e: # pylint: disable=W0703 L.error('Check failed: %s', str(type(e)) + str(e.args)) full_result = False full_summary['ALL'] = full_result for m, s in full_summary.items(): self._log_msg(m, s) return full_result, {f: full_summary}
def _check_file(self, f): '''Run tests on a morphology file''' L.info('File: %s', f) full_result = True full_summary = OrderedDict() try: data = load_data(f) except Exception as e: # pylint: disable=W0703 L.error('Failed to load data... skipping tests for this file') L.error(e.args) return False, {f: OrderedDict([('ALL', False)])} try: result, summary = self._check_loop(data, 'structural_checks') full_result &= result full_summary.update(summary) nrn = fst_core.FstNeuron(data) result, summary = self._check_loop(nrn, 'neuron_checks') full_result &= result full_summary.update(summary) except Exception as e: # pylint: disable=W0703 L.error('Check failed: %s', str(type(e)) + str(e.args)) full_result = False full_summary['ALL'] = full_result for m, s in full_summary.items(): self._log_msg(m, s) return full_result, {f: full_summary}
def fit_results_to_dict(fit_results, min_bound=None, max_bound=None): """Create a JSON-comparable dict from a FitResults object. Arguments: fit_results (FitResults): object containing fit parameters,\ errors and type min_bound: optional min value to add to dictionary if min isn't\ a fit parameter. max_bound: optional max value to add to dictionary if max isn't\ a fit parameter. Returns: JSON-compatible dictionary with fit results Note: Supported fit types: 'norm', 'expon', 'uniform' """ type_map = {'norm': 'normal', 'expon': 'exponential', 'uniform': 'uniform'} param_map = {'uniform': lambda p: [('min', p[0]), ('max', p[0] + p[1])], 'norm': lambda p: [('mu', p[0]), ('sigma', p[1])], 'expon': lambda p: [('lambda', 1.0 / p[1])]} d = OrderedDict({'type': type_map[fit_results.type]}) d.update(param_map[fit_results.type](fit_results.params)) if min_bound is not None and 'min' not in d: d['min'] = min_bound if max_bound is not None and 'max' not in d: d['max'] = max_bound return d
def fit_results_to_dict(fit_results, min_bound=None, max_bound=None): '''Create a JSON-comparable dict from a FitResults object Parameters: fit_results (FitResults): object containing fit parameters,\ errors and type min_bound: optional min value to add to dictionary if min isn't\ a fit parameter. max_bound: optional max value to add to dictionary if max isn't\ a fit parameter. Returns: JSON-compatible dictionary with fit results Note: Supported fit types: 'norm', 'expon', 'uniform' ''' type_map = {'norm': 'normal', 'expon': 'exponential', 'uniform': 'uniform'} param_map = {'uniform': lambda p: [('min', p[0]), ('max', p[0] + p[1])], 'norm': lambda p: [('mu', p[0]), ('sigma', p[1])], 'expon': lambda p: [('lambda', 1.0 / p[1])]} d = OrderedDict({'type': type_map[fit_results.type]}) d.update(param_map[fit_results.type](fit_results.params)) if min_bound is not None and 'min' not in d: d['min'] = min_bound if max_bound is not None and 'max' not in d: d['max'] = max_bound return d