/
browse_images.py
60 lines (44 loc) · 1.8 KB
/
browse_images.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
from ctawave import io, plot, denoise
import matplotlib.pyplot as plt
from tqdm import tqdm
import pywt
import pywt.data
from matplotlib.backends.backend_pdf import PdfPages
def main():
noise_sigma = 2
wavelet = 'bior1.3'
images = list(io.load_fits_images_in_folder('./resources'))
with PdfPages('multipage.pdf') as pdf:
for i, (calibrated_image, npe_truth) in tqdm(enumerate(images)):
fig = plt.figure()
plt.text(1, 1, 'Event Number: {}'.format(i))
plt.xlim(0, 2)
plt.ylim(0, 2)
plt.axis('off')
pdf.savefig(fig)
plt.close()
# transform the image
level = pywt.swt_max_level(len(calibrated_image))
# print('maximum level of decomposition: {}'.format(level))
coeff_list = pywt.swt2(calibrated_image, wavelet, level)
fig = plot.coefficients(coeff_list)
pdf.savefig(figure=fig)
plt.close()
levels = [0.889, 0.7, 0.586]
coeff_list = denoise.thresholding(coeff_list,
sigma_d=noise_sigma,
kind='hard',
sigma_levels=levels)
# coeff_list = denoise.wiener(coeff_list)
reconstructed_image = pywt.iswt2(coeff_list, wavelet)
fig = plot.results(calibrated_image, reconstructed_image, npe_truth)
pdf.savefig(figure=fig)
plt.close()
fig = plot.pixel_histogram(
reconstructed_image,
calibrated_image,
npe_truth, labels=['reconstructed', 'calibrated', 'npe mc truth'], bins=60)
pdf.savefig(figure=fig)
plt.close()
if __name__ == '__main__':
main()