Beispiel #1
0
SNAP_PATH = '/mnt/data/snap/'

config_name = sys.argv[1]
config = importlib.import_module(config_name)

fold = int(sys.argv[2])

weights_file = sys.argv[3]

run_id = 'localizer' + '__' + config_name + '__' + datetime.datetime.utcnow().strftime('%Y%m%d%H%M%S')
print(run_id)

vsize = np.asarray([32,32,32])

df_nodes = data.ndsb17_get_df_nodes() 
df_nodes = df_nodes[(df_nodes["diameter_mm"]>=9)]

patient_ids = data.ndsb17_get_patient_ids_noncancer()
for k in range(fold):
    np.random.shuffle(patient_ids)

X_nodules, diams = data.ndsb17_get_all_nodules(np.asarray([64,64,64]), df_nodes)
#X_nodules = [x for x in X_nodules if x.shape == (64,64,64)] # FIXME this was a critical bug, nodules is filtered but diams is not
print("nodules", len(X_nodules))

X_nodules_train, X_nodules_test = data.kfold_split(X_nodules, fold)
diams_train, diams_test = data.kfold_split(diams, fold)

print(len(X_nodules_train), len(X_nodules_test))
fold = int(sys.argv[2])

localizer_weights_file = sys.argv[3]

localizer_output_dir = sys.argv[4]

weights_file = sys.argv[5]

run_id = 'classifier' + '__' + config_name + '__' + datetime.datetime.utcnow(
).strftime('%Y%m%d%H%M%S')
print(run_id)

vsize = np.asarray([32, 32, 32])

df_nodes = data.ndsb17_get_df_nodes()
df_nodes = df_nodes[(df_nodes["diameter_mm"] >= 9)]

patient_ids = data.ndsb17_get_patient_ids_noncancer()
for k in range(fold):
    np.random.shuffle(patient_ids)

X_cancer_nodules, cancer_diams = data.ndsb17_get_all_nodules(
    np.asarray([64, 64, 64]), df_nodes)
print("cancer nodules", len(X_cancer_nodules))

# X_localizer_nodules, _ = data.ndsb17_get_predicted_nodules(np.asarray([64,64,64]), patient_ids, SNAP_PATH+localizer_output_dir, min_activity=config.min_activity_train)
# print("localizer nodules", len(X_localizer_nodules))

df_benign = data.ndsb17_get_df_nodes(cancer_label=0)
X_benign_nodules, benign_diams = data.ndsb17_get_all_nodules(