#include <SEP.defs>
#define PEMFULL ../../var9c/EnergyFull
#define PEFDATA /promax2/martin/Pef/
#define BINDIR ../../Bin/MTYPE

#define PEFSETTING lag=3 lpef=8
#define PEFSETTING lag=1 lpef=5
#define PEFSETTING lag=2 lpef=5
#define PEFSETTING lag=10 lpef=20

#define PEFALSO    lag1=1 gap1=1 gapn=6 nf=20
#define PEFSETTING lag=6 lpef=20

#define PEFSETTING lag=3 lpef=20   /* does not kill any reverb */
#define PEFSETTING lag=20 lpef=40 /* too long  introduces rining */
#define PEFSETTING lag=2 lpef=10 /* works moderately kills some ringing  */
#define PEFSETTING lag=3 lpef=10 /* works moderately kills some ringing  */
#define PEFALSO    lag1=1 gap1=1 gapn=1 nf=5 /* works spikey on synt */
#define PEFALSO    lag1=1 gap1=1 gapn=3 nf=10 /* works on synt */
#define PEFFINAL    lag1=1 gap1=1 gapn=3 nf=10 niter=15 /* works on synt */
#define PEFFINAL    lag1=1 gap1=1 gapn=6 nf=20 niter=15 /* works on synt */

testpefspike:
	Spike n1=20 n2=1 mag=1 >junk1.H
	Spike n1=20 n2=1 mag=0 >junk2.H
	Spike n1=20 n2=1 mag=0 >junk3.H
	Merge junk2.H junk1.H junk3.H axis=1 space=n >junk5.H
	Spike n1=60 n2=1 mag=0 >junk4.H
	Merge junk5.H junk4.H axis=2 space=n >junk.H 
$	BINDIR/Pef <junk.H PEFSETTING lo=0 >jp.H
	BINDIR/Pef1.x <junk.H PEFALSO filter=filt.H >jp.H
	Merge axis=2 space=n junk.H jp.H |Graph |Tube

testpef&: 
$	Window f3=15 n3=1 f2=70 n2=1 <PEMFULL/xxcube.M.H >jatrace.H
	Window f3=15 n3=1  <PEMFULL/xxcube.M.H >jatrace.H
$	BINDIR/Pef <jatrace.H PEFSETTING >jbtrace.H
	Tpow topw=0 <jatrace.H | BINDIR/Pef1.x  PEFFINAL >jctrace.H
$	Merge jatrace.H jbtrace.H jctrace.H space=n axis=2 |Graph |Tube
	Merge jatrace.H jctrace.H  space=n axis=3 |Taplot pclip=90 gainpanel=every |Ta2vplot | Tube

testpefdata&: PEFDATA/xxcube.M.P.H

testnmo&: PEFDATA/xxcube.M.P.H
	Window <PEFDATA/xxcube.M.P.H  >j1.H f3=1 n3=1
	BINDIR/NMO vel=8000 <j1.H >j1.NMO.H

compare&:
	Window f3=10 n3=1 <PEMFULL/xxcube.M.H   >j1.H
	Window f3=10 n3=1 <PEFDATA/xxcube.M.P.H >j1p.H
	Merge j1.H j1p.H space=n >jcomp.H
	Taplot <jcomp.H |Ta2vplot |Tube


testfig2&: jzzcube.M.P.NMO.B.R

testfig2&: jzzcube.M.P.B.R

testfig&: zzpefbefore.v

test&: zzcube.M.P.H

PEFDATA/%cube.M.P.H:
	BINDIR/Pef1.x <PEMFULL/%cube.M.H  PEFFINAL  >PEFDATA/%cube.M.P.H out=PEFDATA/_%cube.M.P.H@

%.NMO.H: %.H
        NMO vel=8000 <%.H >%.NMO.H



%pefbefore.v: /* PEFDATA/%cube.M.P.H */
	Window f1=750 n1=500 <PEFDATA/%cube.M.P.H >jwb
	Byte <jwb gainpanel=all pclip=90 >jcdp%cubepef.B
	Transp plane=23 <jcdp%cubepef.B >jtcdp%cubepef.B
	Rm jwb jcdp%cubepef.B
	Cubeplot frame1=30 frame2=50 frame3=0 <jtcdp%cubepef.B out=jx2 NULL title="% Time slices before NMO" point2=0.75 CUBELABEL
	vppen scale=0.5 align=lb <jx2 >%pefbefore.v
	rm jx2
	Rm jtcdp%cubepef.B



/* Pef before NMO */
#define PEFbNMO cube.M.P.B.R
beforepef.v: [[ sub -i X jXPEFbNMO NINECOMP ]]
        Merge jxxPEFbNMO jxyPEFbNMO jxzPEFbNMO axis=2 space=y >j1r.B
        Merge jyxPEFbNMO jyyPEFbNMO jyzPEFbNMO axis=2 space=y >j2r.B
        Merge jzxPEFbNMO jzyPEFbNMO jzzPEFbNMO axis=2 space=y >j3r.B
        Merge j1r.B j2r.B j3r.B axis=1 space=y >j4r.B
        <j4r.B Ta2vplot title="PEF " wantaxis=0 out=../Fig/beforepef.v NULL xinch=6 yinch=8
	Rm j1r.B j2r.B j3r.B j4r.B

/* Pef after NMO */
#define PEFaNMO cube.M.P.NMO.B.R
afterpef.v: [[ sub -i X jXPEFaNMO NINECOMP ]]
        Merge jxxPEFaNMO jxyPEFaNMO jxzPEFaNMO axis=2 space=y >j1r.B
        Merge jyxPEFaNMO jyyPEFaNMO jyzPEFaNMO axis=2 space=y >j2r.B
        Merge jzxPEFaNMO jzyPEFaNMO jzzPEFaNMO axis=2 space=y >j3r.B
        Merge j1r.B j2r.B j3r.B axis=1 space=y >j4r.B
        <j4r.B Ta2vplot title="PEF NMO" wantaxis=0 out=../Fig/afterpef.v NULL xinch=6 yinch=8
	Rm j1r.B j2r.B j3r.B j4r.B


/* just scale the data */
j%.B:   PEFDATA/%.H 
        Window f1=750 n1=500 <PEFDATA/%.H >jwb
        Byte <jwb gainpanel=all pclip=90 >j%.B
$        Transp plane=23 <j%.B >j%.T.B
        Rm jwb

/* generate reciprocal time slices */


/* get just one slice */
j%1.B.S: j%1.B
        Window f1=30 n1=1  < j%1.B > j%1.B.S

jxx%.R: jxx%.S
        Transp plane=12 <jxx% >jxx%.R

jyy%.R: jyy%.S
        Transp plane=12 <jyy%.S >jyy%.R

jzz%.R: jzz%.S
        Transp plane=12 < jzz%.S >jzz%.R

jxy%.R: jxy%.S
        Transp plane=12 <jxy%.S | Window f1=0 n1=101   >ja.R
        Transp plane=12 <jyx%.S | Window f1=101 n1=101 >jb.R
        Merge axis=1 space=n ja.r jb.R >jxy%.R
	Rm ja.R jb.R

jyx%.R: jyx%.S jxy%.S
        Transp plane=12 <jyx%.S | Window f1=0 n1=101   >ja.R
        Transp plane=12 <jxy%.S | Window f1=101   n1=101 >jb.R
        Merge axis=1 space=n ja.B jb.B >jyx%.R
	Rm ja.R jb.R

jxz%.R: jxz%.S
        Transp plane=12 <jxz%.S | Window f1=0 n1=101   >ja.R
        Transp plane=12 <jzx%.S | Window f1=101 n1=101 >jb.R
        Merge axis=1 space=n ja.R jb.R >jxz%.R
	Rm ja.R jb.R

jzx%.R: jzx%.S
        Transp plane=12 <jzx%.S | Window f1=0 n1=101   >ja.R
        Transp plane=12 <jxz%.S | Window f1=101 n1=101 >jb.R
        Merge axis=1 space=n ja.R jb.R >jzx%.R
	Rm ja.R jb.R

jyz%.R: jyz%.S
        Transp plane=12 <jyz%.S | Window f1=0 n1=101   >ja.R
        Transp plane=12 <jzy%.S | Window f1=101 n1=101 >jb.R
        Merge axis=1 space=n ja.R jb.R >jyz%.R
	Rm ja.R jb.R

jzy%.R: jzy%.S
        Transp plane=12 <jzy%.S | Window f1=0 n1=101   >ja.R
        Transp plane=12 <jyz%.S | Window f1=101 n1=101 >jb.R
        Merge axis=1 space=n ja.R jb.R >jzy%.R
	Rm ja.R jb.R

/* end of  reciprocal time slices */

clean&: jclean

#include <SEP.idoc.rules>
