diff options
Diffstat (limited to 'epostunit.pas')
-rw-r--r-- | epostunit.pas | 279 |
1 files changed, 139 insertions, 140 deletions
diff --git a/epostunit.pas b/epostunit.pas index f271e20..7bd041c 100644 --- a/epostunit.pas +++ b/epostunit.pas @@ -725,12 +725,12 @@ end; procedure tWerte.warteAufBeendigungDesLeseThreads; begin if assigned(leseThread) then begin - gibAus('Warte auf Beendigung des Lesethreads von '''+bezeichner+''' ...',1); + gibAus('Warte auf Beendigung des Lesethreads von '''+bezeichner+''' ...',3); while not leseThread.fertig do sleep(10); leseThread.free; leseThread:=nil; - gibAus('... ist fertig',1); + gibAus('... ist fertig',3); end; end; @@ -2535,8 +2535,8 @@ begin exit; end; if not sT then begin - holeRAM(1); - gibAus('Datei einlesen ...',1); + holeRAM(3); + gibAus('Datei einlesen ...',3); end; Zeit:=now; s:=''; @@ -2585,7 +2585,7 @@ begin end; transformationen.xSteps:=_xSteps; transformationen.tSiz:=_tSiz; - gibAus('... fertig '+timetostr(now-Zeit),1); + gibAus('... fertig '+timetostr(now-Zeit),3); result:=true; end; @@ -2746,8 +2746,8 @@ begin result:=true; exit; end; - holeRAM(1); - gibAus('Berechne ...',1); + holeRAM(3); + gibAus('Berechne ...',3); Zeit:=now; setLength(liKoThreads,threads); for i:=0 to length(liKoThreads)-1 do @@ -2760,7 +2760,7 @@ begin until fertig; for i:=0 to length(liKoThreads)-1 do liKoThreads[i].free; - gibAus('... fertig '+timetostr(now-Zeit),1); + gibAus('... fertig '+timetostr(now-Zeit),3); result:=true; end; @@ -2892,8 +2892,8 @@ begin result:=true; exit; end; - holeRAM(1); - gibAus('Berechne ...',1); + holeRAM(3); + gibAus('Berechne ...',3); Zeit:=now; if xMax<xMin then begin @@ -2935,7 +2935,7 @@ begin ); end; - gibAus('... fertig '+timetostr(now-Zeit),1); + gibAus('... fertig '+timetostr(now-Zeit),3); result:=true; end; @@ -3034,8 +3034,8 @@ begin result:=true; exit; end; - holeRAM(1); - gibAus('Berechne ...',1); + holeRAM(3); + gibAus('Berechne ...',3); Zeit:=now; setLength(quotientThreads,threads); for i:=0 to length(quotientThreads)-1 do @@ -3048,7 +3048,7 @@ begin until fertig; for i:=0 to length(quotientThreads)-1 do quotientThreads[i].free; - gibAus('... fertig '+timetostr(now-Zeit),1); + gibAus('... fertig '+timetostr(now-Zeit),3); result:=true; end; @@ -3158,8 +3158,8 @@ begin result:=true; exit; end; - holeRAM(1); - gibAus('Berechne ...',1); + holeRAM(3); + gibAus('Berechne ...',3); Zeit:=now; setLength(produktThreads,threads); for i:=0 to length(produktThreads)-1 do @@ -3201,7 +3201,7 @@ begin until fertig; for i:=0 to length(produktThreads)-1 do produktThreads[i].free; - gibAus('... fertig '+timetostr(now-Zeit),1); + gibAus('... fertig '+timetostr(now-Zeit),3); result:=true; end; @@ -3271,20 +3271,20 @@ begin exit; end; if wavelet.mitFFT then begin - gibAus('Fordere '+intToStr(floor(_tSiz*_xSteps*sizeOf(extended)/1024/1024))+' MB RAM an ('+intToStr(_xSteps)+' x-Schritte mal '+intToStr(_tSiz)+' t-Schritte). ...',1); - gibAus(paramsDump,1); - gibAus(quelle.paramsDump,1); + gibAus('Fordere '+intToStr(floor(_tSiz*_xSteps*sizeOf(extended)/1024/1024))+' MB RAM an ('+intToStr(_xSteps)+' x-Schritte mal '+intToStr(_tSiz)+' t-Schritte). ...',3); + gibAus(paramsDump,3); + gibAus(quelle.paramsDump,3); case quelle.genauigkeit of gSingle: eWerte.kopiereVon(sT,pTLLWerteSingle(@quelle.sWerte)); gDouble: dWerte.kopiereVon(sT,pTLLWerteDouble(@quelle.dWerte)); gExtended: eWerte.kopiereVon(sT,pTLLWerteExtended(@quelle.eWerte)); end{of case}; - gibAus('... fertig '+timetostr(now-Zeit)+', berechne ...',1); + gibAus('... fertig '+timetostr(now-Zeit)+', berechne ...',3); end else begin genauigkeit:=gExtended; - holeRAM(1); - gibAus('Berechne ...',1); + holeRAM(3); + gibAus('Berechne ...',3); end; Zeit:=now; wavelet.werte.params.tSiz:=_tSiz; @@ -3307,9 +3307,9 @@ begin pvFehler:=pvFehler+korrelThreads[i].pvFehler; korrelThreads[i].free; end; - gibAus(' (Parseval-Fehler = '+floatToStr(pvFehler/length(korrelThreads))+')',1); + gibAus(' (Parseval-Fehler = '+floatToStr(pvFehler/length(korrelThreads))+')',3); wavelet.free; - gibAus('... fertig '+timetostr(now-Zeit),1); + gibAus('... fertig '+timetostr(now-Zeit),3); result:=true; end; @@ -3392,7 +3392,7 @@ begin tMin:=i; end; setLength(DTs,min(threads,xMax+1-xMin)); - gibAus('Ermittle maximale und minimale Dichten ...',1); + gibAus('Ermittle maximale und minimale Dichten ...',3); j:=xMin; for i:=0 to length(DTs)-1 do begin DTs[i]:=tDichteThread.create(j,byte(i=length(DTs)-1)*xMax + byte(i<length(DTs)-1)*(j+ ((xMax+1-xMin) div length(DTs))),tMin,tMax,self); @@ -3437,11 +3437,11 @@ begin fehler('Das Minimum ist nicht eindeutig!'); end; end; - gibAus('... sie sind '+myFloatToStr(_maxW)+' ('+tInt64PointToStr(_maxP)+') und '+myFloatToStr(_minW)+' ('+tInt64PointToStr(_minP)+'). '+timetostr(now-Zeit),1); + gibAus('... sie sind '+myFloatToStr(_maxW)+' ('+tInt64PointToStr(_maxP)+') und '+myFloatToStr(_minW)+' ('+tInt64PointToStr(_minP)+'). '+timetostr(now-Zeit),3); if symmetrisch then begin _minW:=min(_minW,-_maxW); _maxW:=max(_maxW,-_minW); - gibAus('Jetzt sind sie '+myFloatToStr(_maxW)+' und '+myFloatToStr(_minW)+'. '+timetostr(now-Zeit),1); + gibAus('Jetzt sind sie '+myFloatToStr(_maxW)+' und '+myFloatToStr(_minW)+'. '+timetostr(now-Zeit),3); end; end; @@ -3472,7 +3472,7 @@ begin for i:=0 to length(vgWs)-1 do vgWs[i].warteAufBeendigungDesLeseThreads; Zeit:=now; - gibAus('Gleiche maximale und minimale Dichten an ...',1); + gibAus('Gleiche maximale und minimale Dichten an ...',3); for i:=0 to length(vgWs)-1 do begin _minW:=min(_minW,vgWs[i]._minW); @@ -3489,11 +3489,11 @@ begin vgWs[i]._maxW:=_maxW; end; - gibAus('... sie sind '+myFloatToStr(_minW)+' und '+myFloatToStr(_maxW)+'. '+timetostr(now-Zeit),1); + gibAus('... sie sind '+myFloatToStr(_minW)+' und '+myFloatToStr(_maxW)+'. '+timetostr(now-Zeit),3); if symmetrisch then begin _minW:=min(_minW,-_maxW); _maxW:=max(_maxW,-_minW); - gibAus('Jetzt sind sie '+myFloatToStr(_minW)+' und '+myFloatToStr(_maxW)+'. '+timetostr(now-Zeit),1); + gibAus('Jetzt sind sie '+myFloatToStr(_minW)+' und '+myFloatToStr(_maxW)+'. '+timetostr(now-Zeit),3); end; end; @@ -3605,7 +3605,7 @@ begin _tSiz:=transformationen.tSiz; genauigkeit:=gExtended; if not sT then - holeRAM(1); + holeRAM(3); end; function tWerte.fitteGausze(sT: boolean; f: tMyStringList; threads: longint): boolean; @@ -3623,7 +3623,7 @@ begin result:=false; Zeit:=now; if not sT then - gibAus('Gauße fitten ...',1); + gibAus('Gauße fitten ...',3); ampl:=nil; br:=nil; posi:=nil; @@ -3795,7 +3795,7 @@ begin for i:=0 to threads-1 do gauszFitThreads[i].free; - gibAus('... fertig '+timetostr(now-Zeit),1); + gibAus('... fertig '+timetostr(now-Zeit),3); result:=true; end; @@ -3951,9 +3951,9 @@ begin while tMin<0 do tMin:=tMin+qlen; - holeRAM(1); + holeRAM(3); setLength(tmpW,2*_xSteps-1); - gibAus('kopiere Inhalt ...',1); + gibAus('kopiere Inhalt ...',3); case quelle.genauigkeit of gSingle: for i:=0 to 2*_xSteps-2 do @@ -3969,7 +3969,7 @@ begin move(tmpW[i],eWerte.werte[i*_xSteps],_xSteps*sizeOf(extended)); for i:=0 to length(eWerte.werte)-1 do total:=total+sqr(eWerte.werte[i]); - gibAus('... fertig ('+floatToStr(total)+'), berechne Fouriertransformation ...',1); + gibAus('... fertig ('+floatToStr(total)+'), berechne Fouriertransformation ...',3); if not fft(threads,senkrecht,false,doRes,doBetrQdr,wavelet,nil,pvFehler,warn) then begin gibAus('Es traten Fehler auf!',3); wavelet.free; @@ -3979,7 +3979,7 @@ begin total:=0; for i:=0 to length(eWerte.werte)-1 do total:=total+sqr(eWerte.werte[i]); - gibAus(' (Parseval-Fehler = '+floatToStr(pvFehler)+') -> '+floatToStr(total),1); + gibAus(' (Parseval-Fehler = '+floatToStr(pvFehler)+') -> '+floatToStr(total),3); end; transformationen:=tFFTTransformation.create(transformationen,not senkrecht,senkrecht); if senkrecht then // die zweite Hälfte der Werte ist redundant @@ -3988,8 +3988,8 @@ begin _xSteps:=_xSteps div 2 + 1; transformationen:=tKoordinatenAusschnitt.create(transformationen,0,_xSteps-1,0,_tSiz-1); if not sT then - eWerte.holeRAM(1); - gibAus('... fertig '+timetostr(now-Zeit),1); + eWerte.holeRAM(3); + gibAus('... fertig '+timetostr(now-Zeit),3); wavelet.free; fenster.free; result:=true; @@ -4033,7 +4033,7 @@ end; begin result:=false; warteAufBeendigungDesLeseThreads; - gibAus('Verzerrung berechnen ... ',1); + gibAus('Verzerrung berechnen ... ',3); Zeit:=now; bearbeitungenLoeschen:=true; verzerrung:=tKeineTransformation.create; @@ -4074,12 +4074,12 @@ begin end; inc(verAnz); if not sT then begin - gibAus(verzerrung.dumpParams(verAnz),1); + gibAus(verzerrung.dumpParams(verAnz),3); for i:=0 to 1 do for j:=0 to 1 do gibAus( intToStr(i*(quelle._xSteps-1))+';'+intToStr(j*(quelle._tSiz-1))+' -> '+ - tExtPointToStr(verzerrung.transformiereKoordinaten(i*(quelle._xSteps-1),j*(quelle._tSiz-1),verAnz-1)),1); + tExtPointToStr(verzerrung.transformiereKoordinaten(i*(quelle._xSteps-1),j*(quelle._tSiz-1),verAnz-1)),3); end; continue; end; @@ -4110,7 +4110,7 @@ begin Nachbearbeitung.ersetzeAnfangDurch(verzerrung); if not sT then begin - gibAus('... Zielausdehnung berechnen ... ',1); + gibAus('... Zielausdehnung berechnen ... ',3); grenzen:=(verzerrung as tKonkreteKoordinatenTransformation).zielausdehnung; _xSteps:=grenzen['x','y']-grenzen['x','x']+2; _tSiz:=grenzen['y','y']-grenzen['y','x']+2; @@ -4119,13 +4119,13 @@ begin aufraeumen; exit; end; - holeRAM(1); - gibAus('Positionen und Gewichte initialisieren ...',1); + holeRAM(3); + gibAus('Positionen und Gewichte initialisieren ...',3); setLength(zPs,quelle._xSteps*quelle._tSiz); setLength(zGs,quelle._xSteps*quelle._tSiz); setLength(zAs,_xSteps*_tSiz); initVerzerrung(quelle,0,quelle._xSteps-1,0,quelle._tSiz-1,grenzen['x','x'],grenzen['y','x'],threads,true,epsilon,verzerrung,verAnz,zPs,zGs,zAs,warn); - gibAus('... fertig, Threads starten',1); + gibAus('... fertig, Threads starten',3); setLength(verzerrThreads,threads); for i:=0 to length(verzerrThreads)-1 do verzerrThreads[i]:=tVerzerrThread.create(quelle,self,round(i/length(verzerrThreads)*_xSteps),round((i+1)/length(verzerrThreads)*_xSteps-1),0,_tSiz-1,zPs,zGs,zAs,Vorbearbeitung,Nachbearbeitung,vorAnz,nachAnz); @@ -4138,7 +4138,7 @@ begin end; transformationen:=Nachbearbeitung; aufraeumen; - gibAus('... fertig '+timetostr(now-Zeit),1); + gibAus('... fertig '+timetostr(now-Zeit),3); result:=true; end; @@ -4163,7 +4163,7 @@ end; begin result:=false; warteAufBeendigungDesLeseThreads; - gibAus('lambda-zu-omega-Verzerrung berechnen ... ',1); + gibAus('lambda-zu-omega-Verzerrung berechnen ... ',3); Zeit:=now; genauigkeit:=gExtended; // c nm eV h @@ -4201,8 +4201,8 @@ begin _xSteps:=quelle._xSteps; _tSiz:=quelle._tSiz; if not sT then begin - holeRAM(1); - gibAus('Threads starten',1); + holeRAM(3); + gibAus('Threads starten',3); setLength(verzerrLOThreads,threads); for i:=0 to length(verzerrLOThreads)-1 do verzerrLOThreads[i]:= @@ -4223,7 +4223,7 @@ begin until fertig; end; aufraeumen; - gibAus('... fertig '+timetostr(now-Zeit),1); + gibAus('... fertig '+timetostr(now-Zeit),3); result:=true; end; @@ -4243,7 +4243,7 @@ begin result:=false; Zeit:=now; if not sT then - gibAus('Artefakte entfernen ...',1); + gibAus('Artefakte entfernen ...',3); for b:=false to true do begin fensters[b]:=tSin2Fenster.create; (fensters[b] as tSin2Fenster).breite:=_tSiz; @@ -4381,7 +4381,7 @@ begin end; if (hintergrundAbziehen.art<>haaKeine) or fensters[false].aktiv or fensters[true].aktiv then begin - gibAus('Fenster-Threads starten',1); + gibAus('Fenster-Threads starten',3); setLength(fensterThreads,threads); for i:=0 to length(fensterThreads)-1 do fensterThreads[i]:= @@ -4412,7 +4412,7 @@ begin eWerte.entferneHeiszePixel(heiszPixelSchwellen[0],heiszPixelSchwellen[1],heiszPixelSchwellen[2]); end{of case}; - gibAus('... fertig '+timetostr(now-Zeit),1); + gibAus('... fertig '+timetostr(now-Zeit),3); result:=true; end; @@ -4430,7 +4430,7 @@ begin result:=false; Zeit:=now; if not sT then - gibAus('Einhüllende extrahieren ...',1); + gibAus('Einhüllende extrahieren ...',3); for b:=false to true do fensters[b]:=tSin2Fenster.create; hintergrundAbziehen.art:=haaKeine; @@ -4488,27 +4488,27 @@ begin exit; end; - gibAus('berechne t-FFT ...',1); + gibAus('berechne t-FFT ...',3); if not fft(threads,true,false,doRes,doResSmi,fensters[true],hintergrund,pvFehler,warn) then begin gibAus('Es traten Fehler auf!',3); exit; end; - gibAus(' (Parseval-Fehler = '+floatToStr(pvFehler)+')',1); - gibAus('berechne x-FFT ...',1); + gibAus(' (Parseval-Fehler = '+floatToStr(pvFehler)+')',3); + gibAus('berechne x-FFT ...',3); if not fft(threads,false,false,doRes,doResSmi,fensters[false],nil,pvFehler,warn) then begin gibAus('Es traten Fehler auf!',3); exit; end; - gibAus(' (Parseval-Fehler = '+floatToStr(pvFehler)+')',1); + gibAus(' (Parseval-Fehler = '+floatToStr(pvFehler)+')',3); for b:=false to true do fensters[b].free; - gibAus('spektrale Beträge ermitteln',1); + gibAus('spektrale Beträge ermitteln',3); betraege:=tWerte.create(self,0,_xSteps-1); betraege.fft2dNachbearbeitung(threads,doBetrQdr); betraege.wertAusUmgebungMitteln(_xSteps div 2, _tSiz div 2); // irgendwie sammelt sich hier Rauschen (?) an - gibAus('hohe Frequenzen filtern',1); + gibAus('hohe Frequenzen filtern',3); case genauigkeit of gSingle: sWerte.kantenFilter(betraege.sWerte,xFak,yFak,kfTiefpass); @@ -4519,19 +4519,19 @@ begin end{of case}; betraege.free; - gibAus('berechne inverse x-FFT ...',1); + gibAus('berechne inverse x-FFT ...',3); if not fft(threads,false,true,doResSmi,doRes,nil,nil,pvFehler,wsLasch) then begin gibAus('Es traten Fehler auf!',3); exit; end; - gibAus(' (Parseval-Fehler = '+floatToStr(pvFehler)+')',1); - gibAus('berechne inverse t-FFT ...',1); + gibAus(' (Parseval-Fehler = '+floatToStr(pvFehler)+')',3); + gibAus('berechne inverse t-FFT ...',3); if not fft(threads,true,true,doResSmi,doBetr,nil,hintergrund,pvFehler,warn) then begin gibAus('Es traten Fehler auf!',3); exit; end; - gibAus(' (Parseval-Fehler = '+floatToStr(pvFehler)+')',1); - gibAus('... fertig '+timetostr(now-Zeit),1); + gibAus(' (Parseval-Fehler = '+floatToStr(pvFehler)+')',3); + gibAus('... fertig '+timetostr(now-Zeit),3); result:=true; end; @@ -4550,7 +4550,7 @@ begin result:=false; Zeit:=now; if not sT then - gibAus('Phase extrahieren ...',1); + gibAus('Phase extrahieren ...',3); for b:=false to true do fensters[b]:=tSin2Fenster.create; if not istKomplex then begin @@ -4615,26 +4615,26 @@ begin exit; end; - gibAus('berechne t-FFT ...',1); + gibAus('berechne t-FFT ...',3); if not fft(threads,true,false,doAlleResIms,doAlleResIms,fensters[true],nil,pvFehler,warn) then begin gibAus('Es traten Fehler auf!',3); exit; end; - gibAus(' (Parseval-Fehler = '+floatToStr(pvFehler)+')',1); - gibAus('berechne x-FFT ...',1); + gibAus(' (Parseval-Fehler = '+floatToStr(pvFehler)+')',3); + gibAus('berechne x-FFT ...',3); if not fft(threads,false,false,doAlleResIms,doAlleResIms,fensters[false],nil,pvFehler,warn) then begin gibAus('Es traten Fehler auf!',3); exit; end; - gibAus(' (Parseval-Fehler = '+floatToStr(pvFehler)+')',1); + gibAus(' (Parseval-Fehler = '+floatToStr(pvFehler)+')',3); for b:=false to true do fensters[b].free; - gibAus('spektrale Beträge ermitteln',1); + gibAus('spektrale Beträge ermitteln',3); betraege:=tWerte.create(self,0,_xSteps-1); betraege.fft2dNachbearbeitung(threads,doBetrQdr); - gibAus('tiefe Frequenzen filtern',1); + gibAus('tiefe Frequenzen filtern',3); case genauigkeit of gSingle: sWerte.kantenFilter(betraege.sWerte,xFak,yFak,kfHochpass,true,maxPos); @@ -4645,23 +4645,23 @@ begin end{of case}; betraege.free; - gibAus('zentrieren ('+tInt64PointToStr(maxPos)+')',1); + gibAus('zentrieren ('+tInt64PointToStr(maxPos)+')',3); verschiebe(threads,maxPos); - gibAus('berechne inverse x-FFT ...',1); + gibAus('berechne inverse x-FFT ...',3); if not fft(threads,false,true,doAlleResIms,doAlleResIms,nil,nil,pvFehler,wsLasch) then begin gibAus('Es traten Fehler auf!',3); exit; end; - gibAus(' (Parseval-Fehler = '+floatToStr(pvFehler)+')',1); - gibAus('berechne inverse t-FFT ...',1); + gibAus(' (Parseval-Fehler = '+floatToStr(pvFehler)+')',3); + gibAus('berechne inverse t-FFT ...',3); if not fft(threads,true,true,doAlleResIms,doAlleResIms,nil,nil,pvFehler,warn) then begin gibAus('Es traten Fehler auf!',3); exit; end; - gibAus(' (Parseval-Fehler = '+floatToStr(pvFehler)+')',1); + gibAus(' (Parseval-Fehler = '+floatToStr(pvFehler)+')',3); - gibAus('Phasenwinkel ermitteln ...',1); + gibAus('Phasenwinkel ermitteln ...',3); ermittlePhasenWinkel(threads); if entspringen.modus<>emKein then begin @@ -4675,11 +4675,11 @@ begin entspringen.parameter[i]:= kont2disk('y',entspringen.parameter[i]); end{of case}; - gibAus('entspringen ...',1); + gibAus('entspringen ...',3); entspringe(threads,entspringen); end; - gibAus('... fertig '+timetostr(now-Zeit),1); + gibAus('... fertig '+timetostr(now-Zeit),3); result:=true; end; @@ -4696,7 +4696,7 @@ begin result:=false; Zeit:=now; if not sT then - gibAus('Kanten extrahieren ...',1); + gibAus('Kanten extrahieren ...',3); senkrecht:=false; exponent:=1; bekannteBefehle:=tMyStringList.create; @@ -4736,7 +4736,7 @@ begin exit; end; - gibAus('Kantenextraktionsthreads starten',1); + gibAus('Kantenextraktionsthreads starten',3); setLength(kantenExtraktionsThreads,threads); if senkrecht then begin for i:=0 to length(kantenExtraktionsThreads)-1 do @@ -4769,7 +4769,7 @@ begin if not fertig then sleep(10); until fertig; - gibAus('... fertig '+timetostr(now-Zeit),1); + gibAus('... fertig '+timetostr(now-Zeit),3); result:=true; end; @@ -4949,7 +4949,7 @@ begin exit; end; - holeRAM(1); + holeRAM(3); case genauigkeit of gSingle: sWerte.nullenEinfuegen(wo['x'],wo['y']); @@ -5012,7 +5012,7 @@ begin exit; end; - holeRAM(1); + holeRAM(3); setLength(kmThreads,threads); for i:=0 to length(kmThreads)-1 do @@ -5129,8 +5129,8 @@ begin _tSiz:=tMax-tMin+1; _xSteps:=xMax-xMin+1; - holeRAM(1); - gibAus('Berechne Integrale ...',1); + holeRAM(3); + gibAus('Berechne Integrale ...',3); setLength(intThreads,threads); for i:=0 to length(intThreads)-1 do intThreads[i]:= @@ -5154,7 +5154,7 @@ begin for i:=0 to length(intThreads)-1 do intThreads[i].free; - gibAus('... fertig '+timetostr(now-Zeit),1); + gibAus('... fertig '+timetostr(now-Zeit),3); end; result:=true; end; @@ -5228,18 +5228,18 @@ begin fenster.breite:=_xSteps - fenster.rand; end; if not sT then begin - gibAus('berechne FFT ...',1); + gibAus('berechne FFT ...',3); if not fft(threads,senkrecht,false,doRes,nB,fenster,nil,pvFehler,warn) then begin gibAus('Es traten Fehler auf!',3); fenster.free; exit; end; - gibAus(' (Parseval-Fehler = '+floatToStr(pvFehler)+')',1); + gibAus(' (Parseval-Fehler = '+floatToStr(pvFehler)+')',3); end; transformationen:=tFFTTransformation.create(transformationen,not senkrecht,senkrecht); if not sT then begin - holeRAM(1); - gibAus('... fertig! '+timetostr(now-Zeit),1); + holeRAM(3); + gibAus('... fertig! '+timetostr(now-Zeit),3); end; fenster.free; result:=true; @@ -5387,28 +5387,28 @@ begin transformationen:=tFFTTransformation.create(transformationen,true,true); if spiegeln then begin - gibAus('Werte spiegeln ...',1); + gibAus('Werte spiegeln ...',3); spiegle(threads); - gibAus('... fertig! '+timetostr(now-Zeit),1); + gibAus('... fertig! '+timetostr(now-Zeit),3); end; - gibAus('berechne t-FFT ...',1); + gibAus('berechne t-FFT ...',3); if not fft(threads,true,invers,dos[0],dos[1],fensters[true],nil,pvFehler,warn) then begin gibAus('Es traten Fehler auf!',3); exit; end; - gibAus(' (Parseval-Fehler = '+floatToStr(pvFehler)+')',1); - gibAus('... fertig! '+timetostr(now-Zeit),1); - gibAus('berechne x-FFT ...',1); + gibAus(' (Parseval-Fehler = '+floatToStr(pvFehler)+')',3); + gibAus('... fertig! '+timetostr(now-Zeit),3); + gibAus('berechne x-FFT ...',3); if not fft(threads,false,invers,dos[2],dos[3],fensters[false],nil,pvFehler,warn) then begin gibAus('Es traten Fehler auf!',3); exit; end; - gibAus(' (Parseval-Fehler = '+floatToStr(pvFehler)+')',1); - gibAus('... fertig! '+timetostr(now-Zeit),1); - gibAus('Wertenachbearbeiten ...',1); + gibAus(' (Parseval-Fehler = '+floatToStr(pvFehler)+')',3); + gibAus('... fertig! '+timetostr(now-Zeit),3); + gibAus('Wertenachbearbeiten ...',3); if dos[3]<>dos[4] then fft2dNachbearbeitung(threads,dos[4]); - gibAus('... fertig! '+timetostr(now-Zeit),1); + gibAus('... fertig! '+timetostr(now-Zeit),3); for b:=false to true do fensters[b].free; result:=true; @@ -5458,8 +5458,8 @@ begin transformationen:=tRTTransformation.create(quelle.transformationen,winkelSchritte,verschiebungsSchritte); if not sT then begin - holeRAM(1); - gibAus('berechne Radon-Transformation ...',1); + holeRAM(3); + gibAus('berechne Radon-Transformation ...',3); setLength(radonTransformationsThreads,threads); for i:=0 to length(radonTransformationsThreads)-1 do radonTransformationsThreads[i]:=tRadonTransformationsThread.create( @@ -5475,7 +5475,7 @@ begin if not fertig then sleep(10); until fertig; - gibAus('... fertig! '+timetostr(now-Zeit),1); + gibAus('... fertig! '+timetostr(now-Zeit),3); end; result:=true; end; @@ -5534,7 +5534,7 @@ begin warteAufBeendigungDesLeseThreads; Zeit:=now; if not sT then - gibAus('erzeuge lineares Bild aus '+bezeichner+' ...',1); + gibAus('erzeuge lineares Bild aus '+bezeichner+' ...',3); datei:=''; xZoom:=1; yZoom:=1; @@ -5777,8 +5777,8 @@ begin xMax:=min(xMax,_xSteps-1); tMin:=max(tMin,0); tMax:=min(tMax,_tSiz div (1+byte(istKomplex))-1); - gibAus('('+intToStr(xMin)+'-'+intToStr(xMax)+'x'+intToStr(tMin)+'-'+intToStr(tMax)+')',1); - gibAus(' ('+floatToStr(transformationen.xStart)+'-'+floatToStr(transformationen.xStop)+' x '+floatToStr(transformationen.tStart)+'-'+floatToStr(transformationen.tStop)+')',1); + gibAus('('+intToStr(xMin)+'-'+intToStr(xMax)+'x'+intToStr(tMin)+'-'+intToStr(tMax)+')',3); + gibAus(' ('+floatToStr(transformationen.xStart)+'-'+floatToStr(transformationen.xStop)+' x '+floatToStr(transformationen.tStart)+'-'+floatToStr(transformationen.tStop)+')',3); breite:=round((xMax-xMin+1)*xZoom); hoehe:=round((tMax-tMin+1)*yZoom); @@ -5789,7 +5789,7 @@ begin aufraeumen; exit; end; - gibAus(intToStr(breite)+' x '+intToStr(hoehe)+' Pixel',1); + gibAus(intToStr(breite)+' x '+intToStr(hoehe)+' Pixel',3); fontRenderer:=tFontRenderer.create(schriftgroesze); @@ -5839,7 +5839,7 @@ begin wert:=wert+schritt; end; end; - gibAus(intToStr(length(beschriftungen))+' Zahlen an den Achsen',1); + gibAus(intToStr(length(beschriftungen))+' Zahlen an den Achsen',3); lOf:=byte(rahmen); rOf:=byte(rahmen); oOf:=byte(rahmen); @@ -5852,7 +5852,7 @@ begin uOf:=max(uOf,1+unten-bHoehe); end; if lOf+oOf+rOf+uOf>0 then - gibAus('Extra-Ränder: '+intToStr(lOf)+' Pixel links, '+intToStr(oOf)+' Pixel oben, '+intToStr(rOf)+' Pixel rechts und '+intToStr(uOf)+' Pixel unten.',1); + gibAus('Extra-Ränder: '+intToStr(lOf)+' Pixel links, '+intToStr(oOf)+' Pixel oben, '+intToStr(rOf)+' Pixel rechts und '+intToStr(uOf)+' Pixel unten.',3); setLength(bilderThreads,threads); for i:=0 to length(bilderThreads)-1 do @@ -5914,7 +5914,7 @@ begin aufraeumen; result:=true; - gibAus('... fertig '+timetostr(now-Zeit),1); + gibAus('... fertig '+timetostr(now-Zeit),3); end; function tWerte.erzeugeAscii(sT: boolean; f: tMyStringList): boolean; @@ -5930,7 +5930,7 @@ begin result:=false; warteAufBeendigungDesLeseThreads; Zeit:=now; - gibAus('erzeuge Ascii-Datei ...',1); + gibAus('erzeuge Ascii-Datei ...',3); datei:=''; xMin:=0; xMax:=_xSteps-1; @@ -6065,7 +6065,7 @@ begin end{of Case}; end{of Case}; close(outF); - gibAus('... fertig '+timetostr(now-Zeit),1); + gibAus('... fertig '+timetostr(now-Zeit),3); result:=true; end; @@ -6088,8 +6088,8 @@ begin warteAufBeendigungDesLeseThreads; Zeit:=now; if not sT then begin - gibAus('erzeuge Lineout ...',1); - gibAus('insgesamt: '+floatToStr(transformationen.xStart)+'..'+floatToStr(transformationen.xStop)+' x '+floatToStr(transformationen.tStart)+'..'+floatToStr(transformationen.tStop),1); + gibAus('erzeuge Lineout ...',3); + gibAus('insgesamt: '+floatToStr(transformationen.xStart)+'..'+floatToStr(transformationen.xStop)+' x '+floatToStr(transformationen.tStart)+'..'+floatToStr(transformationen.tStop),3); end; ab['x']:=extPoint(0,0); @@ -6287,7 +6287,7 @@ begin end; if not sT then begin closeFile(fOut); - gibAus('... fertig '+timetostr(now-Zeit),1); + gibAus('... fertig '+timetostr(now-Zeit),3); end; result:=true; end; @@ -6301,8 +6301,8 @@ begin warteAufBeendigungDesLeseThreads; Zeit:=now; if not sT then begin - gibAus('erzeuge Binning ...',1); - gibAus('insgesamt: '+floatToStr(transformationen.xStart)+'..'+floatToStr(transformationen.xStop)+' x '+floatToStr(transformationen.tStart)+'..'+floatToStr(transformationen.tStop),1); + gibAus('erzeuge Binning ...',3); + gibAus('insgesamt: '+floatToStr(transformationen.xStart)+'..'+floatToStr(transformationen.xStop)+' x '+floatToStr(transformationen.tStart)+'..'+floatToStr(transformationen.tStop),3); end; senkrecht:=transformationen.xStart=transformationen.xStop; if (not senkrecht) and (transformationen.tStart<>transformationen.tStop) then begin @@ -6329,7 +6329,7 @@ begin gExtended: eWerte.erzeugeBinning(senkrecht,linien,x0,dX,params); end{of case}; - gibAus('... fertig '+timetostr(now-Zeit),1); + gibAus('... fertig '+timetostr(now-Zeit),3); result:=true; end; @@ -6391,7 +6391,7 @@ begin transformationen.tSiz:=_tSiz div 2; if sT then exit; - holeRAM(1); + holeRAM(3); for j:=0 to ts2-1 do for i:=0 to _xSteps-1 do begin eWerte.werte[i+j*_xSteps]:= @@ -6483,7 +6483,7 @@ begin phasenWinkelThreads[i].free; gibAus('Alle Phasenwinkelthreads fertig!',1); istKomplex:=false; - holeRAM(1); + holeRAM(3); end; procedure tWerte.entspringe(threads: longint; entspringen: tEntspringModus); @@ -6551,13 +6551,13 @@ begin gibAus('Alle FFT2dNBThreads fertig!',1); if not (nB in [doAlleResIms,doAlleResSmi]) then begin istKomplex:=false; - holeRAM(1); + holeRAM(3); end; end else begin if nB in [doAlleResIms,doAlleResSmi] then begin istKomplex:=true; - holeRAM(1); + holeRAM(3); case genauigkeit of gSingle: sWerte.fft2dNachbearbeitungVerdoppeln(nB); @@ -6613,7 +6613,7 @@ begin result:=false; warteAufBeendigungDesLeseThreads; Zeit:=now; - gibAus('finde Maximum ...',1); + gibAus('finde Maximum ...',3); datei:=''; xMin:=0; xMax:=_xSteps-1; @@ -6726,7 +6726,7 @@ begin end{of case}; outF.add(s); outF.saveToFile(datei); - gibAus('... fertig '+timetostr(now-Zeit),1); + gibAus('... fertig '+timetostr(now-Zeit),3); result:=true; end; @@ -7310,7 +7310,7 @@ begin fen:=fenster; hg:=hintergrund; erfolg:=false; - gibAus('FFTthread kreiert ('+intToStr(pW._xSteps)+' x '+intToStr(pW._tSiz)+': '+intToStr(sMi)+' .. '+intToStr(sMa)+'): '+algo.className,1); + gibAus('FFTthread kreiert ('+intToStr(pW._xSteps)+' x '+intToStr(pW._tSiz)+': '+intToStr(sMi)+' .. '+intToStr(sMa)+'): '+algo.className,3); suspended:=false; end; @@ -8344,7 +8344,7 @@ begin (tokenListe.grepFirst('^$',true)='') then begin p.free; p:=nil; - gibAus('Des Befehls zu expandierende Argumente hatten keine Treffer, er wird ignoriert.',1); + gibAus('Des Befehls zu expandierende Argumente hatten keine Treffer, er wird ignoriert.',3); exit; end; @@ -8356,12 +8356,12 @@ begin cmd:=leftStr(cmd,pos(#10,cmd)-1)+''' '''+copy(cmd,pos(#10,cmd)+1,length(cmd)); while pos(#13,cmd)>0 do cmd:=leftStr(cmd,pos(#13,cmd)-1)+''' '''+copy(cmd,pos(#13,cmd)+1,length(cmd)); - gibAus('Externer Befehl: '''+p.executable+''' '+cmd+' erzeugt.',1); + gibAus('Externer Befehl: '''+p.executable+''' '+cmd+' erzeugt.',3); end; destructor tBefehlThread.destroy; begin - gibAus('Befehl zerstört.',1); + gibAus('Befehl zerstört.',3); p.free; inherited destroy; end; @@ -8373,7 +8373,7 @@ begin 'externen Befehl ausführen ... '+intToStr(belegterSpeicher)+#10+ p.executable+#10+ p.parameters.text, - 1); + 3); p.execute; gibAus('... fertig!',1); end @@ -9102,7 +9102,7 @@ begin uO:=max(uO,1+beschriftungen[i].unten-hoehe); end; if lO+oO+rO+uO>0 then - gibAus('Extra-Ränder: '+intToStr(lO)+' Pixel links, '+intToStr(oO)+' Pixel oben, '+intToStr(rO)+' Pixel rechts und '+intToStr(uO)+' Pixel unten.',1); + gibAus('Extra-Ränder: '+intToStr(lO)+' Pixel links, '+intToStr(oO)+' Pixel oben, '+intToStr(rO)+' Pixel rechts und '+intToStr(uO)+' Pixel unten.',3); setLength(farben,byte(waagerecht)*(breite-hoehe)+hoehe); for i:=0 to length(farben)-1 do begin @@ -9344,11 +9344,11 @@ begin nPalette:=allePaletten[length(allePaletten)-1]; end else - gibAus('Überschreibe bereits vorhandene Palette '''+nPalette.name+'''.',1); + gibAus('Überschreibe bereits vorhandene Palette '''+nPalette.name+'''.',3); nPalette.kopiereVon(palette); nPalette.name:=name; palette.free; - gibAus('Neue Palette '''+nPalette.name+''' erstellt!',1); + gibAus('Neue Palette '''+nPalette.name+''' erstellt!',3); result:=true; end; @@ -9369,7 +9369,7 @@ begin exit; end; bt.suspended:=false; - gibAus('Befehl gestartet.',1); + gibAus('Befehl gestartet.',3); if bt.bg then begin setLength(externeBefehle,length(externeBefehle)+1); externeBefehle[length(externeBefehle)-1]:=bt; @@ -9391,14 +9391,13 @@ begin for i:=0 to length(externeBefehle)-1 do b:=b or (assigned(externeBefehle[i]) and not externeBefehle[i].fertig); if b then begin - if c then - gibAus('Warte auf Beendigung externer Befehle ...',1); + if c then gibAus('Warte auf Beendigung externer Befehle ...',3); c:=false; sleep(10); end; until not b; if not c then - gibAus('... alle externen Befehle fertig.',1); + gibAus('... alle externen Befehle fertig.',3); for i:=0 to length(externeBefehle)-1 do if assigned(externeBefehle[i]) then externeBefehle[i].free; setLength(externeBefehle,0); |