Name
optimize_fft_speedoptimize_fft_speedOptimizeFftSpeedoptimize_fft_speedOptimizeFftSpeedOptimizeFftSpeed — Optimize the runtime of the 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 determines a method that achieves an
optimum runtime of the FFT for an image of size WidthWidthWidthWidthWidthwidth
x HeightHeightHeightHeightHeightheight. The data that are determined for
one image size do not influence the methods used for other image
sizes. Consequently, optimize_fft_speedoptimize_fft_speedOptimizeFftSpeedoptimize_fft_speedOptimizeFftSpeedOptimizeFftSpeed can be called
multiple times with different values for WidthWidthWidthWidthWidthwidth and
HeightHeightHeightHeightHeightheight to achieve an optimum runtime for all image sizes
that are used in an application. The parameter ModeModeModeModeModemode
determines the thoroughness of the search for the fastest method.
For ModeModeModeModeModemode = 'standard'"standard""standard""standard""standard""standard" a fast search is used,
which typically takes a few seconds. The method thus determined
results in very good runtimes, which are not always optimal. For
ModeModeModeModeModemode = 'patient'"patient""patient""patient""patient""patient" a more thorough search is
performed, which typically takes several seconds and in most cases
leads to optimum runtimes. For ModeModeModeModeModemode =
'exhaustive'"exhaustive""exhaustive""exhaustive""exhaustive""exhaustive" an exhaustive search is performed, which
typically takes several minutes and always results in the optimum
runtime. In most applications, ModeModeModeModeModemode =
'standard'"standard""standard""standard""standard""standard" results in the best compromise between the
runtime of the FFT and the time required for the search of the
optimum runtime. The data determined with
optimize_fft_speedoptimize_fft_speedOptimizeFftSpeedoptimize_fft_speedOptimizeFftSpeedOptimizeFftSpeed can be saved with
write_fft_optimization_datawrite_fft_optimization_dataWriteFftOptimizationDatawrite_fft_optimization_dataWriteFftOptimizationDataWriteFftOptimizationData and can be loaded with
read_fft_optimization_dataread_fft_optimization_dataReadFftOptimizationDataread_fft_optimization_dataReadFftOptimizationDataReadFftOptimizationData.
Please note that this optimization is performed for the particular
computer on which the operator is called. The results are not suited to
be transferred and used on other computers unless they have the same
hardware and software configuration including the driver versions.
optimize_fft_speedoptimize_fft_speedOptimizeFftSpeedoptimize_fft_speedOptimizeFftSpeedOptimizeFftSpeed influences the runtime of the following
operators, which use the FFT: 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 type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
Width of the image for which the runtime should be
optimized.
Default value: 512
Suggested values: 128, 160, 192, 256, 320, 384, 512, 640, 768, 1024, 2048
Height of the image for which the runtime should be
optimized.
Default value: 512
Suggested values: 120, 128, 144, 240, 256, 288, 480, 512, 576, 1024, 2048
Thoroughness of the search for the optimum
runtime.
Default value:
'standard'
"standard"
"standard"
"standard"
"standard"
"standard"
List of values: 'exhaustive'"exhaustive""exhaustive""exhaustive""exhaustive""exhaustive", 'patient'"patient""patient""patient""patient""patient", 'standard'"standard""standard""standard""standard""standard"
optimize_fft_speedoptimize_fft_speedOptimizeFftSpeedoptimize_fft_speedOptimizeFftSpeedOptimizeFftSpeed returns 2 (H_MSG_TRUE) if all parameters are
correct. If necessary, an exception is raised.
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