Skip to content
Snippets Groups Projects
Select Git revision
  • c03407b9cef22af88e1a3765f507a701d34a6600
  • master default protected
  • NewDistributionGmshFWI
  • parametrizationSimpleWave
  • tuto_obstacle
  • everything
  • cleanup_configuuration_mesh
  • fix
  • source_estimation
  • unique_ptr
  • SobolevDirectionalFilter
  • OT
  • newPhysics
  • SimultaneousFrequency
  • SobolevDistance
  • BonesImaging
  • MultiParameter
  • UpdateAntho
  • v2.0
  • v1.0
20 results

plot_timewave.py

  • plot_timewave.py 2.74 KiB
    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    """
    Created on Thu Aug 25 14:43:28 2022
    
    @author: xavier
    """
    import numpy as np
    import matplotlib.pyplot as plt
    from matplotlib import rc
    plt.rcParams['ytick.right'] = plt.rcParams['ytick.labelright'] = False
    plt.rcParams['ytick.left'] = plt.rcParams['ytick.labelleft'] = True
    plt.rcParams['xtick.bottom'] = plt.rcParams['xtick.labelbottom'] = False
    plt.rcParams['xtick.top'] = plt.rcParams['xtick.labeltop'] = True
    rc('text.latex', preamble=r'\usepackage{amsmath} \usepackage{amssymb} \renewcommand{\familydefault}{\sfdefault} \usepackage{sansmathfonts}')
    rc('font',**{'family':'serif','sans-serif':['Helvetica'],'size':10})
    rc('text', usetex=True)
    lw = 1.5
    H = 2.0;
    L = 3.0;
    
    # Marmousi
    path = "extended_marmousi_data/"
    
    #prename = "timewave_synthetics_data"; s = 61
    prename = "timewave_synthetics_data_snr2"; s = 61
    #prename = "paper2_extended_timewave_initial_data"; s = 0
    #prename = "paper2_extended_timewave_inverse_data"; s = 0
    
    T=8.0
    Δt=0.004
    Nr=242
    
    
    amplitude = 0.02
    Te=4.0
    time_samp = 4
    ΔNr = 60
    ΔT = 1.
    
    # Concrete 3
    """
    path = "concrete3_data/"
    
    prename = "timewave_synthetics_data"; s = 134
    #prename = "timewave_synthetics_data_snrm3"; s = 134
    #prename = "paper2_concrete3_timewave_initial_data"; s = 0
    #prename = "paper2_concrete3_timewave_inverse_data"; s = 0
    
    T=200 #[ms]
    Δt=0.1 #[ms]
    Nr=226
    
    
    amplitude = 0.1
    Te=100 #[ms]
    time_samp = 4
    ΔNr = 50
    ΔT = 25 #[ms]
    """
    
    """
    # Cross
    path = "cross_data/"
    
    prename = "cross_time_synthetics_data"; s = 20
    #prename = "cross_time_synthetics_data_snr6"; s = 20
    #prename = "cross_timewave_initial_data"; s = 0
    #prename = "cross_timewave_inverse_data"; s = 0
    
    T=100.
    Δt=1e-2
    Nr=119
    
    
    amplitude = 0.01
    #amplitude = 0.0005
    Te=50
    time_samp = 20
    ΔNr = 20
    ΔT = 10
    """
    
    """
    # S-Cube
    path = "win_data/"
    
    prename = "scube_winsynthetics_data"; s = 0
    
    T=20.0
    Δt=0.02
    Nr=1818
    
    
    amplitude = 0.002
    Te=6.98
    time_samp = 1
    ΔNr = 80
    ΔT = 4.
    """
    
    #
    # Time domain
    #
    
    N=np.int(Te/Δt)
    data = np.zeros([np.int(N/time_samp)+1,Nr]);
    
    for n in range(0,N+1,time_samp):
        tmp = np.loadtxt(path+prename+"f"+str(n)+".csv",delimiter=";",ndmin=2);
        data[np.int(n/time_samp),:] = tmp[s,0:2*Nr:2]
      
    figure=plt.figure(figsize=(L,2*H),tight_layout=False)
    plt.subplots_adjust(top=0.93,right=0.9,bottom=0.06,left=0.1)
    ax=plt.subplot()
    ax.yaxis.set_label_position("right")
    ax.set_ylabel('Y', rotation=-90, labelpad=15)
    ax.xaxis.set_label_position("bottom")
    ax.set_xlabel('Y', rotation=0, labelpad=5)
    plt.gca().invert_yaxis()
    time = np.arange(0,N+time_samp+1,time_samp)*Δt #[s]
    plt.pcolormesh(np.arange(0,Nr+1,1)-0.5,time-Δt*time_samp/2,data[:,:],vmin=-amplitude,vmax=amplitude,cmap='binary')
    plt.xticks(np.arange(0,Nr,ΔNr));
    plt.yticks(np.arange(0,Te*1.1,ΔT));
    plt.xlabel('receiver index [-]')
    plt.ylabel(r'time [s]')