Xmipp
v3.23.11-Nereus
|
Functions | |
int | AmplitudePhaseToRealImaginary (double Am2Re[], double Ph2Im[], long SignalLength) |
int | DftAmplitudePhaseToAmplitudePhase (double Am2Am[], double Ph2Ph[], double *TmpRe, double *TmpIm, double CaS[], long SignalLength) |
int | DftAmplitudePhaseToRealImaginary (double Am2Re[], double Ph2Im[], double *TmpRe, double *TmpIm, double CaS[], long SignalLength) |
int | DftRealImaginaryToAmplitudePhase (double Re2Am[], double Im2Ph[], double *TmpRe, double *TmpIm, double CaS[], long SignalLength) |
int | DftRealImaginaryToRealImaginary (double Re2Re[], double Im2Im[], double *TmpRe, double *TmpIm, double CaS[], long SignalLength) |
int | DftRealToAmplitudePhase (double R2Am[], double PhOut[], double *Tmp, double CaS[], long SignalLength) |
int | DftRealToRealImaginary (double R2Re[], double ImOut[], double *Tmp, double CaS[], long SignalLength) |
int | GetCaS (double CaS[], long SignalLength) |
int | InvDftAmplitudePhaseToAmplitudePhase (double Am2Am[], double Ph2Ph[], double *TmpRe, double *TmpIm, double CaS[], long SignalLength) |
int | InvDftAmplitudePhaseToReal (double Am2R[], double PhIn[], double *Tmp, double CaS[], long SignalLength) |
int | InvDftAmplitudePhaseToRealImaginary (double Am2Re[], double Ph2Im[], double *TmpRe, double *TmpIm, double CaS[], long SignalLength) |
int | InvDftRealImaginaryToAmplitudePhase (double Re2Am[], double Im2Ph[], double *TmpRe, double *TmpIm, double CaS[], long SignalLength) |
int | InvDftRealImaginaryToReal (double Re2R[], double ImIn[], double *Tmp, double CaS[], long SignalLength) |
int | InvDftRealImaginaryToRealImaginary (double Re2Re[], double Im2Im[], double *TmpRe, double *TmpIm, double CaS[], long SignalLength) |
int | RealImaginaryToAmplitudePhase (double Re2Am[], double Im2Ph[], long SignalLength) |
int | VolumeAmplitudePhaseToRealImaginary (double Am2Re[], double Ph2Im[], long Nx, long Ny, long Nz) |
int | VolumeDftAmplitudePhaseToAmplitudePhase (double *Am2Am, double *Ph2Ph, long Nx, long Ny, long Nz, int *Status) |
int | VolumeDftAmplitudePhaseToRealImaginary (double *Am2Re, double *Ph2Im, long Nx, long Ny, long Nz, int *Status) |
int | VolumeDftRealImaginaryToAmplitudePhase (double *Re2Am, double *Im2Ph, long Nx, long Ny, long Nz, int *Status) |
int | VolumeDftRealImaginaryToRealImaginary (double *Re2Re, double *Im2Im, long Nx, long Ny, long Nz, int *Status) |
int | VolumeDftRealToAmplitudePhase (double *Re2Am, double *PhOut, long Nx, long Ny, long Nz, int *Status) |
int | VolumeDftRealToRealImaginary (double *Re2Re, double *ImOut, long Nx, long Ny, long Nz, int *Status) |
int | VolumeInvDftAmplitudePhaseToAmplitudePhase (double *Am2Am, double *Ph2Ph, long Nx, long Ny, long Nz, int *Status) |
int | VolumeInvDftAmplitudePhaseToReal (double *Am2Re, double *PhIn, long Nx, long Ny, long Nz, int *Status) |
int | VolumeInvDftAmplitudePhaseToRealImaginary (double *Am2Re, double *Ph2Im, long Nx, long Ny, long Nz, int *Status) |
int | VolumeInvDftRealImaginaryToAmplitudePhase (double *Re2Am, double *Im2Ph, long Nx, long Ny, long Nz, int *Status) |
int | VolumeInvDftRealImaginaryToReal (double *Re2Re, double *ImIn, long Nx, long Ny, long Nz, int *Status) |
int | VolumeInvDftRealImaginaryToRealImaginary (double *Re2Re, double *Im2Im, long Nx, long Ny, long Nz, int *Status) |
int | VolumeRealImaginaryToAmplitudePhase (double Re2Am[], double Im2Ph[], long Nx, long Ny, long Nz) |
int AmplitudePhaseToRealImaginary | ( | double | Am2Re[], |
double | Ph2Im[], | ||
long | SignalLength | ||
) |
Amplitude/Phase –> Real Imaginary. Converts an (amplitude, phase) representation of a complex signal into a (real, imaginary) representation the input phase is in [rad]. in-place processing. The input signal (amplitude Am2Re and phase Ph2Im) is replaced by the output signal (real Am2Re and imaginary Ph2Im) SignalLength is the signal length.
success: return(!ERROR); failure: return(ERROR);
int DftAmplitudePhaseToAmplitudePhase | ( | double | Am2Am[], |
double | Ph2Ph[], | ||
double * | TmpRe, | ||
double * | TmpIm, | ||
double | CaS[], | ||
long | SignalLength | ||
) |
DFT of a complex signal.
Computes the direct DFT of a complex signal given in (amplitude, phase) representation and returns an (amplitude, phase) representation. The input phase is in [rad]. The output phase is in [rad]; its domain is (-PI, PI). The origin is at index [0].
The highest coordinate (SignalLength-2)/2 is at index [(SignalLength-2)/2] for SignalLength even. The highest coordinate (SignalLength-1)/2 is at index [(SignalLength-1)/2] for SignalLength odd.
The lowest coordinate -SignalLength/2 is at index [SignalLength/2] for SignalLength even. The lowest coordinate -(SignalLength-1)/2 is at index [(SignalLength+1)/2] for SignalLength odd.
The coordinate -1 is at index [SignalLength-1] for SignalLength even or odd.
In-place processing. The input signal (amplitude Am2Am and phase Ph2Ph) is replaced by the output signal (amplitude Am2Am and phase Ph2Ph).
(TmpRe, TmpIm) are pre-allocated workspaces of size SignalLength each the values returned in (TmpRe, TmpIm) are meaningless.
CaS is an input array of coefficients of size SignalLength (see GetCaS function). CaS is modified internally, but is restored when DftAmplitudePhaseToAmplitudePhase returns.
SignalLength is the length of the signal. no restriction on SignalLength, but best efficiency for radix 2, 3, 4, 5.
success: return(!ERROR); failure: return(ERROR);
int DftAmplitudePhaseToRealImaginary | ( | double | Am2Re[], |
double | Ph2Im[], | ||
double * | TmpRe, | ||
double * | TmpIm, | ||
double | CaS[], | ||
long | SignalLength | ||
) |
DFT of a complex signal.
Computes the direct DFT of a complex signal given in (amplitude, phase) representation and returns a (real, imaginary) representation. The input phase is in [rad]. The origin is at index [0].
The highest coordinate (SignalLength-2)/2 is at index [(SignalLength-2)/2] for SignalLength even. The highest coordinate (SignalLength-1)/2 is at index [(SignalLength-1)/2] for SignalLength odd.
The lowest coordinate -SignalLength/2 is at index [SignalLength/2] for SignalLength even. The lowest coordinate -(SignalLength-1)/2 is at index [(SignalLength+1)/2] for SignalLength odd.
The coordinate -1 is at index [SignalLength-1] for SignalLength even or odd.
In-place processing. The input signal (amplitude Am2Re and phase Ph2Im) is replaced by the output signal (real Am2Re and imaginary Ph2Im).
(TmpRe, TmpIm) are pre-allocated workspaces of size SignalLength each. The values returned in (TmpRe, TmpIm) are meaningless.
CaS is an input array of coefficients of size SignalLength (see GetCaS function). CaS is modified internally, but is restored when DftAmplitudePhaseToRealImaginary returns.
SignalLength is the length of the signal. No restriction on SignalLength, but best efficiency for radix 2, 3, 4, 5.
success: return(!ERROR); failure: return(ERROR);
int DftRealImaginaryToAmplitudePhase | ( | double | Re2Am[], |
double | Im2Ph[], | ||
double * | TmpRe, | ||
double * | TmpIm, | ||
double | CaS[], | ||
long | SignalLength | ||
) |
DFT of a complex signal.
Computes the direct DFT of a complex signal given in (real, imaginary) representation and returns an (amplitude, phase) representation. The output phase is in [rad]; its domain is (-PI, PI). The origin is at index [0].
The highest coordinate (SignalLength-2)/2 is at index [(SignalLength-2)/2] for SignalLength even. The highest coordinate (SignalLength-1)/2 is at index [(SignalLength-1)/2] for SignalLength odd.
The lowest coordinate -SignalLength/2 is at index [SignalLength/2] for SignalLength even. The lowest coordinate -(SignalLength-1)/2 is at index [(SignalLength+1)/2] for SignalLength odd.
The coordinate -1 is at index [SignalLength-1] for SignalLength even or odd.
In-place processing. The input signal (real Re2Am and imaginary Im2Ph) is replaced by the output signal (amplitude Re2Am and phase Im2Ph).
(TmpRe, TmpIm) are pre-allocated workspaces of size SignalLength each. The values returned in (TmpRe, TmpIm) are meaningless.
CaS is an input array of coefficients of size SignalLength (see GetCaS function). CaS is modified internally, but is restored when DftRealImaginaryToAmplitudePhase returns.
SignalLength is the length of the signal. No restriction on SignalLength, but best efficiency for radix 2, 3, 4, 5.
success: return(!ERROR); failure: return(ERROR);
int DftRealImaginaryToRealImaginary | ( | double | Re2Re[], |
double | Im2Im[], | ||
double * | TmpRe, | ||
double * | TmpIm, | ||
double | CaS[], | ||
long | SignalLength | ||
) |
DFT of a complex signal.
Computes the direct DFT of a complex signal given in (real, imaginary) representation and returns a (real, imaginary) representation. The origin is at index [0].
The highest coordinate (SignalLength-2)/2 is at index [(SignalLength-2)/2] for SignalLength even. The highest coordinate (SignalLength-1)/2 is at index [(SignalLength-1)/2] for SignalLength odd.
The lowest coordinate -SignalLength/2 is at index [SignalLength/2] for SignalLength even. The lowest coordinate -(SignalLength-1)/2 is at index [(SignalLength+1)/2] for SignalLength odd.
The coordinate -1 is at index [SignalLength-1] for SignalLength even or odd.
In-place processing. The input signal (real Re2Re and imaginary Im2Im) is replaced by the output signal (real Re2Re and imaginary Im2Im).
(TmpRe, TmpIm) are pre-allocated workspaces of size SignalLength each. The values returned in (TmpRe, TmpIm) are meaningless.
CaS is an input array of coefficients of size SignalLength (see GetCaS function). CaS is modified internally, but is restored when DftRealImaginaryToRealImaginary returns
SignalLength is the length of the signal. No restriction on SignalLength, but best efficiency for radix 2, 3, 4, 5
success: return(!ERROR); failure: return(ERROR);
int DftRealToAmplitudePhase | ( | double | R2Am[], |
double | PhOut[], | ||
double * | Tmp, | ||
double | CaS[], | ||
long | SignalLength | ||
) |
DFT of a real signal.
Computes the direct DFT of a real signal and returns an (amplitude, phase) representation. The output phase is in [rad]; its domain is (-PI, PI). The origin is at index [0].
The highest coordinate (SignalLength-2)/2 is at index [(SignalLength-2)/2] for SignalLength even. The highest coordinate (SignalLength-1)/2 is at index [(SignalLength-1)/2] for SignalLength odd.
The lowest coordinate -SignalLength/2 is at index [SignalLength/2] for SignalLength even. The lowest coordinate -(SignalLength-1)/2 is at index [(SignalLength+1)/2] for SignalLength odd.
The coordinate -1 is at index [SignalLength-1] for SignalLength even or odd.
In-place processing. Te input signal (real R2Am) is replaced by the output signal (amplitude R2Am and phase PhOut).
Tmp is a pre-allocated workspace of size SignalLength. The values returned in Tmp are meaningless.
CaS is an input array of coefficients of size SignalLength (see GetCaS function). CaS is modified internally, but is restored when DftRealToAmplitudePhase returns.
SignalLength is the length of the signal. No restriction on SignalLength, but best efficiency for radix 2, 3, 4, 5
success: return(!ERROR); failure: return(ERROR);
int DftRealToRealImaginary | ( | double | R2Re[], |
double | ImOut[], | ||
double * | Tmp, | ||
double | CaS[], | ||
long | SignalLength | ||
) |
DFT of a real signal.
Computes the direct DFT of a real signal and returns a (real, imaginary) representation. The origin is at index [0].
The highest coordinate (SignalLength-2)/2 is at index [(SignalLength-2)/2] for SignalLength even. The highest coordinate (SignalLength-1)/2 is at index [(SignalLength-1)/2] for SignalLength odd.
The lowest coordinate -SignalLength/2 is at index [SignalLength/2] for SignalLength even. The lowest coordinate -(SignalLength-1)/2 is at index [(SignalLength+1)/2] for SignalLength odd.
The coordinate -1 is at index [SignalLength-1] for SignalLength even or odd.
In-place processing. The input signal (real R2Re) is replaced by the output signal (real R2Re and imaginary ImOut).
Tmp is a pre-allocated workspace of size SignalLength. The values returned in Tmp are meaningless.
CaS is an input array of coefficients of size SignalLength (see GetCaS function). CaS is modified internally, but is restored when DftRealToRealImaginary returns.
SignalLength is the length of the signal. No restriction on SignalLength, but best efficiency for radix 2, 3, 4, 5
success: return(!ERROR); failure: return(ERROR);
int GetCaS | ( | double | CaS[], |
long | SignalLength | ||
) |
Compute the CaS array necessary for Fourier transforms.
Computes an array of coefficients of size SignalLength. These coefficients are necessary for performing a Hartley transform. The Hartley transform is an alternate representation of Fourier for real signals. Hartley computations are more accurate (less roundoff errors) than Fourier. The same coefficients are used for direct and inverse transforms.
success: return(!ERROR); failure: return(ERROR);
int InvDftAmplitudePhaseToAmplitudePhase | ( | double | Am2Am[], |
double | Ph2Ph[], | ||
double * | TmpRe, | ||
double * | TmpIm, | ||
double | CaS[], | ||
long | SignalLength | ||
) |
Inverse Fourier Transform of a complex signal.
Computes the inverse DFT of a complex signal given in (amplitude, phase) representation and returns an (amplitude, phase) representation. The input phase is in [rad]. The output phase is in [rad]; its domain is (-PI, PI). The origin is at index [0].
The highest coordinate (SignalLength-2)/2 is at index [(SignalLength-2)/2] for SignalLength even. The highest coordinate (SignalLength-1)/2 is at index [(SignalLength-1)/2] for SignalLength odd.
The lowest coordinate -SignalLength/2 is at index [SignalLength/2] for SignalLength even. The lowest coordinate -(SignalLength-1)/2 is at index [(SignalLength+1)/2] for SignalLength odd.
The coordinate -1 is at index [SignalLength-1] for SignalLength even or odd.
In-place processing. The input signal (amplitude Am2Am and phase Ph2Ph) is replaced by the output signal (amplitude Am2Am and phase Ph2Ph).
(TmpRe, TmpIm) are pre-allocated workspaces of size SignalLength each. The values returned in (TmpRe, TmpIm) are meaningless.
CaS is an input array of coefficients of size SignalLength (see GetCaS function). CaS is modified internally, but is restored when DftAmplitudePhaseToAmplitudePhase returns.
SignalLength is the length of the signal. No restriction on SignalLength, but best efficiency for radix 2, 3, 4, 5
success: return(!ERROR); failure: return(ERROR);
int InvDftAmplitudePhaseToReal | ( | double | Am2R[], |
double | PhIn[], | ||
double * | Tmp, | ||
double | CaS[], | ||
long | SignalLength | ||
) |
Inverse Fourier Transform of a real signal.
Computes the inverse DFT of a complex signal given in (amplitude, phase) representation and returns a real signal. The complex Fourier signal is symmetrized before the inverse transformation is applied. The input phase is in [rad]. The origin is at index [0].
The highest coordinate (SignalLength-2)/2 is at index [(SignalLength-2)/2] for SignalLength even. The highest coordinate (SignalLength-1)/2 is at index [(SignalLength-1)/2] for SignalLength odd.
The lowest coordinate -SignalLength/2 is at index [SignalLength/2] for SignalLength even. The lowest coordinate -(SignalLength-1)/2 is at index [(SignalLength+1)/2] for SignalLength odd.
The coordinate -1 is at index [SignalLength-1] for SignalLength even or odd.
In-place processing. The input signal (amplitude Am2R and phase PhIn) is replaced by the output signal (real Am2R).
Tmp is a pre-allocated workspace of size SignalLength. The values returned in Tmp are meaningless.
CaS is an input array of coefficients of size SignalLength (see GetCaS function). CaS is modified internally, but is restored when InvDftAmplitudePhaseToReal returns.
SignalLength is the length of the signal. No restriction on SignalLength, but best efficiency for radix 2, 3, 4, 5
success: return(!ERROR); failure: return(ERROR);
int InvDftAmplitudePhaseToRealImaginary | ( | double | Am2Re[], |
double | Ph2Im[], | ||
double * | TmpRe, | ||
double * | TmpIm, | ||
double | CaS[], | ||
long | SignalLength | ||
) |
Inverse Fourier Transform of a complex signal.
Computes the inverse DFT of a complex signal given in (amplitude, phase) representation and returns a (real, imaginary) representation. The input phase is in [rad]. The origin is at index [0].
The highest coordinate (SignalLength-2)/2 is at index [(SignalLength-2)/2] for SignalLength even. The highest coordinate (SignalLength-1)/2 is at index [(SignalLength-1)/2] for SignalLength odd.
The lowest coordinate -SignalLength/2 is at index [SignalLength/2] for SignalLength even. The lowest coordinate -(SignalLength-1)/2 is at index [(SignalLength+1)/2] for SignalLength odd.
The coordinate -1 is at index [SignalLength-1] for SignalLength even or odd.
In-place processing. The input signal (amplitude Am2Re and phase Ph2Im) is replaced by the output signal (real Am2Re and imaginary Ph2Im).
(TmpRe, TmpIm) are pre-allocated workspaces of size SignalLength each. Tthe values returned in (TmpRe, TmpIm) are meaningless.
CaS is an input array of coefficients of size SignalLength (see GetCaS function). CaS is modified internally, but is restored when InvDftAmplitudePhaseToRealImaginary returns.
SignalLength is the length of the signal. No restriction on SignalLength, but best efficiency for radix 2, 3, 4, 5.
success: return(!ERROR); failure: return(ERROR);
int InvDftRealImaginaryToAmplitudePhase | ( | double | Re2Am[], |
double | Im2Ph[], | ||
double * | TmpRe, | ||
double * | TmpIm, | ||
double | CaS[], | ||
long | SignalLength | ||
) |
Inverse Fourier Transform for a complex signal.
Computes the inverse DFT of a complex signal given in (real, imaginary) representation and returns an (amplitude, phase) representation. The output phase is in [rad]; its domain is (-PI, PI). The origin is at index [0].
The highest coordinate (SignalLength-2)/2 is at index [(SignalLength-2)/2] for SignalLength even. The highest coordinate (SignalLength-1)/2 is at index [(SignalLength-1)/2] for SignalLength odd.
The lowest coordinate -SignalLength/2 is at index [SignalLength/2] for SignalLength even. The lowest coordinate -(SignalLength-1)/2 is at index [(SignalLength+1)/2] for SignalLength odd.
The coordinate -1 is at index [SignalLength-1] for SignalLength even or odd.
In-place processing. The input signal (real Re2Am and imaginary Im2Ph) is replaced by the output signal (amplitude Re2Am and phase Im2Ph).
(TmpRe, TmpIm) are pre-allocated workspaces of size SignalLength each. The values returned in (TmpRe, TmpIm) are meaningless.
CaS is an input array of coefficients of size SignalLength (see GetCaS function). CaS is modified internally, but is restored when InvDftRealImaginaryToAmplitudePhase returns.
SignalLength is the length of the signal. No restriction on SignalLength, but best efficiency for radix 2, 3, 4, 5
success: return(!ERROR); failure: return(ERROR);
int InvDftRealImaginaryToReal | ( | double | Re2R[], |
double | ImIn[], | ||
double * | Tmp, | ||
double | CaS[], | ||
long | SignalLength | ||
) |
Inverse Fourier Transform of a real signal.
Computes the inverse DFT of a complex signal given in (real, imaginary) representation and returns a real signal. The complex Fourier signal is symmetrized before the inverse transformation is applied. The origin is at index [0].
The highest coordinate (SignalLength-2)/2 is at index [(SignalLength-2)/2] for SignalLength even. The highest coordinate (SignalLength-1)/2 is at index [(SignalLength-1)/2] for SignalLength odd.
The lowest coordinate -SignalLength/2 is at index [SignalLength/2] for SignalLength even. The lowest coordinate -(SignalLength-1)/2 is at index [(SignalLength+1)/2] for SignalLength odd.
The coordinate -1 is at index [SignalLength-1] for SignalLength even or odd.
In-place processing. The input signal (real Re2R and imaginary ImIn) is replaced by the output signal (real Re2R).
Tmp is a pre-allocated workspace of size SignalLength. The values returned in Tmp are meaningless.
CaS is an input array of coefficients of size SignalLength (see GetCaS function). CaS is modified internally, but is restored when InvDftRealImaginaryToReal returns.
SignalLength is the length of the signal. No restriction on SignalLength, but best efficiency for radix 2, 3, 4, 5
success: return(!ERROR); failure: return(ERROR);
int InvDftRealImaginaryToRealImaginary | ( | double | Re2Re[], |
double | Im2Im[], | ||
double * | TmpRe, | ||
double * | TmpIm, | ||
double | CaS[], | ||
long | SignalLength | ||
) |
Inverse Fourier Transform of a complex signal.
Computes the inverse DFT of a complex signal given in (real, imaginary) representation and returns a (real, imaginary) representation. The origin is at index [0].
The highest coordinate (SignalLength-2)/2 is at index [(SignalLength-2)/2] for SignalLength even. The highest coordinate (SignalLength-1)/2 is at index [(SignalLength-1)/2] for SignalLength odd.
The lowest coordinate -SignalLength/2 is at index [SignalLength/2] for SignalLength even. The lowest coordinate -(SignalLength-1)/2 is at index [(SignalLength+1)/2] for SignalLength odd.
The coordinate -1 is at index [SignalLength-1] for SignalLength even or odd.
In-place processing. The input signal (real Re2Re and imaginary Im2Im) is replaced by the output signal (real Re2Re and imaginary Im2Im).
(TmpRe, TmpIm) are pre-allocated workspaces of size SignalLength each. The values returned in (TmpRe, TmpIm) are meaningless.
CaS is an input array of coefficients of size SignalLength (see GetCaS function). CaS is modified internally, but is restored when InvDftRealImaginaryToRealImaginary returns.
SignalLength is the length of the signal. No restriction on SignalLength, but best efficiency for radix 2, 3, 4, 5
success: return(!ERROR); failure: return(ERROR);
int RealImaginaryToAmplitudePhase | ( | double | Re2Am[], |
double | Im2Ph[], | ||
long | SignalLength | ||
) |
Real/Imaginary –> Amplitude/Phase.
Converts a (real, imaginary) representation of a complex signal into an (amplitude, phase) representation The output phase is in [rad]; its domain is (-PI, PI).
In-place processing. The input signal (real Re2Am and imaginary Im2Ph) is replaced by the output signal (amplitude Re2Am and phase Im2Ph).
SignalLength is the signal length.
success: return(!ERROR); failure: return(ERROR);
int VolumeAmplitudePhaseToRealImaginary | ( | double | Am2Re[], |
double | Ph2Im[], | ||
long | Nx, | ||
long | Ny, | ||
long | Nz | ||
) |
Volume Amplitude/Phase –> Real/Imaginary. Converts an (amplitude, phase) representation of a complex signal into a (real, imaginary) representation.
The input phase is in [rad]. In-place processing . The input signal (amplitude Am2Re and phase Ph2Im) is replaced by the output signal (real Am2Re and imaginary Ph2Im).
Nx is the width of the volume. Ny is the height of the volume. Nz is the depth of the volume.
success: return(!ERROR); failure: return(ERROR);
int VolumeDftAmplitudePhaseToAmplitudePhase | ( | double * | Am2Am, |
double * | Ph2Ph, | ||
long | Nx, | ||
long | Ny, | ||
long | Nz, | ||
int * | Status | ||
) |
Direct DFT of a complex signal. Computes the direct DFT of a complex signal given in (amplitude, phase) representation and returns an (amplitude, phase) representation.
The input phase is in [rad]. The output phase is in [rad]; its domain is (-PI, PI). The origin is at index [0].
The highest coordinate (SignalLength-2)/2 is at index [(SignalLength-2)/2] for SignalLength even. The highest coordinate (SignalLength-1)/2 is at index [(SignalLength-1)/2] for SignalLength odd. The lowest coordinate -SignalLength/2 is at index [SignalLength/2] for SignalLength even. The lowest coordinate -(SignalLength-1)/2 is at index [(SignalLength+1)/2] for SignalLength odd. The coordinate -1 is at index [SignalLength-1] for SignalLength even or odd.
No restriction on SignalLength, but best efficiency for radix 2, 3, 4, 5. In the explanations above, SignalLength has to be replaced by Nx, Ny, Nz.
Nx is the width of the volume. Ny is the height of the volume. Nz is the depth of the volume.
In-place processing. The input signal (amplitude Am2Am and phase Ph2Ph) is replaced by the output signal (amplitude Am2Am and phase Ph2Ph).
success: return(!ERROR); failure: return(ERROR); The returned value is duplicated in Status
int VolumeDftAmplitudePhaseToRealImaginary | ( | double * | Am2Re, |
double * | Ph2Im, | ||
long | Nx, | ||
long | Ny, | ||
long | Nz, | ||
int * | Status | ||
) |
Computes the direct DFT of a complex signal. Computes the direct DFT of a complex signal given in (amplitude, phase) representation and returns a (real, imaginary) representation.
The input phase is in [rad]. The origin is at index [0]. The highest coordinate (SignalLength-2)/2 is at index [(SignalLength-2)/2] for SignalLength even. The highest coordinate (SignalLength-1)/2 is at index [(SignalLength-1)/2] for SignalLength odd. The lowest coordinate -SignalLength/2 is at index [SignalLength/2] for SignalLength even. The lowest coordinate -(SignalLength-1)/2 is at index [(SignalLength+1)/2] for SignalLength odd. The coordinate -1 is at index [SignalLength-1] for SignalLength even or odd.
No restriction on SignalLength, but best efficiency for radix 2, 3, 4, 5. In the explanations above, SignalLength has to be replaced by Nx, Ny, Nz. Nx is the width of the volume. Ny is the height of the volume. Nz is the depth of the volume.
In-place processing, the input signal (amplitude Am2Re and phase Ph2Im) is replaced by the output signal (real Am2Re and imaginary Ph2Im).
success: return(!ERROR); failure: return(ERROR); The returned value is duplicated in Status
int VolumeDftRealImaginaryToAmplitudePhase | ( | double * | Re2Am, |
double * | Im2Ph, | ||
long | Nx, | ||
long | Ny, | ||
long | Nz, | ||
int * | Status | ||
) |
Computes the direct DFT of a complex signal. Computes the direct DFT of a complex signal given in (real, imaginary) representation and returns an (amplitude, phase) representation.
The output phase is in [rad]; its domain is (-PI, PI). The origin is at index [0]. The highest coordinate (SignalLength-2)/2 is at index [(SignalLength-2)/2] for SignalLength even. The highest coordinate (SignalLength-1)/2 is at index [(SignalLength-1)/2] for SignalLength odd. The lowest coordinate -SignalLength/2 is at index [SignalLength/2] for SignalLength even. The lowest coordinate -(SignalLength-1)/2 is at index [(SignalLength+1)/2] for SignalLength odd. The coordinate -1 is at index [SignalLength-1] for SignalLength even or odd.
No restriction on SignalLength, but best efficiency for radix 2, 3, 4, 5. In the explanations above, SignalLength has to be replaced by Nx, Ny, Nz. Nx is the width of the volume. Ny is the height of the volume. Nz is the depth of the volume.
In-place processing. The input signal (real Re2Am and imaginary Im2Ph) is replaced by the output signal (amplitude Re2Am and phase Im2Ph).
Success: return(!ERROR); failure: return(ERROR); The returned value is duplicated in Status
int VolumeDftRealImaginaryToRealImaginary | ( | double * | Re2Re, |
double * | Im2Im, | ||
long | Nx, | ||
long | Ny, | ||
long | Nz, | ||
int * | Status | ||
) |
Computes the direct DFT of a complex signal. Computes the direct DFT of a complex signal given in (real, imaginary) representation and returns a (real, imaginary) representation.
The origin is at index [0]. The highest coordinate (SignalLength-2)/2 is at index [(SignalLength-2)/2] for SignalLength even. The highest coordinate (SignalLength-1)/2 is at index [(SignalLength-1)/2] for SignalLength odd. The lowest coordinate -SignalLength/2 is at index [SignalLength/2] for SignalLength even. The lowest coordinate -(SignalLength-1)/2 is at index [(SignalLength+1)/2] for SignalLength odd. The coordinate -1 is at index [SignalLength-1] for SignalLength even or odd.
No restriction on SignalLength, but best efficiency for radix 2, 3, 4, 5. In the explanations above, SignalLength has to be replaced by Nx, Ny, Nz. Nx is the width of the volume. Ny is the height of the volume. Nz is the depth of the volume.
In-place processing. The input signal (real Re2Re and imaginary Im2Im) is replaced by the output signal (real Re2Re and imaginary Im2Ph).
Success: return(!ERROR); failure: return(ERROR);. The returned value is duplicated in Status
int VolumeDftRealToAmplitudePhase | ( | double * | Re2Am, |
double * | PhOut, | ||
long | Nx, | ||
long | Ny, | ||
long | Nz, | ||
int * | Status | ||
) |
Computes the direct DFT of a real signal. Computes the direct DFT of a real signal and returns an (amplitude, phase) representation. The output phase is in [rad]; its domain is (-PI, PI).
The origin is at index [0]. The highest coordinate (SignalLength-2)/2 is at index [(SignalLength-2)/2] for SignalLength even. The highest coordinate (SignalLength-1)/2 is at index [(SignalLength-1)/2] for SignalLength odd. The lowest coordinate -SignalLength/2 is at index [SignalLength/2] for SignalLength even. The lowest coordinate -(SignalLength-1)/2 is at index [(SignalLength+1)/2] for SignalLength odd. The coordinate -1 is at index [SignalLength-1] for SignalLength even or odd.
No restriction on SignalLength, but best efficiency for radix 2, 3, 4, 5. In the explanations above, SignalLength has to be replaced by Nx, Ny, Nz. Nx is the width of the volume. Ny is the height of the volume. Nz is the depth of the volume.
In-place processing. The input signal Re2Am is replaced by the output signal (amplitude Re2Am and phase PhOut).
success: return(!ERROR); failure: return(ERROR); The returned value is duplicated in Status
int VolumeDftRealToRealImaginary | ( | double * | Re2Re, |
double * | ImOut, | ||
long | Nx, | ||
long | Ny, | ||
long | Nz, | ||
int * | Status | ||
) |
Computes the direct DFT of a real signal. Computes the direct DFT of a real signal and returns a (real, imaginary) representation.
The origin is at index [0]. The highest coordinate (SignalLength-2)/2 is at index [(SignalLength-2)/2] for SignalLength even. The highest coordinate (SignalLength-1)/2 is at index [(SignalLength-1)/2] for SignalLength odd. The lowest coordinate -SignalLength/2 is at index [SignalLength/2] for SignalLength even. The lowest coordinate -(SignalLength-1)/2 is at index [(SignalLength+1)/2] for SignalLength odd. The coordinate -1 is at index [SignalLength-1] for SignalLength even or odd.
No restriction on SignalLength, but best efficiency for radix 2, 3, 4, 5. In the explanations above, SignalLength has to be replaced by Nx, Ny, Nz. Nx is the width of the volume. Ny is the height of the volume. Nz is the depth of the volume.
In-place processing. The input signal Re2Re is replaced by the output signal (real Re2Re and imaginary ImOut).
success: return(!ERROR); failure: return(ERROR); The returned value is duplicated in Status
int VolumeInvDftAmplitudePhaseToAmplitudePhase | ( | double * | Am2Am, |
double * | Ph2Ph, | ||
long | Nx, | ||
long | Ny, | ||
long | Nz, | ||
int * | Status | ||
) |
Computes the inverse DFT of a complex signal. Computes the inverse DFT of a complex signal given in (amplitude, phase) representation and returns an (amplitude, phase) representation. The input phase is in [rad]. The output phase is in [rad]; its domain is (-PI, PI).
The origin is at index [0]. The highest coordinate (SignalLength-2)/2 is at index [(SignalLength-2)/2] for SignalLength even. The highest coordinate (SignalLength-1)/2 is at index [(SignalLength-1)/2] for SignalLength odd. The lowest coordinate -SignalLength/2 is at index [SignalLength/2] for SignalLength even. The lowest coordinate -(SignalLength-1)/2 is at index [(SignalLength+1)/2] for SignalLength odd. The coordinate -1 is at index [SignalLength-1] for SignalLength even or odd.
No restriction on SignalLength, but best efficiency for radix 2, 3, 4, 5. In the explanations above, SignalLength has to be replaced by Nx, Ny, Nz. Nx is the width of the volume. Ny is the height of the volume. Nz is the depth of the volume.
In-place processing. The input signal (amplitude Am2Am and phase Ph2Ph) is replaced by the output signal (amplitude Am2Am and phase Ph2Ph).
success: return(!ERROR); failure: return(ERROR); The returned value is duplicated in Status
int VolumeInvDftAmplitudePhaseToReal | ( | double * | Am2Re, |
double * | PhIn, | ||
long | Nx, | ||
long | Ny, | ||
long | Nz, | ||
int * | Status | ||
) |
Computes the inverse DFT of a complex signal. Computes the inverse DFT of a complex signal given in (amplitude, phase) representation and returns a real signal. The complex Fourier signal is symmetrized before the inverse transformation is applied. The input phase is in [rad]. The origin is at index [0].
The highest coordinate (SignalLength-2)/2 is at index [(SignalLength-2)/2] for SignalLength even. The highest coordinate (SignalLength-1)/2 is at index [(SignalLength-1)/2] for SignalLength odd. The lowest coordinate -SignalLength/2 is at index [SignalLength/2] for SignalLength even. The lowest coordinate -(SignalLength-1)/2 is at index [(SignalLength+1)/2] for SignalLength odd. The coordinate -1 is at index [SignalLength-1] for SignalLength even or odd.
No restriction on SignalLength, but best efficiency for radix 2, 3, 4, 5. In the explanations above, SignalLength has to be replaced by Nx, Ny, Nz. Nx is the width of the volume. Ny is the height of the volume. Nz is the depth of the volume.
In-place processing. The input signal (amplitude Am2Re and phase PhIn) is replaced by the output signal (real Am2Re). PhIn is destroyed.
success: return(!ERROR); failure: return(ERROR); The returned value is duplicated in Status
int VolumeInvDftAmplitudePhaseToRealImaginary | ( | double * | Am2Re, |
double * | Ph2Im, | ||
long | Nx, | ||
long | Ny, | ||
long | Nz, | ||
int * | Status | ||
) |
Computes the inverse DFT of a complex signal. Computes the inverse DFT of a complex signal given in (amplitude, phase) representation and returns a (real, imaginary) representation.
The input phase is in [rad]. The origin is at index [0].
The highest coordinate (SignalLength-2)/2 is at index [(SignalLength-2)/2] for SignalLength even. The highest coordinate (SignalLength-1)/2 is at index [(SignalLength-1)/2] for SignalLength odd. The lowest coordinate -SignalLength/2 is at index [SignalLength/2] for SignalLength even. The lowest coordinate -(SignalLength-1)/2 is at index [(SignalLength+1)/2] for SignalLength odd. The coordinate -1 is at index [SignalLength-1] for SignalLength even or odd.
No restriction on SignalLength, but best efficiency for radix 2, 3, 4, 5. In the explanations above, SignalLength has to be replaced by Nx, Ny, Nz. Nx is the width of the volume. Ny is the height of the volume. Nz is the depth of the volume.
In-place processing. The input signal (amplitude Am2Re and phase Ph2Im) is replaced by the output signal (real Am2Re and imaginary Ph2Im).
success: return(!ERROR); failure: return(ERROR); The returned value is duplicated in Status
int VolumeInvDftRealImaginaryToAmplitudePhase | ( | double * | Re2Am, |
double * | Im2Ph, | ||
long | Nx, | ||
long | Ny, | ||
long | Nz, | ||
int * | Status | ||
) |
Computes the inverse DFT of a complex signal. Computes the inverse DFT of a complex signal given in (real, imaginary) representation and returns an (amplitude, phase) representation. The output phase is in [rad]; its domain is (-PI, PI).
The origin is at index [0]. The highest coordinate (SignalLength-2)/2 is at index [(SignalLength-2)/2] for SignalLength even. The highest coordinate (SignalLength-1)/2 is at index [(SignalLength-1)/2] for SignalLength odd. The lowest coordinate -SignalLength/2 is at index [SignalLength/2] for SignalLength even. The lowest coordinate -(SignalLength-1)/2 is at index [(SignalLength+1)/2] for SignalLength odd. The coordinate -1 is at index [SignalLength-1] for SignalLength even or odd.
No restriction on SignalLength, but best efficiency for radix 2, 3, 4, 5. In the explanations above, SignalLength has to be replaced by Nx, Ny, Nz. Nx is the width of the volume. Ny is the height of the volume. Nz is the depth of the volume.
In-place processing. The input signal (real Re2Am and imaginary Im2Ph) is replaced by the output signal (amplitude Re2Am and phase Im2Ph).
success: return(!ERROR); failure: return(ERROR); The returned value is duplicated in Status
int VolumeInvDftRealImaginaryToReal | ( | double * | Re2Re, |
double * | ImIn, | ||
long | Nx, | ||
long | Ny, | ||
long | Nz, | ||
int * | Status | ||
) |
Computes the inverse DFT of a complex signal. Computes the inverse DFT of a complex signal given in (real, imaginary) representation and returns a real signal. The complex Fourier signal is symmetrized before the inverse transformation is applied.
The origin is at index [0]. The highest coordinate (SignalLength-2)/2 is at index [(SignalLength-2)/2] for SignalLength even. The highest coordinate (SignalLength-1)/2 is at index [(SignalLength-1)/2] for SignalLength odd. The lowest coordinate -SignalLength/2 is at index [SignalLength/2] for SignalLength even. The lowest coordinate -(SignalLength-1)/2 is at index [(SignalLength+1)/2] for SignalLength odd. The coordinate -1 is at index [SignalLength-1] for SignalLength even or odd.
No restriction on SignalLength, but best efficiency for radix 2, 3, 4, 5. In the explanations above, SignalLength has to be replaced by Nx, Ny, Nz. Nx is the width of the volume. Ny is the height of the volume. Nz is the depth of the volume.
In-place processing. The input signal (real Re2Re and imaginary ImIn) is replaced by the output signal (real Re2Re).
success: return(!ERROR); failure: return(ERROR); The returned value is duplicated in Status
int VolumeInvDftRealImaginaryToRealImaginary | ( | double * | Re2Re, |
double * | Im2Im, | ||
long | Nx, | ||
long | Ny, | ||
long | Nz, | ||
int * | Status | ||
) |
Computes the inverse DFT of a complex signal. Computes the inverse DFT of a complex signal given in (real, imaginary) representation and returns a (real, imaginary) representation.
The origin is at index [0]. The highest coordinate (SignalLength-2)/2 is at index [(SignalLength-2)/2] for SignalLength even. The highest coordinate (SignalLength-1)/2 is at index [(SignalLength-1)/2] for SignalLength odd. The lowest coordinate -SignalLength/2 is at index [SignalLength/2] for SignalLength even. The lowest coordinate -(SignalLength-1)/2 is at index [(SignalLength+1)/2] for SignalLength odd. The coordinate -1 is at index [SignalLength-1] for SignalLength even or odd.
No restriction on SignalLength, but best efficiency for radix 2, 3, 4, 5. In the explanations above, SignalLength has to be replaced by Nx, Ny, Nz. Nx is the width of the volume. Ny is the height of the volume. Nz is the depth of the volume.
In-place processing. The input signal (real Re2Re and imaginary Im2Im) is replaced by the output signal (real Re2Re and imaginary Im2Ph).
success: return(!ERROR); failure: return(ERROR); The returned value is duplicated in Status
int VolumeRealImaginaryToAmplitudePhase | ( | double | Re2Am[], |
double | Im2Ph[], | ||
long | Nx, | ||
long | Ny, | ||
long | Nz | ||
) |
Volume Real/Imaginary –> Amplitude/Phase. Converts a (real, imaginary) representation of a complex signal into an (amplitude, phase) representation. The output phase is in [rad]; its domain is (-PI, PI).
In-place processing. The input signal (real Re2Am and imaginary Im2Ph) is replaced by the output signal (amplitude Re2Am and phase Im2Ph).
Nx is the width of the volume. Ny is the height of the volume. Nz is the depth of the volume.
success: return(!ERROR); failure: return(ERROR);