# Fourier Transformation



## ShadowMan (23. Januar 2005)

Hi zusammen!

Nun brauche ich auch mal eure Hilfe. Weiss jemand von euch wo ich ein Plugin für PS finde, das mir die Fourier Transformation (und natürlich die invertierte FFT) darstellt? Ein Plugin für Gimp wäre ebenfalls okay.

Und offtopic an dieser Stelle: Hat jemand von euch diese Transformation schon mal selbst programmiert? Könnte dabei Hilfe gebrauchen.

Liebe Grüße,
Manuel ;-]


----------



## Haektor (23. Januar 2005)

hmm off topic ...*g* wozu brauchst du die bitte in ps?  willste bitweise optimieren? hrhr


----------



## ShadowMan (23. Januar 2005)

Ich würde mir gerne erstmal Bilder anschauen und wie die dazu gehörigen Transformationen aussehen. Danach muss ich das Ganze noch selbst programmieren, aber das passt schon 
Wichtig wäre es mir das es eine FFT machen kann. Wenn ich dann die Transformation optimieren kann und wieder zurück rechnen lassen kann wäre das natürlich optimal.
Aber wäre ja Unfug wenn jemand nur die eine Richtung programmiert, denn die andere hat ja nur in dem Integral kein "hoch Minus" stehen. 

LG,
Manuel ;-]


----------



## MonoMental (26. Januar 2005)

Also im PS weiß ich nicht, wie man günstig ne FFT oder inverse diskrete FFT darstellt. Es wird sicher diverse Plugins geben, aber da kann ich dir leider nicht helfen. Aber dafür gibt es ja das gulte alte DIAS. In DIAS hast du einige Prozeduren zur 2D-Fourier-Transformation - mußt es halt nur skripten, aber da diese Prozeduren einiges an Arbeit abnehmen, dürfte sich dieses auch realisieren lassen.

Hier ein Bsp. für ne eindimensionale FFT unter DIAS:


```
/ Eindimensionale Fouriertransformation 
	 RESET 1
	 PSIZE 255; PDEPTH 6; PGEN 214 1
	 INFPSIZE H H GRWMX
	 WNDW 50 0 100 255 0
	 PSET GRWMX 1; WNDW ;/ Balken einzeichnen
	 LINE 1 127 254 127 1 -1 ;/ Scanlinie zeichnen
	 +0=MREG ;/ Matrixregister
	 MATDEF MREG 256 2 2 0 DREG ;/ (0,2)-Gleitkommamatrix
	;/ DREG=nächstes freies Register
	 MATDEF MREG 0 2 2 ;/ Matrix löschen
	 +(0,127,1)"=GRW ;/ nullter Grauwert (float)
	 MATAPPFVAL MREG GRW 0 ;/ ("GRW,0)=(real,imag) als erstes
	;/ Matrixpaar ablegen
LOOP SCAN X 1 254
	 +(X,127,1)"=GRW
	 MATAPPFVAL MREG GRW 0 ;/ (real,imag) ablegen
	 +127-(X,127,1)=H; +X-1=X1
	 LINE X1 GRW X H 1 -1 ;/ Grauwertverlauf zeichnen
	 +H=GRW
END SCAN
	 +(255,127,1)"=GRW ;/ letzter Grauwert
	 MATAPPFVAL MREG GRW 0
	 FFT MREG DREG 0 2 ;/ Fouriertransformation
 
LOOP FREQU X 2 255
	 MATREADFC DREG X 1 REAL IMAG
	 "+REAL pyth IMAG'=A
	 +255-A=A; +X-1=X1
	 LINE X1 A1 X A 1 -2 ;/ Frequenzverlauf schwarz zeichnen
	 +129-X abs=H; IF H>20 M1
	 LINE X1 A1 X A 2 -2 ;/ Niederfrequenzen rot zeichnen
	 $M1;+A=A1
END FREQU
 
LOOP CL R 1 256
+129-R abs=H;IF H<20 CLZ
MATWRITEFC DREG R 1 0 ;/ hohe Frequenzen löschen
MATWRITEFC DREG R 2 0
$CLZ;END CL
	 FFT DREG MREG 0 2 ;/ Rücktransformation
	 +0=GRW
LOOP LINE X 1 254
	 MATREADFC MREG X 1 H
	 "+H+127'=H
	 +255-X=X2;+X2+1=X1
	 LINE X1 GRW X2 H 2 -1 ;/ Glättungsverlauf zeichnen
	 +H=GRW
END LINE
END

```
 
greetz

der mono


----------



## chmee (10. April 2010)

Auch wenn es ein älterer (naja, uralter in Webmaßstäben) Thread ist:

Hier die Plugins FFT und IFFT mit Beispiel.

mfg chmee


----------

