source: ETALON/CLIO/control/plot_compare.py @ 748

Last change on this file since 748 was 748, checked in by delerue, 7 years ago

CLIO graphical interface and analysis updated

File size: 3.3 KB
Line 
1# -*- coding: utf-8 -*-
2"""
3Created on 28 november 2017
4
5@author: delerue
6"""
7
8
9import numpy as np
10import matplotlib.pyplot as plt
11
12#from shutil import copyfile,move
13import os.path
14#from scipy.fftpack import fft, ifft
15#from scipy import signal
16
17from clio_constants import *
18
19global FILE_COMPARE
20global data_directory_base
21
22
23
24def 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)
54figure_size=(8, 6)
55figure_dpi=100
56
57alldata=[]
58
59figcomp=plt.figure(1,figsize=figure_size,dpi=figure_dpi)
60figdiff=plt.figure(2,figsize=figure_size,dpi=figure_dpi)
61plt.figure(1)
62
63dataref=load_reference_signal()
64alldata=dataref
65
66with 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
93cfid.close()
94
95
96plt.figure(1)
97plt.title('Comparison')
98plt.ylabel('Signal amplitude [a.u.]')
99plt.xlabel('Detector angle [deg.]')
100plt.grid(True)       
101plt.legend()
102imagenamecomp=data_directory_base+'data_comparison.png'
103figcomp.savefig(imagenamecomp)
104plt.close(figcomp)
105
106plt.figure(2)
107plt.title('Comparison (ref substracted)')
108plt.ylabel('Signal amplitude above reference [a.u.]')
109plt.xlabel('Detector angle [deg.]')
110plt.grid(True)       
111plt.legend()
112imagenamediff=data_directory_base+'data_comparison_with_reference.png'
113figdiff.savefig(imagenamediff)
114plt.close(figdiff)
115
Note: See TracBrowser for help on using the repository browser.