KlassenKlassenKlassenKlassen | | | | Operatoren

optimize_fft_speedoptimize_fft_speedOptimizeFftSpeedoptimize_fft_speedOptimizeFftSpeedOptimizeFftSpeed (Operator)

Name

optimize_fft_speedoptimize_fft_speedOptimizeFftSpeedoptimize_fft_speedOptimizeFftSpeedOptimizeFftSpeed — Optimierung der Laufzeit der FFT.

Signatur

optimize_fft_speed( : : Width, Height, Mode : )

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)

void OptimizeFftSpeed(const HTuple& Width, const HTuple& Height, const HTuple& Mode)

static void HMisc::OptimizeFftSpeed(Hlong Width, Hlong Height, const HString& Mode)

static void HMisc::OptimizeFftSpeed(Hlong Width, Hlong Height, const char* Mode)

void HOperatorSetX.OptimizeFftSpeed(
[in] VARIANT Width, [in] VARIANT Height, [in] VARIANT Mode)

void HMiscX.OptimizeFftSpeed(
[in] Hlong Width, [in] Hlong Height, [in] BSTR Mode)

static void HOperatorSet.OptimizeFftSpeed(HTuple width, HTuple height, HTuple mode)

static void HMisc.OptimizeFftSpeed(int width, int height, string mode)

Beschreibung

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, wiener_filterwiener_filterWienerFilterwiener_filterWienerFilterWienerFilter, wiener_filter_niwiener_filter_niWienerFilterNiwiener_filter_niWienerFilterNiWienerFilterNi, phot_stereophot_stereoPhotStereophot_stereoPhotStereoPhotStereo, photometric_stereophotometric_stereoPhotometricStereophotometric_stereoPhotometricStereoPhotometricStereo, sfs_pentlandsfs_pentlandSfsPentlandsfs_pentlandSfsPentlandSfsPentland, sfs_mod_lrsfs_mod_lrSfsModLrsfs_mod_lrSfsModLrSfsModLr, sfs_orig_lrsfs_orig_lrSfsOrigLrsfs_orig_lrSfsOrigLrSfsOrigLr.

Parallelisierung

Parameter

WidthWidthWidthWidthWidthwidth (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (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 HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (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 HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (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_speedOptimizeFftSpeedoptimize_fft_speedOptimizeFftSpeedOptimizeFftSpeed den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Nachfolger

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, phot_stereophot_stereoPhotStereophot_stereoPhotStereoPhotStereo, 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

Alternativen

read_fft_optimization_dataread_fft_optimization_dataReadFftOptimizationDataread_fft_optimization_dataReadFftOptimizationDataReadFftOptimizationData

Siehe auch

optimize_rft_speedoptimize_rft_speedOptimizeRftSpeedoptimize_rft_speedOptimizeRftSpeedOptimizeRftSpeed

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren