Changeset 748 in ETALON for CLIO/control/read_plot_data.py


Ignore:
Timestamp:
Nov 29, 2017, 8:27:37 AM (7 years ago)
Author:
delerue
Message:

CLIO graphical interface and analysis updated

File:
1 edited

Legend:

Unmodified
Added
Removed
  • CLIO/control/read_plot_data.py

    r744 r748  
    1414from scipy.fftpack import fft, ifft
    1515from scipy import signal
     16from clio_constants import *
    1617
    1718def read_plot_data(filename):
     
    6869                idx_angles_sorted.append(data_mapping.index(angle))
    6970            idx_data_mapping[data_mapping.index(angle)]=int(len(angles_sorted))
     71           
    7072    #Check if the filename contains the path or not
    7173    if (len(os.path.dirname(filename))==0):
     
    159161        move(filename,target_filename)
    160162           
    161     #print Sig_mean, Sig_std
     163    print Sig_mean, Sig_std
    162164
    163165 
     
    205207    imagename_no_path=os.path.basename(imagename)
    206208
    207 
    208     fid=open(target_directory+'list.html','a');
    209     fid.write("<A HREF=")
    210     fid.write(imagename_no_path)
    211     fid.write("><IMG SRC=")
    212     fid.write(imagename_no_path)
    213     fid.write(" width=600>")
    214     fid.write("</A><BR/>")
    215     fid.write(imagename_no_path)
    216     fid.write("<BR/><BR/>\n")
    217     fid.close()
    218     copyfile(imagename,os.path.dirname(imagename)+'/last.png')
     209## We no longer create an HTML list
     210#    fid=open(target_directory+'list.html','a');
     211#    fid.write("<A HREF=")
     212#    fid.write(imagename_no_path)
     213#    fid.write("><IMG SRC=")
     214#    fid.write(imagename_no_path)
     215#    fid.write(" width=600>")
     216#    fid.write("</A><BR/>")
     217#    fid.write(imagename_no_path)
     218#    fid.write("<BR/><BR/>\n")
     219#    fid.close()
     220#    copyfile(imagename,os.path.dirname(imagename)+'/last.png')
    219221
    220222    if (electrons_found):
     
    227229        figzoom.savefig(imagenamezoom)
    228230        plt.close(figzoom)
    229         copyfile(imagenamezoom,os.path.dirname(imagename)+'/last_zoom.png')
     231#        copyfile(imagenamezoom,os.path.dirname(imagename)+'/last_zoom.png')
    230232   
    231233        imagenamezoom_no_path=os.path.basename(imagenamezoom)
    232         fid=open('zoom_list.html','a');
    233         fid.write("<A HREF=")
    234         fid.write(imagenamezoom_no_path)
    235         fid.write("><IMG SRC=")
    236         fid.write(imagenamezoom_no_path)
    237         fid.write(" width=600>")
    238         fid.write("</A><BR/>")
    239         fid.write(imagenamezoom_no_path)
    240         fid.write("<BR/><BR/>\n")
    241         fid.close()
    242        
     234
     235## We no longer create an HTML list
     236#        fid=open('zoom_list.html','a');
     237#        fid.write("<A HREF=")
     238#        fid.write(imagenamezoom_no_path)
     239#        fid.write("><IMG SRC=")
     240#        fid.write(imagenamezoom_no_path)
     241#        fid.write(" width=600>")
     242#        fid.write("</A><BR/>")
     243#        fid.write(imagenamezoom_no_path)
     244#        fid.write("<BR/><BR/>\n")
     245#        fid.close()
     246
     247
    243248        plt.figure(3)
    244         plt.plot(range(48,132,7), Sig_mean,'r^-')
     249        plt.plot(angles_sorted, Sig_mean,'r^-',label='Data')
     250        refdata=load_reference_signal()
     251        if (len(refdata)>0):
     252#            print refdata[:,0]
     253#            print refdata[:,1]
     254            plt.plot(refdata[:,0],refdata[:,1],'go:',label='Reference')           
    245255        plt.title(key_values['date']+ ' ---  Motor value:  '+key_values['motor_value']+ ' ---  Current:  '+key_values['current_value'])
    246256        plt.ylabel('Signal amplitude [a.u.]')
    247257        plt.xlabel('Detector angle [deg.]')
    248         plt.grid(True)       
     258        plt.grid(True)
     259        plt.legend()
    249260        imagenamesignal=target_filename.replace('.txt','_signal.png')
    250261        figsignal.savefig(imagenamesignal)
    251262        plt.close(figsignal)
    252         copyfile(imagenamesignal,os.path.dirname(imagename)+'/last_signal.png')
     263
     264        if (len(refdata)>0):
     265            figref=plt.figure(4,figsize=figure_size,dpi=figure_dpi)
     266            plt.figure(4)
     267            diffdata=np.zeros((len(angles_sorted),2))
     268            for angle in angles_sorted:
     269                idx=angles_sorted.index(angle)
     270                idxref=np.where(refdata == angle)
     271                diffdata[idx,0]=angle
     272                diffdata[idx,1]=Sig_mean[idx]-refdata[idxref[0],1]
     273            #print diffdata
     274            plt.plot(diffdata[:,0], diffdata[:,1],'r^-')
     275            plt.title('Diff --- ' +key_values['date']+ ' ---  Motor value:  '+key_values['motor_value']+ ' ---  Current:  '+key_values['current_value'])
     276            plt.ylabel('Signal amplitude above reference [a.u.]')
     277            plt.xlabel('Detector angle [deg.]')
     278            plt.grid(True)       
     279            imagenamesignal=target_filename.replace('.txt','_amplitude.png')
     280            figref.savefig(imagenamesignal)
     281            plt.close(figref)
     282
     283
     284       
     285#        copyfile(imagenamesignal,os.path.dirname(imagename)+'/last_signal.png')
    253286
    254287        imagenamesignal_no_path=os.path.basename(imagenamesignal)
    255         fid=open('signal_list.html','a');
    256         fid.write("<A HREF=")
    257         fid.write(imagenamesignal_no_path)
    258         fid.write("><IMG SRC=")
    259         fid.write(imagenamesignal_no_path)
    260         fid.write(" width=600>")
    261         fid.write("</A><BR/>")
    262         fid.write(imagenamesignal_no_path)
    263         fid.write("<BR/><BR/>\n")
    264         fid.close()
     288       
     289## We no longer create an HTML list
     290#        fid=open('signal_list.html','a');
     291#        fid.write("<A HREF=")
     292#        fid.write(imagenamesignal_no_path)
     293#        fid.write("><IMG SRC=")
     294#        fid.write(imagenamesignal_no_path)
     295#        fid.write(" width=600>")
     296#        fid.write("</A><BR/>")
     297#        fid.write(imagenamesignal_no_path)
     298#        fid.write("<BR/><BR/>\n")
     299#        fid.close()
    265300       
    266301    filenamesig=target_filename.replace('.txt','.sig')
     
    282317    return;
    283318
     319
     320def load_reference_signal():
     321    global FILE_REF
     322
     323    try:
     324        fid=open(FILE_REF)       
     325        refname=fid.readline().rstrip()
     326        fid.close()
     327    except:
     328        print "Unable to read reference file"
     329        refname=""
     330
     331    if (len(refname)>0):
     332        #read refrence parameters   
     333        ref_key_values={}
     334        with open(refname,'r') as fid:
     335            fileline=fid.readline()
     336            while (len(fileline)>0)and(fileline[0]=='#'):               
     337                entries=fileline.replace('#','').replace(' ','').replace('\n','').split('=')
     338                ref_key_values[entries[0]]=entries[1]
     339                fileline=fid.readline()
     340            fid.close()
     341       
     342            #for p in ref_key_values: print p,'=', ref_key_values[p]
     343           
     344        allrefdata=np.loadtxt(refname, comments='#', delimiter='\t', usecols=range(0,3))
     345#        print allrefdata
     346        return allrefdata
Note: See TracChangeset for help on using the changeset viewer.