[docs]defraw_xcorr(target,output,flag):file_list=numpy.loadtxt(target[0],dtype=str)plt.style.use('seaborn')fig,ax=plt.subplots(4,2,figsize=(10,10),dpi=80,sharey='row')forn,iinenumerate([0,4]):# Plot example raw dataf=h5py.File(file_list[i+0],'r')data=numpy.array(f['data'])im=ax[0,n].imshow(abs(data),extent=[0,data.shape[1]/500,data.shape[0],0],cmap='plasma',aspect='auto',norm=LogNorm())#fig.colorbar(im, ax=ax[0], pad=0.01)ax[0,n].set_xlabel('Time [seconds]')ifn==0:ax[0,n].set_ylabel('Channels')f.close()# Plot corresponding cross-correlationf=h5py.File(file_list[i+1],'r')data=numpy.array(f['Xcorr'])cent=data.shape[1]//2im=ax[1,n].imshow(data[:,cent-500:cent+500],extent=[-0.992,0.992,data.shape[0],0],cmap='seismic',aspect='auto',vmin=-1e-2,vmax=1e-2)#fig.colorbar(im, ax=ax[1], pad=0.01)ax[1,n].set_xlabel('Time lag [seconds]')ifn==0:ax[1,n].set_ylabel('Channels')f.close()# Plot stacked cross-correlated dataf=h5py.File(file_list[i+2],'r')data=numpy.array(f['data'])cent=data.shape[1]//2im=ax[2,n].imshow(data[:,cent-500:cent+500],extent=[-0.992,0.992,data.shape[0],0],cmap='seismic',aspect='auto',vmin=-1e-2,vmax=1e-2)#fig.colorbar(im, ax=ax[2], pad=0.01)ax[2,n].set_xlabel('Time lag [seconds]')ifn==0:ax[2,n].set_ylabel('Channels')f.close()# Plot stacked cross-correlated datadata=hdf5storage.loadmat(file_list[i+3])data=data['rmsd'][0][1:]ax[3,n].plot(2+numpy.arange(len(data)),data)ax[3,n].set_xlabel('nstacks')ifn==0:ax[3,n].set_ylabel('RMSD')f.close()plt.tight_layout()plt.savefig(output+'/raw_xcorr')
[docs]defmap_to_xcorr(target,output,flag):file_list=numpy.loadtxt(target[0],dtype=str)plt.style.use('seaborn')ncols=len(file_list)//4fig,ax=plt.subplots(5,ncols,figsize=(3*ncols,15),dpi=80,sharey='row')forn,iinenumerate(range(0,4*ncols,4)):# Plot example raw dataprint(file_list[i+0])ifos.path.exists(file_list[i+0]):f=h5py.File(file_list[i+0],'r')data=numpy.array(f[f['variable/dat'][0,0]])im=ax[0,n].imshow(abs(data),extent=[0,data.shape[1]/500,data.shape[0],0],cmap='jet',aspect='auto',norm=LogNorm(vmax=100))ax[0,n].set_xlabel('Time [seconds]')ax[0,n].set_title('/'.join(file_list[i+0].split('/')[1:3]).replace('/','\n'))ifn==0:ax[0,n].set_ylabel('Channels')f.close()# Plot single cross-correlation dataprint(file_list[i+1])ifos.path.exists(file_list[i+1]):iffile_list[i+1].endswith('.mat'):data=hdf5storage.loadmat(file_list[i+1])['dsi_xcorr'][0,0][2][0,0].Telse:f=h5py.File(file_list[i+1],'r')data=f['xcorr']cent=data.shape[1]//2im=ax[1,n].imshow(data[:,cent-500:cent+500],extent=[-0.992,0.992,data.shape[0],0],cmap='seismic',aspect='auto',vmin=-1e-2,vmax=1e-2)ax[1,n].set_xlabel('Time lag [seconds]')ifn==0:ax[1,n].set_ylabel('Channels')# Plot stacked cross-correlated dataprint(file_list[i+2])ifos.path.exists(file_list[i+2]):iffile_list[i+1].endswith('.mat'):data=hdf5storage.loadmat(file_list[i+2])['Dsi_pwstack'][0,0][2][0,0].Telse:f=h5py.File(file_list[i+2],'r')data=numpy.array(f['data'])cent=data.shape[1]//2im=ax[2,n].imshow(data[:,cent-500:cent+500],extent=[-0.992,0.992,data.shape[0],0],cmap='seismic',aspect='auto',vmin=-1e-2,vmax=1e-2)ax[2,n].set_xlabel('Time lag [seconds]')ifn==0:ax[2,n].set_ylabel('Channels')f.close()# Plot average frequency contentffts=numpy.array([2.0/len(ts)*numpy.abs(scipy.fft.fft(ts)[:len(ts)//2])fortsindata])ffts=numpy.average(ffts,axis=0)freqs=scipy.fft.fftfreq(len(scipy.fft.fft(data[0])),d=1/500.)[:len(scipy.fft.fft(data[0]))//2]ax[3,n].plot(freqs,ffts)ax[3,n].set_xlabel('Frequency [Hertz]')ifn==0:ax[3,n].set_ylabel('Average amplitude')# Plot stacked cross-correlated dataprint(file_list[i+3])ifos.path.exists(file_list[i+3]):data=hdf5storage.loadmat(file_list[i+3])data=data['rmsd'][0][1:]ax[4,n].plot(2+numpy.arange(len(data)),data)ifn==0:ref=dataelse:ax[4,n].plot(2+numpy.arange(len(data)),ref,color='red')ax[4,n].set_xlabel('nstacks')ifn==0:ax[4,n].set_ylabel('RMSD')f.close()plt.tight_layout()plt.savefig(output+'/map_to_xcorr')