def preprocess(no_wells_marmousi, no_wells_seam): """Function initializes data, performs standardization, and train test split Parameters: ---------- no_wells_marmousi : int, number of evenly spaced wells and seismic samples to be evenly sampled from marmousi section. no_wells_seam : int number of evenly spaced wells and seismic samples to be evenly sampled from SEAM Returns ------- seismic_marmousi : array_like, shape(num_traces, depth samples) 2-D array containing seismic section for marmousi seismic_seam : array_like, shape(num_traces, depth samples) 2-D array containing seismic section for SEAM model_marmousi : array_like, shape(num_wells, depth samples) 2-D array containing model section from marmousi 2 model_seam : array_like, shape(num_wells, depth samples) 2-D array containing model section from SEAM """ # get project root directory project_root = os.getcwd() if ~os.path.isdir( 'data'): # if data directory does not exists then extract extract('data.zip', project_root) # Load data seismic_marmousi = np.load(join( 'data', 'marmousi_synthetic_seismic.npy')).squeeze() seismic_seam = np.load(join('data', 'poststack_seam_seismic.npy')).squeeze()[:, 50:] seismic_seam = seismic_seam[::2, :] # Load targets and standardize data model_marmousi = np.load(join('data', 'marmousi_Ip_model.npy')).squeeze()[::5, ::4] model_seam = np.load(join('data', 'seam_elastic_model.npy'))[::3, :, ::2][:, :, 50:] model_seam = model_seam[:, 0, :] * model_seam[:, 2, :] # standardize seismic_marmousi, model_marmousi = standardize(seismic_marmousi, model_marmousi, no_wells_marmousi) seismic_seam, model_seam = standardize(seismic_seam, model_seam, no_wells_seam) return seismic_marmousi, seismic_seam, model_marmousi, model_seam
def preprocess(no_wells, data_flag='seam'): """Function initializes data, performs standardization, and train test split Parameters: ---------- no_wells : int, number of evenly spaced wells and seismic samples to be evenly sampled from seismic section. Returns ------- seismic : array_like, shape(num_traces, depth samples) 2-D array containing seismic section model : array_like, shape(num_wells, depth samples) 2-D array containing model section """ # get project root directory project_root = os.getcwd() if ~os.path.isdir( 'data'): # if data directory does not exists then extract extract('data.zip', project_root) if data_flag == 'seam': # Load data seismic = np.load(join('data', 'poststack_seam_seismic.npy')).squeeze()[:, 50:] seismic = seismic[::2, :] # Load targets and standardize data model = np.load(join('data', 'seam_elastic_model.npy'))[::3, :, ::2][:, :, 50:] model = model[:, 0, :] * model[:, 2, :] else: # Load data seismic = np.load(join('data', 'marmousi_synthetic_seismic.npy')).squeeze() model = np.load(join('data', 'marmousi_Ip_model.npy')).squeeze()[::5, ::4] # standardize seismic, model = standardize(seismic, model, no_wells) return seismic, model