Skip to content

SeismicJulia/SeisReconstruction.jl

Repository files navigation

SeisReconstruction.jl

Build Status

This package contains Reconstruction tools for SeismicJulia project.

At the moment, it is updated and tested against Julia v1.

Installation

To use this package you must first install the Julia programming language. Then, run the Julia application and type, at the prompt

julia> ] 
pkg> add SeisReconstruction
julia> using SeisReconstruction

If you use the SeismicJulia project, please cite the following paper

@article{stanton2016efficient,
  title={Efficient geophysical research in Julia},
  author={Stanton, Aaron and Sacchi, Mauricio D},
  journal={CSEG GeoConvention 2016},
  pages={1--3},
  year={2016}
}

Basic usage

For SeisPlot, please refer here.

For SeisProcessing, please refer here.

The following example produces the figure below.

using SeisPlot,PyPlot, SeisReconstruction, SeisProcessing

# Ray Abma and Nurul Kabir, 2006, 3D interpolation of irregular data with a POCS algorithm. 
# GEOPHYSICS, 71(6), E91-E97.

# Gao, J., Stanton, A., Naghizadeh, M., Sacchi, M.D. and Chen, X., 2013, Convergence improvement 
# and noise attenuation considerations for beyond alias projection onto convex sets reconstruction.
# Geophysical Prospecting, 61, 138-151.

# Create linear events

d = SeisLinearEvents(p1 = [-.001, 0.0015],tau=[1, 1/3],dx1=5); 

#Randomly decimate, perc=80 means that 80% of the bins are empty

deci = SeisDecimate(d;perc=80);

param = Dict(:Niter=>100,:fmax=>60,:padt=>2,:padx=>2,:dt=>0.004)
dpocs = SeisPOCS(deci;param...);

subplot(121)
SeisPlotTX(deci,cmap="seismic",fignum=1,pclip=200,title="Decimated data")
subplot(122)
SeisPlotTX(dpocs[:,:,1,1,1],cmap="seismic",fignum=1,pclip=200,title="After POCS")

For developers: contributing to the project

  • New at GitHub? These basic commands and this dictionary might help.
  • This tutorial provides the basics steps you need to follow in order to fork the main repository, change the source code in your forked repository, commit the changes, and make pull requests using GitHub.
  • For contributions to the package, please follow the general guidelines given here: Modifications.md.