summaryrefslogtreecommitdiff
path: root/epostunit.pas
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2017-07-21 12:10:10 +0200
committerErich Eckner <git@eckner.net>2017-07-21 12:10:10 +0200
commitd6ff133fd1ff7c325c7dea5866cd8ee752fb47af (patch)
treee194560f6792d65ec8e2d3f989d258e8a5def638 /epostunit.pas
parent0f1d4a00485da9604a79d8f73da7bce079a412bb (diff)
downloadepost-d6ff133fd1ff7c325c7dea5866cd8ee752fb47af.tar.xz
verschiebung neu
Diffstat (limited to 'epostunit.pas')
-rw-r--r--epostunit.pas35
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);