
Mirror or UnMirror a Wave

jjweimer
Applications
--
DoMirror(yw, 0)
Convolve/A broadening, yw
UndoMirror(yw, 0)
--
DoMirror(yw, 0, odd=0)
… do FFT operation on yw -> yw_fft
… smooth via subtraction of noise component in Fourier domain
… do inverse FFT operation on yw_fft -> yw
UnDoMirror(yw, 0, odd=0)
Function DoMirror(yw, at, [odd]) wave/D yw variable at, odd variable nptso = numpnts(yw), nptsn odd = ParamIsDefault(odd) ? 1 : 0 nptsn = 2*nptso + 1*odd Duplicate/FREE yw, ywtemp Redimension/N=(nptsn) yw switch(at) case 0: // start yw[0,nptso-1] = ywtemp[nptso - 1 - p] yw[nptso] = ywtemp[0] yw[nptso+1*odd,nptsn-1] = ywtemp[p - 1*odd - nptso] break case 1: // end yw[nptso] = ywtemp[nptso-1] yw[nptso+1*odd,nptsn-1] = ywtemp[nptsn - p - 1] break endswitch return 0 end Function UnDoMirror(yw, at, [odd]) wave/D yw variable at, odd odd = ParamIsDefault(odd) ? 1 : 0 variable nptso = numpnts(yw), nptsn nptsn = (nptso - 1*odd)/2 make/FREE/N=(nptsn) ywtemp ywtemp = yw[p] Redimension/N=(nptsn) yw switch(at) case 0: // start yw = ywtemp[nptsn - 1 - p] break case 1: // end break endswitch return 0 end

Forum

Support

Gallery
Igor Pro 9
Learn More
Igor XOP Toolkit
Learn More
Igor NIDAQ Tools MX
Learn More