mergeComplex
Top  Previous  Next

mergeComplex ( integer Input1, integer Input2, integer Output, integer Mode )

Use this function to merge two floating point component images into a complex image. Depending on the mode selected, two input images will be treated as Cartesian or polar components.

Parameters
 
Input1, Input2  
 
Integers between 0 and 116 specifying the frame numbers of the two component images. A value of 0 represents the DMA memory buffer of the video device. Values in the range of 100-116 correspond to hidden frames.  
 
Output  
 
An integer between 1 and 116 specifying the frame number of the output complex image. Values in the range of 100-116 correspond to hidden frames.  
 
Mode  
 
An enumerated integer specifying the coordinate system for two input components. Must be one of the following values:  
 
C_CARTESIAN=0 – two input images represent the Real and Imaginary components of the output complex image.  
C_POLAR=1 – two input images represent the Amplitude and Phase components of the output complex image.  
 
Error flags

ERR_OK  
 
The flag set if successful.  
 
ERR_FAILED  
 
The flag set if failed.  

Example
 
This set of statements grabs an image from the video device, applies the fast Fourier transform to it and splits the resulting complex image into the Amplitude and Phase components. Then the amplitude component is scaled up with the factor function, and both components merge back into a complex image. The inverse Fourier transform recreates the original image with an increased contrast.  
 
Inp=1  
Cmpl=100  
Amp=2  
Ph=3  
Out=4  
Koef=1.5  
GrabIm(Inp)  
fourier (Inp, Cmpl, M_DIRECT, F_FFT)  
splitComplex (Cmpl, Amp,Ph)  
factorIm (Amp,Amp,Koef,M_CLIP)  
mergeComplex (Amp,Ph,Cmpl,C_POLAR)  
fourier (Cmpl,Out,M_INVERSE,F_FFT)