def get_task_from_paths(paths, tasks): ids_task = {} for path in paths: id = HandManager.get_id_from_path(path) task = "_" + HandManager.get_task_from_path(path) + "." if task in tasks: if id in ids_task: temp_path = ids_task[id] temp_path.append(path) ids_task.update({id: temp_path}) else: ids_task[id] = [path] return ids_task
def get_task_files(tasks, paths): task_paths = [] try: if not isinstance(tasks, list): tasks = [tasks] for task in tasks: for path in paths: if task in '_' + HandManager.get_task_from_path( path) + '.': task_paths.append(path) except TypeError as error: print("Error: ", error) print("Task: ", tasks) return task_paths
def split(paths, healthy_task, diseased_task, test_task, training_number, validation_number): # Ottengo le liste degli id dei pazienti selezionati per eseguire le varie di modellazione, distinguendo tra id # di pazienti sani e malati. listh_training, listh_validation, listh_test, listd_training, listd_validation, listd_test = TaskManager.__split( training_number, validation_number) training_list_diseased = [] training_list_healthy = [] test_list_healthy = [] test_list_diseased = [] validation_list_diseased = [] validation_list_healthy = [] # In questo for vengono individuati dati path del sistema tutti i tasks che sono stati selezionati per la modellazione # se il tasks si identifica come uno dei tasks richiesti allora si verifica l'id a cui il tasks appartiene per essere # correttamente smistato nella lista di appartenenza corretta. for path in paths: id = HandManager.get_id_from_path(path) task = "_" + HandManager.get_task_from_path(path) + "." # Verifico se il tasks nel path è uno di quelli selezionati per i pazienti con malattia. if task in diseased_task: # Verifico se l'id del paziente è presente nella lista dei pazienti con malattia. training_list_diseased, validation_list_diseased = TaskManager.__id_in_list( id, path, listd_training, listd_validation, training_list_diseased, validation_list_diseased) # In questo if si verificano i tasks per i pazienti considerati sani if task in healthy_task: training_list_healthy, validation_list_healthy = TaskManager.__id_in_list( id, path, listh_training, listh_validation, training_list_healthy, validation_list_healthy) # In questo if si verificano i tasks selezionati per i test if task in test_task: if id in listh_test: test_list_healthy.append(path) elif id in listd_test: test_list_diseased.append(path) return training_list_diseased, training_list_healthy, test_list_healthy, test_list_diseased, \ validation_list_diseased, validation_list_healthy