Diff of /augmentation.py [000000] .. [1cac92]

Switch to unified view

a b/augmentation.py
1
#!/usr/bin/env python3
2
# -*- coding: utf-8 -*-
3
"""
4
Created on Mon Jun  3 10:46:04 2019
5
6
@author: Josefine
7
"""
8
9
import re
10
import glob
11
import sitk_functions as func
12
import SimpleITK as sitk
13
14
def natural_sort(l): 
15
    convert = lambda text: int(text) if text.isdigit() else text.lower() 
16
    alphanum_key = lambda key: [ convert(c) for c in re.split('([0-9]+)', key) ] 
17
    return sorted(l, key = alphanum_key)
18
19
filename_img = natural_sort(glob.glob('WHS/ct_train_test/ct_train/*_image.nii.gz')) # list of file names
20
filename_label = natural_sort(glob.glob('WHS/ct_train_test/ct_train/*_label.nii.gz')) # list of file names
21
22
for k in range(len(filename_img)):
23
    print('Load image',(k+1))
24
    img_sitk = sitk.ReadImage(filename_img[k])
25
    label_sitk = sitk.ReadImage(filename_label[k])
26
    filter = sitk.MinimumMaximumImageFilter()
27
    filter.Execute(img_sitk)
28
    min_val = filter.GetMinimum()
29
    
30
    # NORMAL
31
    sitk.WriteImage(img_sitk,'WHS/Augment_data/normal_{}_image.nii'.format(k))
32
    sitk.WriteImage(label_sitk,'WHS/Augment_data/normal_{}_label.nii'.format(k))
33
34
#    # ROTATION
35
#    [img_rot, label_rot] = func.affine_rotate(img_sitk,label_sitk,min_val)
36
#    sitk.WriteImage(img_rot,'WHS/Augment_data/rot_{}_image.nii'.format(k))
37
#    sitk.WriteImage(label_rot,'WHS/Augment_data/rot_{}_label.nii'.format(k))
38
39
#    # SHEAR
40
#    [img_sh, label_sh] = func.affine_shear(img_sitk,label_sitk,min_val)
41
#    sitk.WriteImage(img_sh,'WHS/Augment_data/sh_{}_image.nii'.format(k))
42
#    sitk.WriteImage(label_sh,'WHS/Augment_data/sh_{}_label.nii'.format(k))
43
#    
44
#    # Intensity
45
#    l1 = func.mult_and_add_intensity_fields(img_sitk)
46
#    sitk.WriteImage(l1,'WHS/Augment_data/intensity_{}_image.nii'.format(k))
47
#    sitk.WriteImage(label_sitk,'WHS/Augment_data/intensity_{}_label.nii'.format(k))
48
49
#    # B SPLINE
50
    numcontrolpoints = 5
51
    stdDeform = 15
52
    dim = 3
53
    [img_bspline, label_bspline] = func.BSplineDeform(img_sitk,label_sitk, dim, numcontrolpoints, stdDeform,min_val)
54
    sitk.WriteImage(img_bspline,'WHS/Augment_data/bspline_{}_image.nii'.format(k))
55
    sitk.WriteImage(label_bspline,'WHS/Augment_data/bspline_{}_label.nii'.format(k))
56
57
    # B SPLINE
58
    numcontrolpoints = 10
59
    stdDeform = 10
60
    dim = 3
61
    [img_bspline, label_bspline] = func.BSplineDeform(img_sitk,label_sitk, dim, numcontrolpoints, stdDeform,min_val)
62
    sitk.WriteImage(img_bspline,'WHS/Augment_data/bspline2_{}_image.nii'.format(k))
63
    sitk.WriteImage(label_bspline,'WHS/Augment_data/bspline2_{}_label.nii'.format(k))
64
    print('Finished with image',(k+1))