-
Notifications
You must be signed in to change notification settings - Fork 1
/
filters.py
91 lines (72 loc) · 2.37 KB
/
filters.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#!/usr/bin/env python
# numerical and computer vision libraries
import torchvision.transforms as transforms
class AUGMENTER():
'''
Images augmenter / processer.
'''
def __init__(self, input_size):
'''
Initialization function.
Arguments:
input_size: int
- size of patches
'''
# add from arguments
self.input_size = input_size
def get_normalize_transforms(self):
'''
Normalizer.
'''
# initialise transform
normalize_transforms = transforms.Compose([
transforms.Normalize(mean = 0.5, std = 0.5)
])
# return transforms
return normalize_transforms
def get_train_transforms(self):
'''
Train transforms.
'''
# initialise train transforms
train_transforms = transforms.Compose([
transforms.RandomCrop(self.input_size),
transforms.RandomHorizontalFlip(),
transforms.RandomVerticalFlip()
])
# return transforms
return train_transforms
def get_validation_transforms(self):
'''
Validation transforms.
'''
# initialise train transforms
validation_transforms = transforms.Compose([
transforms.RandomCrop(self.input_size),
])
# return transforms
return validation_transforms
def get_denoise_transforms(self, padding):
'''
Denoise transforms.
Arguments:
padding: tuple
- (pad_hl, pad_hr, pad_vt, pad_vb) with:
• pad_hl: int
- left padding
• pad_hr: int
- right padding
• pad_vt: int
- top padding
• pad_vb: int
- bottom padding
'''
# load padding variables
pad_hl, pad_hr, pad_vt, pad_vb = padding
# initialise denoise transforms
denoise_transforms = transforms.Compose([
transforms.Normalize(mean=0.5, std=0.5),
transforms.Pad(padding=(pad_hl, pad_vt, pad_hr, pad_vb), padding_mode='reflect')
])
# return transforms
return denoise_transforms