sfpipwdmig2 (4.0)
index
user/dmerzlikin/Mpipwdmig2.c
Chain of Path Integral, Plane-Wave Destruction and Kirchhoff migration (based on sfmig2)

 
Synopsis
        sfpipwdmig2 < inp.rsf > out.rsf vel=fvel.rsf dip=dip.rsf adj=n sm=y domod=y pi=y verb=n doomp=y apt=nx angle=90.0 hd=y ps=y dd=y half=y rho=1.-1./nt v_1= v_2= v_3= v_4= passthr=0.001 eps=0.001 epst2=0.001 pad=nt order=1 nj1=1 antialias=

works only for zero offset

make sure nh = 1 dh = 1.0 h0 = 0.0 offset file is not used

there are flags to disable PWD (Plane-Wave Destruction), P (Path-Integral Filter) and L (Kirchhoff modelling/migration)

no regularization

can be expressed for forward as: data = P PWD L ( reflections + diffractions ) or as a matrix

. | reflections |
| P PWD L P PWD L | | | = | data |
. | diffractions |

can be expressed for adjoint as:

adjoint reflections = L^T PWD^T P^T data

adjoint diffractions = L^T PWD^T P^T data or as a matrix

| reflections | | L^T PWD^T P^T |
| | = | | | data |
| diffractions | | L^T PWD^T P^T |

 
Parameters
       
 
bool adj=n [y/n]
adjoint flag
 
float angle=90.0
angle aperture
 
string antialias=
antialiasing type [triangle,flat,steep,none]
 
int apt=nx
integral aperture
 
bool dd=y [y/n]
differentiation in the data domain
 
file dip=
auxiliary input file name
 
bool domod=y [y/n]
if perform modeling via Kirchhoff (if disabled -> chain = P PWD)
 
bool doomp=y [y/n]
OMP flag - currently hard-coded to y
 
float eps=0.001
damper for pi
 
float epst2=0.001
damper for t2warp
 
bool half=y [y/n]
if y, the third axis is half-offset instead of full offset
 
bool hd=y [y/n]
half derivative
 
int nj1=1
antialiasing
 
int order=1 [1,2,3]
accuracy order
 
int pad=nt
output time samples
 
float passthr=0.001
threshold for tail elimination
 
bool pi=y [y/n]
if perform Path-Integral filtering (if disabled -> chain = PWD L)
 
bool ps=y [y/n]
amplitude correction
 
float rho=1.-1./nt
leaky integration constant
 
bool sm=y [y/n]
if perform Plane-Wave destruction (if disabled -> chain = P L)
 
float v_1=
no pass velocity
 
float v_2=
first pass velocity
 
float v_3=
second pass velocity
 
float v_4=
no pass velocity
 
file vel=
auxiliary input file name
 
bool verb=n [y/n]
verbose flag

 
Used In
       

 
TCCS
        sparse/sparse-experim-shaping
sparse/vg