--- a
+++ b/export_all_nii.py
@@ -0,0 +1,64 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+"""
+Created on Mon Jan  7 13:57:23 2019
+
+@author: Josefine
+"""
+
+import numpy as np
+import re
+import glob
+from  scipy import ndimage
+import nibabel as nib
+
+def natural_sort(l): 
+    convert = lambda text: int(text) if text.isdigit() else text.lower() 
+    alphanum_key = lambda key: [ convert(c) for c in re.split('([0-9]+)', key) ] 
+    return sorted(l, key = alphanum_key)
+
+files_im = natural_sort(glob.glob('WHS/ct_train_test/ct_test/*_image.nii.gz')) # list of file names
+files_pred = natural_sort(glob.glob('WHS/Results/Predictions/final/prediction_*.npz')) # list of file names
+
+for n in range(len(files_pred)):
+    b0 = nib.load(files_im[n])
+    new_header_b = b0.header.copy()   # Lav en kopi af den header den skal være magen til (i dette tilfælde lab)
+
+    volume = np.load(files_pred[n])
+    data = volume['prob_map']   
+    b = b0.get_data()
+    index1 = int(np.ceil((512-b.shape[2])/2))
+    index2 = int(512-np.floor((512-b.shape[2])/2))
+    cut_data = data[index1:index2,:,:]
+    pred = cut_data.transpose((1,2,0))
+
+    # New CCA (Nearest neighbour interpolation)
+    sep_classes = np.stack((pred==0, pred==1, pred==2, pred==3, pred==4, pred==5, pred==6, pred==7), axis=3)
+    CCA_classes = np.zeros([pred.shape[0],pred.shape[1],pred.shape[2],8])
+    error = np.zeros([pred.shape[0],pred.shape[1],pred.shape[2],8])
+    for m in range(CCA_classes.shape[-1]): 
+        labelled_mask, num_labels = ndimage.label(sep_classes[:,:,:,m])
+        largest_cc_mask = (labelled_mask == (np.bincount(labelled_mask.flat)[1:].argmax() + 1))
+        CCA_classes[:,:,:,m] = largest_cc_mask
+        labelled_mask[largest_cc_mask] = 0
+        labelled_mask[labelled_mask>0] = 1
+        error[:,:,:,m] = labelled_mask
+    classes = CCA_classes.argmax(axis=3)
+    all_errors = error.argmax(axis=3)
+    all_errors[all_errors > 0] = 1
+    classes = classes.astype(np.float64)
+    all_errors = all_errors.astype(np.float64)
+    classes[all_errors == 1] = np.nan
+    invalid = np.isnan(classes)
+    ind = ndimage.distance_transform_edt(invalid, return_distances=False, return_indices=True)
+    postproc = classes[tuple(ind)].astype('uint32')
+    postproc[postproc==1] = 500
+    postproc[postproc==2] = 600
+    postproc[postproc==3] = 420
+    postproc[postproc==4] = 550
+    postproc[postproc==5] = 205
+    postproc[postproc==6] = 820
+    postproc[postproc==7] = 850
+    labBox = nib.Nifti1Image(postproc, b0.affine, new_header_b)
+    index = n + 1
+    nib.save(labBox,'WHS/Results/nii/ct_test_20{}_label.nii.gz'.format(index))
\ No newline at end of file