ComplexCenteredFftInverse
Computes the centered Fast Fourier inverse Transform of an image.
Access to parameter description
For an introduction: see section Frequency Domain.
The ComplexCenteredFftInverse algorithm is used to reconstruct an image after a centered FFT transform.
See also
Access to parameter description
For an introduction: see section Frequency Domain.
The ComplexCenteredFftInverse algorithm is used to reconstruct an image after a centered FFT transform.
See also
Function Syntax
This function returns a ComplexCenteredFftInverseOutput structure containing outputRealImage and outputImaginaryImage.
// Output structure of the complexCenteredFftInverse function.
struct ComplexCenteredFftInverseOutput
{
/// The output real part image. Its dimensions are forced to the same values as the input. Its data type is forced to floating point.
std::shared_ptr< iolink::ImageView > outputRealImage;
/// The output imaginary part image. Its dimensions are forced to the same values as the input. Its data type is forced to floating point.
std::shared_ptr< iolink::ImageView > outputImaginaryImage;
};
// Function prototype
ComplexCenteredFftInverseOutput
complexCenteredFftInverse( std::shared_ptr< iolink::ImageView > inputRealImage,
std::shared_ptr< iolink::ImageView > inputImaginaryImage,
std::shared_ptr< iolink::ImageView > outputRealImage = NULL,
std::shared_ptr< iolink::ImageView > outputImaginaryImage = NULL );
This function returns a tuple containing output_real_image and output_imaginary_image.
// Function prototype.
complex_centered_fft_inverse( input_real_image,
input_imaginary_image,
output_real_image = None,
output_imaginary_image = None )
This function returns a ComplexCenteredFftInverseOutput structure containing outputRealImage and outputImaginaryImage.
/// Output structure of the ComplexCenteredFftInverse function.
public struct ComplexCenteredFftInverseOutput
{
///
/// The output real part image. Its dimensions are forced to the same values as the input. Its data type is forced to floating point.
///
public IOLink.ImageView outputRealImage;
///
/// The output imaginary part image. Its dimensions are forced to the same values as the input. Its data type is forced to floating point.
///
public IOLink.ImageView outputImaginaryImage;
};
// Function prototype.
public static ComplexCenteredFftInverseOutput
ComplexCenteredFftInverse( IOLink.ImageView inputRealImage,
IOLink.ImageView inputImaginaryImage,
IOLink.ImageView outputRealImage = null,
IOLink.ImageView outputImaginaryImage = null );
Class Syntax
Parameters
| Parameter Name | Description | Type | Supported Values | Default Value | |
|---|---|---|---|---|---|
![]() |
inputRealImage |
The real input part image. It must be a floating point image. | Image | Grayscale or Multispectral | nullptr |
![]() |
inputImaginaryImage |
The imaginary part input image. This image must have same dimensions and data type as the real input image. | Image | Grayscale or Multispectral | nullptr |
![]() |
outputRealImage |
The output real part image. Its dimensions are forced to the same values as the input. Its data type is forced to floating point. | Image | nullptr | |
![]() |
outputImaginaryImage |
The output imaginary part image. Its dimensions are forced to the same values as the input. Its data type is forced to floating point. | Image | nullptr | |
| Parameter Name | Description | Type | Supported Values | Default Value | |
|---|---|---|---|---|---|
![]() |
input_real_image |
The real input part image. It must be a floating point image. | image | Grayscale or Multispectral | None |
![]() |
input_imaginary_image |
The imaginary part input image. This image must have same dimensions and data type as the real input image. | image | Grayscale or Multispectral | None |
![]() |
output_real_image |
The output real part image. Its dimensions are forced to the same values as the input. Its data type is forced to floating point. | image | None | |
![]() |
output_imaginary_image |
The output imaginary part image. Its dimensions are forced to the same values as the input. Its data type is forced to floating point. | image | None | |
| Parameter Name | Description | Type | Supported Values | Default Value | |
|---|---|---|---|---|---|
![]() |
inputRealImage |
The real input part image. It must be a floating point image. | Image | Grayscale or Multispectral | null |
![]() |
inputImaginaryImage |
The imaginary part input image. This image must have same dimensions and data type as the real input image. | Image | Grayscale or Multispectral | null |
![]() |
outputRealImage |
The output real part image. Its dimensions are forced to the same values as the input. Its data type is forced to floating point. | Image | null | |
![]() |
outputImaginaryImage |
The output imaginary part image. Its dimensions are forced to the same values as the input. Its data type is forced to floating point. | Image | null | |
Object Examples
auto polystyrene_float = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "polystyrene_float.vip" ); ComplexCenteredFftInverse complexCenteredFftInverseAlgo; complexCenteredFftInverseAlgo.setInputRealImage( polystyrene_float ); complexCenteredFftInverseAlgo.setInputImaginaryImage( polystyrene_float ); complexCenteredFftInverseAlgo.execute(); std::cout << "outputRealImage:" << complexCenteredFftInverseAlgo.outputRealImage()->toString(); std::cout << "outputImaginaryImage:" << complexCenteredFftInverseAlgo.outputImaginaryImage()->toString();
polystyrene_float = imagedev.read_vip_image(imagedev_data.get_image_path("polystyrene_float.vip"))
complex_centered_fft_inverse_algo = imagedev.ComplexCenteredFftInverse()
complex_centered_fft_inverse_algo.input_real_image = polystyrene_float
complex_centered_fft_inverse_algo.input_imaginary_image = polystyrene_float
complex_centered_fft_inverse_algo.execute()
print( "output_real_image:", str( complex_centered_fft_inverse_algo.output_real_image ) )
print( "output_imaginary_image:", str( complex_centered_fft_inverse_algo.output_imaginary_image ) )
ImageView polystyrene_float = Data.ReadVipImage( @"Data/images/polystyrene_float.vip" );
ComplexCenteredFftInverse complexCenteredFftInverseAlgo = new ComplexCenteredFftInverse
{
inputRealImage = polystyrene_float,
inputImaginaryImage = polystyrene_float
};
complexCenteredFftInverseAlgo.Execute();
Console.WriteLine( "outputRealImage:" + complexCenteredFftInverseAlgo.outputRealImage.ToString() );
Console.WriteLine( "outputImaginaryImage:" + complexCenteredFftInverseAlgo.outputImaginaryImage.ToString() );
Function Examples
auto polystyrene_float = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "polystyrene_float.vip" ); auto result = complexCenteredFftInverse( polystyrene_float, polystyrene_float ); std::cout << "outputRealImage:" << result.outputRealImage->toString(); std::cout << "outputImaginaryImage:" << result.outputImaginaryImage->toString();
polystyrene_float = imagedev.read_vip_image(imagedev_data.get_image_path("polystyrene_float.vip"))
result_output_real_image, result_output_imaginary_image = imagedev.complex_centered_fft_inverse( polystyrene_float, polystyrene_float )
print( "output_real_image:", str( result_output_real_image ) )
print( "output_imaginary_image:", str( result_output_imaginary_image ) )
ImageView polystyrene_float = Data.ReadVipImage( @"Data/images/polystyrene_float.vip" ); Processing.ComplexCenteredFftInverseOutput result = Processing.ComplexCenteredFftInverse( polystyrene_float, polystyrene_float ); Console.WriteLine( "outputRealImage:" + result.outputRealImage.ToString() ); Console.WriteLine( "outputImaginaryImage:" + result.outputImaginaryImage.ToString() );

