optimize_fft_speedoptimize_fft_speedOptimizeFftSpeedOptimizeFftSpeedoptimize_fft_speed (Operator)
Name
optimize_fft_speedoptimize_fft_speedOptimizeFftSpeedOptimizeFftSpeedoptimize_fft_speed — Optimierung der Laufzeit der FFT.
Signatur
Herror optimize_fft_speed(const Hlong Width, const Hlong Height, const char* Mode)
Herror T_optimize_fft_speed(const Htuple Width, const Htuple Height, const Htuple Mode)
Beschreibung
optimize_fft_speedoptimize_fft_speedOptimizeFftSpeedOptimizeFftSpeedOptimizeFftSpeedoptimize_fft_speed bestimmt das Verfahren, das eine
optimierte der Laufzeit der FFT für ein Bild der Größe
WidthWidthWidthWidthwidthwidth x HeightHeightHeightHeightheightheight erreicht. Die so
festgestellten Daten beeinflussen die Verfahren für eine andere
Bildgröße nicht, so dass optimize_fft_speedoptimize_fft_speedOptimizeFftSpeedOptimizeFftSpeedOptimizeFftSpeedoptimize_fft_speed mehrmals mit
verschiedenen Parametern für WidthWidthWidthWidthwidthwidth und HeightHeightHeightHeightheightheight
aufgerufen werden kann, um optimale Laufzeiten für alle in der
Anwendung vorkommenden Bildgrößen zu erreichen. Der Parameter
ModeModeModeModemodemode legt die Gründlichkeit der Suche nach dem schnellsten
Verfahren fest. Für ModeModeModeModemodemode = 'standard'"standard""standard""standard""standard""standard" wird
eine schnelle Suche verwendet, die typischerweise wenige Sekunden
dauert. Das damit bestimmte Verfahren liefert sehr gute Laufzeiten,
die aber nicht immer optimal sind. Für ModeModeModeModemodemode =
'patient'"patient""patient""patient""patient""patient" wird eine gründlichere Suche vorgenommen, die
typischerweise mehrere Sekunden dauert und in den meisten Fällen
zur optimalen Laufzeit führt. Für ModeModeModeModemodemode =
'exhaustive'"exhaustive""exhaustive""exhaustive""exhaustive""exhaustive" wird eine vollständige Suche durchgeführt,
die typischerweise mehrere Minuten benötigt und in jedem Fall die
optimale Laufzeit liefert. In den meisten Anwendungen liefert
ModeModeModeModemodemode = 'standard'"standard""standard""standard""standard""standard" den besten Kompromiss zwischen
der Laufzeit der FFT und der Zeit, die zur Bestimmung der optimalen
Laufzeit notwendig ist. Die mit optimize_fft_speedoptimize_fft_speedOptimizeFftSpeedOptimizeFftSpeedOptimizeFftSpeedoptimize_fft_speed
berechneten Daten können mit write_fft_optimization_datawrite_fft_optimization_dataWriteFftOptimizationDataWriteFftOptimizationDataWriteFftOptimizationDatawrite_fft_optimization_data
gespeichert werden und mit read_fft_optimization_dataread_fft_optimization_dataReadFftOptimizationDataReadFftOptimizationDataReadFftOptimizationDataread_fft_optimization_data wieder
eingelesen werden.
Es ist zu beachten, dass diese Optimierung nur für den jeweiligen
Computer durchgeführt wird, auf dem der Operator aufgerufen wird.
Die Ergebnisse sind nicht geeignet für die Übertragung und Verwendung auf
anderen Computern, es sei denn sie besitzen die gleiche Konfiguration
bezüglich Hardware, Software und Treiberversionen.
optimize_fft_speedoptimize_fft_speedOptimizeFftSpeedOptimizeFftSpeedOptimizeFftSpeedoptimize_fft_speed beeinflusst die Laufzeit der folgenden
Operatoren, die die FFT verwenden: fft_genericfft_genericFftGenericFftGenericFftGenericfft_generic,
fft_imagefft_imageFftImageFftImageFftImagefft_image, fft_image_invfft_image_invFftImageInvFftImageInvFftImageInvfft_image_inv, photometric_stereophotometric_stereoPhotometricStereoPhotometricStereoPhotometricStereophotometric_stereo,
sfs_pentlandsfs_pentlandSfsPentlandSfsPentlandSfsPentlandsfs_pentland, sfs_mod_lrsfs_mod_lrSfsModLrSfsModLrSfsModLrsfs_mod_lr, sfs_orig_lrsfs_orig_lrSfsOrigLrSfsOrigLrSfsOrigLrsfs_orig_lr,
wiener_filterwiener_filterWienerFilterWienerFilterWienerFilterwiener_filter.
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Parameter
WidthWidthWidthWidthwidthwidth (input_control) integer → HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Breite des Bildes, für die die Laufzeit optimiert
werden soll.
Defaultwert: 512
Wertevorschläge: 128, 160, 192, 256, 320, 384, 512, 640, 768, 1024, 2048
HeightHeightHeightHeightheightheight (input_control) integer → HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Höhe des Bildes, für die die Laufzeit optimiert
werden soll.
Defaultwert: 512
Wertevorschläge: 120, 128, 144, 240, 256, 288, 480, 512, 576, 1024, 2048
ModeModeModeModemodemode (input_control) string → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Gründlichkeit der Suche nach der optimalen
Geschwindigkeit.
Defaultwert:
'standard'
"standard"
"standard"
"standard"
"standard"
"standard"
Werteliste: 'exhaustive'"exhaustive""exhaustive""exhaustive""exhaustive""exhaustive", 'patient'"patient""patient""patient""patient""patient", 'standard'"standard""standard""standard""standard""standard"
Ergebnis
Sind die Parameter korrekt, dann liefert optimize_fft_speedoptimize_fft_speedOptimizeFftSpeedOptimizeFftSpeedOptimizeFftSpeedoptimize_fft_speed
den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung
durchgeführt.
Nachfolger
fft_genericfft_genericFftGenericFftGenericFftGenericfft_generic,
fft_imagefft_imageFftImageFftImageFftImagefft_image,
fft_image_invfft_image_invFftImageInvFftImageInvFftImageInvfft_image_inv,
wiener_filterwiener_filterWienerFilterWienerFilterWienerFilterwiener_filter,
wiener_filter_niwiener_filter_niWienerFilterNiWienerFilterNiWienerFilterNiwiener_filter_ni,
photometric_stereophotometric_stereoPhotometricStereoPhotometricStereoPhotometricStereophotometric_stereo,
sfs_pentlandsfs_pentlandSfsPentlandSfsPentlandSfsPentlandsfs_pentland,
sfs_mod_lrsfs_mod_lrSfsModLrSfsModLrSfsModLrsfs_mod_lr,
sfs_orig_lrsfs_orig_lrSfsOrigLrSfsOrigLrSfsOrigLrsfs_orig_lr,
write_fft_optimization_datawrite_fft_optimization_dataWriteFftOptimizationDataWriteFftOptimizationDataWriteFftOptimizationDatawrite_fft_optimization_data
Alternativen
read_fft_optimization_dataread_fft_optimization_dataReadFftOptimizationDataReadFftOptimizationDataReadFftOptimizationDataread_fft_optimization_data
Siehe auch
optimize_rft_speedoptimize_rft_speedOptimizeRftSpeedOptimizeRftSpeedOptimizeRftSpeedoptimize_rft_speed
Modul
Foundation