diff options
author | Erich Eckner <git@eckner.net> | 2017-07-21 12:10:10 +0200 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2017-07-21 12:10:10 +0200 |
commit | d6ff133fd1ff7c325c7dea5866cd8ee752fb47af (patch) | |
tree | e194560f6792d65ec8e2d3f989d258e8a5def638 /epostunit.pas | |
parent | 0f1d4a00485da9604a79d8f73da7bce079a412bb (diff) | |
download | epost-d6ff133fd1ff7c325c7dea5866cd8ee752fb47af.tar.xz |
verschiebung neu
Diffstat (limited to 'epostunit.pas')
-rw-r--r-- | epostunit.pas | 35 |
1 files changed, 17 insertions, 18 deletions
diff --git a/epostunit.pas b/epostunit.pas index 07e921a..64afc65 100644 --- a/epostunit.pas +++ b/epostunit.pas @@ -3802,7 +3802,7 @@ var s: string; b,hintergrundAbziehen: boolean; bekannteBefehle: tMyStringList; - maxPos: tIntPoint; + maxPos,einheitsZelle: tIntPoint; betraege: tWerte; i,j: int64; begin @@ -3885,14 +3885,14 @@ begin gibAus(' (Parseval-Fehler = '+floatToStr(pvFehler)+')',3); for b:=false to true do fensters[b].free; -(* + gibAus('spektrale Beträge ermitteln',3); betraege:=tWerte.create(self,0,_xSteps-1); betraege.fft2dNachbearbeitung(threads,doBetrQdr); - *) + fft2dNachbearbeitung(threads,doAlleResIms); -(* gibAus('tiefe Frequenzen filtern',3); + gibAus('tiefe Frequenzen filtern',3); case genauigkeit of gSingle: sWerte.kantenFilter(betraege.sWerte,xFak,yFak,kfHochpass,true,maxPos); @@ -3900,8 +3900,19 @@ begin dWerte.kantenFilter(betraege.dWerte,xFak,yFak,kfHochpass,true,maxPos); gExtended: eWerte.kantenFilter(betraege.eWerte,xFak,yFak,kfHochpass,true,maxPos); - end{of case}; *) -// betraege.free; + end{of case}; + betraege.free; + + gibAus('zentrieren',3); + einheitsZelle:=berechneEinheitsZelle(maxPos,intPoint(_xSteps,_tSiz div 2)); + case genauigkeit of + gSingle: + sWerte.verschiebe(maxPos,0,einheitsZelle['x']-1,0,einheitsZelle['y']-1,true); + gDouble: + dWerte.verschiebe(maxPos,0,einheitsZelle['x']-1,0,einheitsZelle['y']-1,true); + gExtended: + eWerte.verschiebe(maxPos,0,einheitsZelle['x']-1,0,einheitsZelle['y']-1,true); + end{of case}; gibAus('berechne inverse x-FFT ...',3); if not fft(threads,false,true,doAlleResIms,doAlleResIms,nil,0,pvFehler,wsLasch) then begin @@ -3916,18 +3927,6 @@ begin end; gibAus(' (Parseval-Fehler = '+floatToStr(pvFehler)+')',3); - hintergrund:=0; - for i:=_tSiz div 2 +1 to _tSiz-1 do - for j:=0 to _xSteps-1 do - hintergrund:=hintergrund + sqr(eWerte.werte[j+i*_xSteps]); - - writeln(hintergrund,' ',_xSteps*_tSiz div 2,' ',hintergrund*2/_xSteps/_tSiz); - - pvFehler:=0; - for i:=0 to _tSiz div 2 do - for j:=0 to _xSteps-1 do - pvFehler:=pvFehler + sqr(eWerte.werte[j+i*_xSteps]); - // _tSiz:=_tSiz div 2; // holeRAM(3); |