Name
optimize_fft_speedoptimize_fft_speedOptimizeFftSpeedoptimize_fft_speedOptimizeFftSpeedOptimizeFftSpeed — Optimierung der Laufzeit der FFT.
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)
Herror optimize_fft_speed(const HTuple& Width, const HTuple& Height, const HTuple& Mode)
optimize_fft_speedoptimize_fft_speedOptimizeFftSpeedoptimize_fft_speedOptimizeFftSpeedOptimizeFftSpeed 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 beeinflusen die Verfahren für eine andere
Bildgröße nicht, so dass optimize_fft_speedoptimize_fft_speedOptimizeFftSpeedoptimize_fft_speedOptimizeFftSpeedOptimizeFftSpeed 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_speedOptimizeFftSpeedoptimize_fft_speedOptimizeFftSpeedOptimizeFftSpeed
berechneten Daten können mit write_fft_optimization_datawrite_fft_optimization_dataWriteFftOptimizationDatawrite_fft_optimization_dataWriteFftOptimizationDataWriteFftOptimizationData
gespeichert werden und mit read_fft_optimization_dataread_fft_optimization_dataReadFftOptimizationDataread_fft_optimization_dataReadFftOptimizationDataReadFftOptimizationData 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_speedOptimizeFftSpeedoptimize_fft_speedOptimizeFftSpeedOptimizeFftSpeed beeinflusst die Laufzeit der folgenden
Operatoren, die die FFT verwenden: fft_genericfft_genericFftGenericfft_genericFftGenericFftGeneric,
fft_imagefft_imageFftImagefft_imageFftImageFftImage, fft_image_invfft_image_invFftImageInvfft_image_invFftImageInvFftImageInv, photometric_stereophotometric_stereoPhotometricStereophotometric_stereoPhotometricStereoPhotometricStereo,
sfs_pentlandsfs_pentlandSfsPentlandsfs_pentlandSfsPentlandSfsPentland, sfs_mod_lrsfs_mod_lrSfsModLrsfs_mod_lrSfsModLrSfsModLr, sfs_orig_lrsfs_orig_lrSfsOrigLrsfs_orig_lrSfsOrigLrSfsOrigLr.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
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
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
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"
Sind die Parameter korrekt, dann liefert optimize_fft_speedoptimize_fft_speedOptimizeFftSpeedoptimize_fft_speedOptimizeFftSpeedOptimizeFftSpeed
den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung
durchgeführt.
fft_genericfft_genericFftGenericfft_genericFftGenericFftGeneric,
fft_imagefft_imageFftImagefft_imageFftImageFftImage,
fft_image_invfft_image_invFftImageInvfft_image_invFftImageInvFftImageInv,
wiener_filterwiener_filterWienerFilterwiener_filterWienerFilterWienerFilter,
wiener_filter_niwiener_filter_niWienerFilterNiwiener_filter_niWienerFilterNiWienerFilterNi,
photometric_stereophotometric_stereoPhotometricStereophotometric_stereoPhotometricStereoPhotometricStereo,
sfs_pentlandsfs_pentlandSfsPentlandsfs_pentlandSfsPentlandSfsPentland,
sfs_mod_lrsfs_mod_lrSfsModLrsfs_mod_lrSfsModLrSfsModLr,
sfs_orig_lrsfs_orig_lrSfsOrigLrsfs_orig_lrSfsOrigLrSfsOrigLr,
write_fft_optimization_datawrite_fft_optimization_dataWriteFftOptimizationDatawrite_fft_optimization_dataWriteFftOptimizationDataWriteFftOptimizationData
read_fft_optimization_dataread_fft_optimization_dataReadFftOptimizationDataread_fft_optimization_dataReadFftOptimizationDataReadFftOptimizationData
optimize_rft_speedoptimize_rft_speedOptimizeRftSpeedoptimize_rft_speedOptimizeRftSpeedOptimizeRftSpeed
Foundation