Program sfmig2 | 2-D prestack Kirchhoff time migration with antialiasing. 
[SYNOPSIS]
sfmig2 < inp.rsf vel=vel.rsf > out.rsf gather=gather.rsf offset=offset.rsf adj=y normalize=y nh= antialias=1.0 apt=nx angle=90.0 half=y verb=y rho=1.-1./nt dh= h0=
[COMMENTS]
The axes in the input are {time,midpoint,offset}
The axes in the offset are {1,midpoint,offset}
The axes in the output are {time,midpoint}
The axes in the "image gather" are {time,midpoint,offset}

February 2016 program of the month:
http://ahay.org/blog/2016/02/18/program-of-the-month-sfmig2/

[PARAMETERS]
bool    | adj | =y |  [y/n] | 	adjoint flag (y for migration, n for modeling) 
float   | angle | =90.0 |   | 	angle aperture 
float   | antialias | =1.0 |   | 	antialiasing 
int     | apt | =nx |   | 	integral aperture 
float   | dh | = |   | 	offset sampling (for modeling) 
string  | gather | = |   | 	auxiliary output file name
float   | h0 | = |   | 	first offset (for modeling) 
bool    | half | =y |  [y/n] | 	if y, the third axis is half-offset instead of full offset 
int     | nh | = |   | 	number of offsets (for modeling) 
bool    | normalize | =y |  [y/n] | 	normalize for the fold 
string  | offset | = |   | 	auxiliary input file name
float   | rho | =1.-1./nt |   | 	Leaky integration constant 
file    | vel | = |   | 	auxiliary input file name
bool    | verb | =y |  [y/n] | 	verbosity flag 
[DIRECTORY]
user/yliu
