Satimage Précédent | Suivant
FFT 2D
Accueil Documentation Smile Calcul numérique Le calcul avec Smile FFT 2D  
Pour calculer une transformée de Fourier 2D d'une matrix, utilisez la commande fft2d.
fft2dTransformée de Fourier 2D
matrix -- ou une liste {partie réelle, partie imaginaire} de 2 matrices
[inverse] boolean -- défaut false, si true calcule la FFT inverse
Result: matrix -- {partie réelle, partie imaginaire} de la FFT calculée.
L'exemple ci-dessous calcule et affiche la transformée 2D d'une figure d'interférences de trois lasers rouges. Pour voir l'image originale (un fichier TIFF) dans une nouvelle fenêtre, cliquez ici. Puis enregistrez l'image sur votre bureau pour télécharger le fichier TIFF.
L'exemple suivant suppose que le fichier a été téléchargé sur votre bureau. Autrement, vous pouvez modifier la première ligne du script.
Importer le script

set f to ((path to desktop as text) & "V_3H_1.tiff") as alias
set r to imagefile bounds f
set m to convert imagefile f selected rectangle {0, 0, 256, 256}
set nc to ncols of m
set nr to nrows of m
set av to mean of (statlist m)
set a to sublist array of real of m with av
-- les lignes ci-dessous forcent les conditions aux limites nulles
set x to creatematrix "x" ncols nc nrows nr
set y to creatematrix "y" ncols nc nrows nr
set the_formula to "sin(pi*x/nc)*sin(pi*y/nr)*a"
set array of real of m to evalformula the_formula with {a:a, x:x, y:y, nc:nc, nr:nr}
set sm to DoQuickFFT(m, 0, 0)
set sm's color palette to "GrayInv"
set v to sm's container
set v's limits to {-50, 50, -50, 50}
draw v

Spectre d'une image résultat d'une expérience d'interférences entre 3 lasers.
English version
Copyright ©2008 Paris, Satimage