1 | # -*- coding: utf-8 -*- |
---|
2 | """ |
---|
3 | Created on 28 november 2017 |
---|
4 | |
---|
5 | @author: delerue |
---|
6 | """ |
---|
7 | |
---|
8 | |
---|
9 | import numpy as np |
---|
10 | import matplotlib.pyplot as plt |
---|
11 | |
---|
12 | #from shutil import copyfile,move |
---|
13 | import os.path |
---|
14 | #from scipy.fftpack import fft, ifft |
---|
15 | #from scipy import signal |
---|
16 | |
---|
17 | from clio_constants import * |
---|
18 | |
---|
19 | global FILE_COMPARE |
---|
20 | global data_directory_base |
---|
21 | |
---|
22 | |
---|
23 | |
---|
24 | def load_reference_signal(): |
---|
25 | global FILE_REF |
---|
26 | |
---|
27 | try: |
---|
28 | fid=open(FILE_REF) |
---|
29 | refname=fid.readline().rstrip() |
---|
30 | fid.close() |
---|
31 | except: |
---|
32 | print "Unable to read reference file" |
---|
33 | refname="" |
---|
34 | |
---|
35 | if (len(refname)>0): |
---|
36 | #read refrence parameters |
---|
37 | ref_key_values={} |
---|
38 | with open(refname,'r') as fid: |
---|
39 | fileline=fid.readline() |
---|
40 | while (len(fileline)>0)and(fileline[0]=='#'): |
---|
41 | entries=fileline.replace('#','').replace(' ','').replace('\n','').split('=') |
---|
42 | ref_key_values[entries[0]]=entries[1] |
---|
43 | fileline=fid.readline() |
---|
44 | fid.close() |
---|
45 | |
---|
46 | #for p in ref_key_values: print p,'=', ref_key_values[p] |
---|
47 | |
---|
48 | allrefdata=np.loadtxt(refname, comments='#', delimiter='\t', usecols=range(0,3)) |
---|
49 | # print allrefdata |
---|
50 | return allrefdata |
---|
51 | |
---|
52 | |
---|
53 | #figure_size (in inches, that is 100*pixels with dpi=100) |
---|
54 | figure_size=(8, 6) |
---|
55 | figure_dpi=100 |
---|
56 | |
---|
57 | alldata=[] |
---|
58 | |
---|
59 | figcomp=plt.figure(1,figsize=figure_size,dpi=figure_dpi) |
---|
60 | figdiff=plt.figure(2,figsize=figure_size,dpi=figure_dpi) |
---|
61 | plt.figure(1) |
---|
62 | |
---|
63 | dataref=load_reference_signal() |
---|
64 | alldata=dataref |
---|
65 | |
---|
66 | with open(FILE_COMPARE) as cfid: |
---|
67 | fname=cfid.readline().rstrip() |
---|
68 | while(len(fname)>0): |
---|
69 | print fname |
---|
70 | filedata=np.loadtxt(fname, comments='#', delimiter='\t', usecols=range(0,3)) |
---|
71 | alldata=np.hstack((alldata,np.zeros((np.shape(alldata)[0],1),dtype=alldata.dtype))) |
---|
72 | colref=np.shape(alldata)[1]-1 |
---|
73 | for angle in alldata[:,0]: |
---|
74 | idx=list(alldata[:,0]).index(angle) |
---|
75 | idxref=np.where(filedata == angle) |
---|
76 | alldata[idx,colref]=filedata[idxref[0],1] |
---|
77 | |
---|
78 | plt.figure(1) |
---|
79 | plt.plot(alldata[:,0], alldata[:,colref],label=os.path.basename(fname).replace("data_CLIO_","").replace(".sig","")) |
---|
80 | plt.figure(2) |
---|
81 | plt.plot(alldata[:,0], alldata[:,colref]-alldata[:,1],label=os.path.basename(fname).replace("data_CLIO_","").replace(".sig","")) |
---|
82 | fname=cfid.readline().rstrip() |
---|
83 | |
---|
84 | # ckey_values={} |
---|
85 | # with open(fname,'r') as fid: |
---|
86 | # fileline=fid.readline() |
---|
87 | # while (len(fileline)>0)and(fileline[0]=='#'): |
---|
88 | # entries=fileline.replace('#','').replace(' ','').replace('\n','').split('=') |
---|
89 | # ckey_values[entries[0]]=entries[1] |
---|
90 | # fileline=fid.readline() |
---|
91 | # fid.close() |
---|
92 | |
---|
93 | cfid.close() |
---|
94 | |
---|
95 | |
---|
96 | plt.figure(1) |
---|
97 | plt.title('Comparison') |
---|
98 | plt.ylabel('Signal amplitude [a.u.]') |
---|
99 | plt.xlabel('Detector angle [deg.]') |
---|
100 | plt.grid(True) |
---|
101 | plt.legend() |
---|
102 | imagenamecomp=data_directory_base+'data_comparison.png' |
---|
103 | figcomp.savefig(imagenamecomp) |
---|
104 | plt.close(figcomp) |
---|
105 | |
---|
106 | plt.figure(2) |
---|
107 | plt.title('Comparison (ref substracted)') |
---|
108 | plt.ylabel('Signal amplitude above reference [a.u.]') |
---|
109 | plt.xlabel('Detector angle [deg.]') |
---|
110 | plt.grid(True) |
---|
111 | plt.legend() |
---|
112 | imagenamediff=data_directory_base+'data_comparison_with_reference.png' |
---|
113 | figdiff.savefig(imagenamediff) |
---|
114 | plt.close(figdiff) |
---|
115 | |
---|