Name
rft_genericrft_genericRftGenericrft_genericRftGenericRftGeneric — Schnelle reelle Fouriertransformation.
Herror rft_generic(const Hobject Image, Hobject* ImageFFT, const char* Direction, const char* Norm, const char* ResultType, const Hlong Width)
Herror T_rft_generic(const Hobject Image, Hobject* ImageFFT, const Htuple Direction, const Htuple Norm, const Htuple ResultType, const Htuple Width)
Herror rft_generic(Hobject Image, Hobject* ImageFFT, const HTuple& Direction, const HTuple& Norm, const HTuple& ResultType, const HTuple& Width)
HImage HImage::RftGeneric(const HTuple& Direction, const HTuple& Norm, const HTuple& ResultType, const HTuple& Width) const
HImageArray HImageArray::RftGeneric(const HTuple& Direction, const HTuple& Norm, const HTuple& ResultType, const HTuple& Width) const
void RftGeneric(const HObject& Image, HObject* ImageFFT, const HTuple& Direction, const HTuple& Norm, const HTuple& ResultType, const HTuple& Width)
HImage HImage::RftGeneric(const HString& Direction, const HString& Norm, const HString& ResultType, Hlong Width) const
HImage HImage::RftGeneric(const char* Direction, const char* Norm, const char* ResultType, Hlong Width) const
rft_genericrft_genericRftGenericrft_genericRftGenericRftGeneric berechnet die schnelle Fouriertransformation des
Eingabebildes ImageImageImageImageImageimage. Dabei wird im Gegensatz zu
fft_genericfft_genericFftGenericfft_genericFftGenericFftGeneric, fft_imagefft_imageFftImagefft_imageFftImageFftImage und fft_image_invfft_image_invFftImageInvfft_image_invFftImageInvFftImageInv
ausgenutzt, dass das Eingabebild der Hintransformation ein
reellwertiges Bild (d.h. kein komplexes Bild) ist. In diesem Fall
besitzt das komplexe Ausgabebild eine Redundanz. Die Werte in der
rechten Hälfte des komplexen Bildes sind die komplexen Konjugierten
der Werte an der entsprechenden Position in der linken Hälfte des
Bildes. Entsprechend kann Laufzeit und Speicher eingespart werden,
indem nur die linke Hälfte des komplexen Bildes berechnet und
ausgegeben wird.
Der Parameter ResultTypeResultTypeResultTypeResultTypeResultTyperesultType erlaubt es, bei der
Rücktransformation (DirectionDirectionDirectionDirectionDirectiondirection = 'from_freq'"from_freq""from_freq""from_freq""from_freq""from_freq")
den Ergebnisbildtyp festzulegen. Bei der Hintransformation
(DirectionDirectionDirectionDirectionDirectiondirection = 'to_freq'"to_freq""to_freq""to_freq""to_freq""to_freq") muss ResultTypeResultTypeResultTypeResultTypeResultTyperesultType
auf 'complex'"complex""complex""complex""complex""complex" gesetzt werden.
Der Parameter DirectionDirectionDirectionDirectionDirectiondirection legt fest, ob in den Frequenzraum
oder aus dem Frequenzraum zurück transformiert werden soll. Für
DirectionDirectionDirectionDirectionDirectiondirection = 'to_freq'"to_freq""to_freq""to_freq""to_freq""to_freq" muss das Eingabebild ein
reellwertiger Typ sein, d.h. es darf kein komplexes Bild als
Eingabe verwendet werden. Es werden alle Bildtypen unterstützt,
die sich in ein reelles Bild transformieren lassen. In diesem Fall
ist die Ausgabe ein komplexes Bild der Dimension
(w/2+1)*h, wobei w und h die Breite und
Höhe des Eingabebildes sind. In diesem Modus wird als Exponent der
Transformation -1 verwendet (siehe fft_genericfft_genericFftGenericfft_genericFftGenericFftGeneric). Für
DirectionDirectionDirectionDirectionDirectiondirection = 'from_freq'"from_freq""from_freq""from_freq""from_freq""from_freq" muss das Eingabebild ein
komplexes Bild sein. In diesem Fall kann nicht aus der Größe des
Eingabebildes entschieden werden, welche Größe das Ausgabebild
besitzen soll. Hierzu muss WidthWidthWidthWidthWidthwidth korrekt gesetzt werden,
d.h. auf 2*w-2 oder auf 2*w-1, wobei w
die Breite des komplexen Eingabebildes ist. In diesem Modus wird
als Exponent der Transformation 1 verwendet.
Mit NormNormNormNormNormnorm kann die gewünschte Normierung angegeben werden.
Zulässige Werte sind 'none'"none""none""none""none""none", 'sqrt'"sqrt""sqrt""sqrt""sqrt""sqrt" und
'n'"n""n""n""n""n". In jedem Fall ist auf die konsistente Verwendung der
Parameter zu achten. D.h., die Normierungsfaktoren bei der Hin- und
Rücktransformation müssen aufmultipliziert w*h ergeben.
Die Berechnung erfolgt immer für das gesamte Bild, d.h., der
Definitionsbereich des Eingabebildes wird ignoriert.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Automatisch parallelisiert auf Tupelebene.
- Automatisch parallelisiert auf Kanalebene.
- Automatisch parallelisiert auf interner Datenebene.
Fouriertransformiertes Bild.
Hin- oder Rücktransformation.
Defaultwert:
'to_freq'
"to_freq"
"to_freq"
"to_freq"
"to_freq"
"to_freq"
Werteliste: 'from_freq'"from_freq""from_freq""from_freq""from_freq""from_freq", 'to_freq'"to_freq""to_freq""to_freq""to_freq""to_freq"
Normierung des Ergebnisbildes.
Defaultwert:
'sqrt'
"sqrt"
"sqrt"
"sqrt"
"sqrt"
"sqrt"
Werteliste: 'n'"n""n""n""n""n", 'none'"none""none""none""none""none", 'sqrt'"sqrt""sqrt""sqrt""sqrt""sqrt"
Bildtyp des Ausgabebildes.
Defaultwert:
'complex'
"complex"
"complex"
"complex"
"complex"
"complex"
Werteliste: 'byte'"byte""byte""byte""byte""byte", 'complex'"complex""complex""complex""complex""complex", 'cyclic'"cyclic""cyclic""cyclic""cyclic""cyclic", 'direction'"direction""direction""direction""direction""direction", 'int1'"int1""int1""int1""int1""int1", 'int2'"int2""int2""int2""int2""int2", 'int4'"int4""int4""int4""int4""int4", 'real'"real""real""real""real""real", 'uint2'"uint2""uint2""uint2""uint2""uint2"
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
Sind alle Parameterwerte korrekt, dann liefert rft_genericrft_genericRftGenericrft_genericRftGenericRftGeneric
den Wert 2 (H_MSG_TRUE). Das Verhalten bei leerer Eingabe (keine
Eingabebilder vorhanden) lässt sich mittels
set_system(::'no_object_result',<Result>:)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>) festlegen.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
optimize_rft_speedoptimize_rft_speedOptimizeRftSpeedoptimize_rft_speedOptimizeRftSpeedOptimizeRftSpeed,
read_fft_optimization_dataread_fft_optimization_dataReadFftOptimizationDataread_fft_optimization_dataReadFftOptimizationDataReadFftOptimizationData
convol_fftconvol_fftConvolFftconvol_fftConvolFftConvolFft,
correlation_fftcorrelation_fftCorrelationFftcorrelation_fftCorrelationFftCorrelationFft,
phase_correlation_fftphase_correlation_fftPhaseCorrelationFftphase_correlation_fftPhaseCorrelationFftPhaseCorrelationFft,
convert_image_typeconvert_image_typeConvertImageTypeconvert_image_typeConvertImageTypeConvertImageType,
power_bytepower_bytePowerBytepower_bytePowerBytePowerByte,
power_realpower_realPowerRealpower_realPowerRealPowerReal,
power_lnpower_lnPowerLnpower_lnPowerLnPowerLn,
phase_degphase_degPhaseDegphase_degPhaseDegPhaseDeg,
phase_radphase_radPhaseRadphase_radPhaseRadPhaseRad
fft_genericfft_genericFftGenericfft_genericFftGenericFftGeneric,
fft_imagefft_imageFftImagefft_imageFftImageFftImage,
fft_image_invfft_image_invFftImageInvfft_image_invFftImageInvFftImageInv
Foundation