|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
from nnunet.paths import nnUNet_raw_data, preprocessing_output_dir, nnUNet_cropped_data, network_training_output_dir |
|
from batchgenerators.utilities.file_and_folder_operations import * |
|
import numpy as np |
|
|
|
|
|
def convert_id_to_task_name(task_id: int): |
|
startswith = "Task%03.0d" % task_id |
|
if preprocessing_output_dir is not None: |
|
candidates_preprocessed = subdirs(preprocessing_output_dir, prefix=startswith, join=False) |
|
else: |
|
candidates_preprocessed = [] |
|
|
|
if nnUNet_raw_data is not None: |
|
candidates_raw = subdirs(nnUNet_raw_data, prefix=startswith, join=False) |
|
else: |
|
candidates_raw = [] |
|
|
|
if nnUNet_cropped_data is not None: |
|
candidates_cropped = subdirs(nnUNet_cropped_data, prefix=startswith, join=False) |
|
else: |
|
candidates_cropped = [] |
|
|
|
candidates_trained_models = [] |
|
if network_training_output_dir is not None: |
|
for m in ['2d', '3d_lowres', '3d_fullres', '3d_cascade_fullres']: |
|
if isdir(join(network_training_output_dir, m)): |
|
candidates_trained_models += subdirs(join(network_training_output_dir, m), prefix=startswith, join=False) |
|
|
|
all_candidates = candidates_cropped + candidates_preprocessed + candidates_raw + candidates_trained_models |
|
unique_candidates = np.unique(all_candidates) |
|
if len(unique_candidates) > 1: |
|
raise RuntimeError("More than one task name found for task id %d. Please correct that. (I looked in the " |
|
"following folders:\n%s\n%s\n%s" % (task_id, nnUNet_raw_data, preprocessing_output_dir, |
|
nnUNet_cropped_data)) |
|
if len(unique_candidates) == 0: |
|
raise RuntimeError("Could not find a task with the ID %d. Make sure the requested task ID exists and that " |
|
"nnU-Net knows where raw and preprocessed data are located (see Documentation - " |
|
"Installation). Here are your currently defined folders:\nnnUNet_preprocessed=%s\nRESULTS_" |
|
"FOLDER=%s\nnnUNet_raw_data_base=%s\nIf something is not right, adapt your environemnt " |
|
"variables." % |
|
(task_id, |
|
os.environ.get('nnUNet_preprocessed') if os.environ.get('nnUNet_preprocessed') is not None else 'None', |
|
os.environ.get('RESULTS_FOLDER') if os.environ.get('RESULTS_FOLDER') is not None else 'None', |
|
os.environ.get('nnUNet_raw_data_base') if os.environ.get('nnUNet_raw_data_base') is not None else 'None', |
|
)) |
|
return unique_candidates[0] |
|
|
|
|
|
def convert_task_name_to_id(task_name: str): |
|
assert task_name.startswith("Task") |
|
task_id = int(task_name[4:7]) |
|
return task_id |
|
|