Source code for neuron_morphology.validation.report

import json
from collections import OrderedDict


[docs]class Report(object): def __init__(self): self.file_record = OrderedDict() self.stat_file_record = dict()
[docs] def add_swc_results(self, swc_file, results): record = OrderedDict() record["file_name"] = swc_file record["results"] = [] for result in results: result_record = OrderedDict() result_record['message'] = result.message result_record['ids'] = result.node_ids result_record['level'] = result.level record["results"].append(result_record) self.file_record[swc_file] = record
[docs] def add_marker_results(self, marker_file, results): record = OrderedDict() record['file_name'] = marker_file record['results'] = [] for result in results: result_record = OrderedDict() result_record['message'] = result.message result_record['marker'] = result.marker result_record['level'] = result.level record["results"].append(result_record) self.file_record[marker_file] = record
[docs] def add_swc_stats(self, swc_file, stats): """ This function creates a report for swc statistics """ record = self.file_record[swc_file] if not record: record = OrderedDict() record['file_name'] = swc_file record['stats'] = stats self.file_record[swc_file] = record
[docs] def to_json(self): return json.dumps(self.file_record.values(), indent=4, separators=(',', ': '))
[docs] def has_results(self): for record in self.file_record.values(): if record["results"]: return True else: return False