def __init__(self, directory): subject_mapping = {} with open(configs.MAPPING_FILE) as mappping_file: mappping_file = mappping_file.read().strip().split('\n') for line in mappping_file: id = re.findall(r'^(\d+)\s', line)[0] name = line[len(id) + 1:] subject_mapping[name] = id def getSubject(name): return int(subject_mapping[name]) # self.dataset = SingleDataset() subject_dirs = fileutils.listdir(directory) ann = Annotation() prev_subject_id = None sjList = None for dir in subject_dirs: subject_name = fileutils.dirname(dir) subject_id = getSubject(subject_name) duplicate = None for sj in self.dataset.subjects: if sj.id == subject_id and sj.name == subject_name: duplicate = sj ## if duplicate == None: subject = Subject(subject_id, subject_name) else: subject = duplicate if prev_subject_id != subject_id: sjList = ann.getSubjectList(subject_id) prev_subject_id = subject_id for file in fileutils.recursive_walk(dir): if fileutils.fileextension(file) == configs.LAYER: ### filename = fileutils.filename(file) rc = Record() rc.data = blob.load_np_array(file) rc.label = int(Annotation.getClass(sjList, filename)) rc.frame = filename subject.records.append(rc) print('Loading', subject_id, filename, rc.label) if(duplicate == None): self.dataset.subjects.append(subject)