sfseislet implements the 2-D seislet transform.
The seislet transform theory is descibed in the paper Seislet transform and seislet frame.
The following example from fpwd/teapot shows a 3-D seismic image before and after a seislet transform in the inline direction.

To perform the forward seislet transform, run sfseislet with the flag adj=y. To run the inverse transform, use adj=n. In a confusing choice of parameter names, inv= does not control the direction of the transform but the type of the weighting function used. Another control is provided by unit=.
A required auxiliary input is the dip field specified by dip=. If the dip was estimated using plane-wave destruction (sfdip), the order= parameter should be the same.
Different types of the seislet transform (specified by type=) correspond to different types of the corresponding digital wavelet transform. The choices are haar, linear, and biorthogonal.
I actually ran into that confusing inv= parameter when I first tried sfseislet on a 3-D field dataset last year — spent a good hour assuming it flipped the transform direction before realizing it just picks the weighting. Matching order= to whatever I used in sfdip made a noticeable difference in the dip alignment too. Good to see the teapot example spelled out here.
I remember the first time I ran sfseislet and got confused by inv= thinking it flipped the transform direction — took me a while to realize adj= was the actual switch and inv= only changes the weighting. Good to see the order= tip about matching sfdip; I once used a mismatched order and the dip field was subtly off. The teapot example is a nice sanity check for the inline-direction transform.
The note about inv= not controlling the transform direction is genuinely useful — I would have assumed the opposite and gotten confused. Good to see the dip= field needs the same order= as sfdip, that’s an easy thing to overlook. Curious whether the different type= options are documented anywhere beyond the code.