CartesianToPolar2d
Transforms a pair of real and imaginary part two-dimensional images into a pair of module and phase images.
Access to parameter description
For an introduction: see section Frequency Domain.
This algorithm computes the cartesian-to-polar transformation or real/imaginary to the module/phase transformation.
If I1 is the real part or X coordinate image and I2 the imaginary part or Y coordinate image, then:
Access to parameter description
For an introduction: see section Frequency Domain.
This algorithm computes the cartesian-to-polar transformation or real/imaginary to the module/phase transformation.
If I1 is the real part or X coordinate image and I2 the imaginary part or Y coordinate image, then:
- Module image O1 is defined as: O1(n,m)=√I21(n,m)+I22(n,m)
- Phase image O2 is defined as: O2(n,m)=tan−1(I2(n,m)I1(n,m))
Function Syntax
This function returns a CartesianToPolar2dOutput structure containing outputModulusImage and outputPhaseImage.
// Output structure of the cartesianToPolar2d function. struct CartesianToPolar2dOutput { /// The output modulus image. Its dimensions and type are forced to the same values as the input. std::shared_ptr< iolink::ImageView > outputModulusImage; /// The output phase image. Its dimensions and type are forced to the same values as the input. std::shared_ptr< iolink::ImageView > outputPhaseImage; }; // Function prototype
CartesianToPolar2dOutput cartesianToPolar2d( std::shared_ptr< iolink::ImageView > inputRealImage, std::shared_ptr< iolink::ImageView > inputImaginaryImage, std::shared_ptr< iolink::ImageView > outputModulusImage = NULL, std::shared_ptr< iolink::ImageView > outputPhaseImage = NULL );
Class Syntax
Parameters
Parameter Name | Description | Type | Supported Values | Default Value | |
---|---|---|---|---|---|
![]() |
inputRealImage |
The real part input 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 |
![]() |
outputModulusImage |
The output modulus image. Its dimensions and type are forced to the same values as the input. | Image | nullptr | |
![]() |
outputPhaseImage |
The output phase image. Its dimensions and type are forced to the same values as the input. | Image | nullptr |
Object Examples
auto polystyrene_float = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "polystyrene_float.vip" ); CartesianToPolar2d cartesianToPolar2dAlgo; cartesianToPolar2dAlgo.setInputRealImage( polystyrene_float ); cartesianToPolar2dAlgo.setInputImaginaryImage( polystyrene_float ); cartesianToPolar2dAlgo.execute(); std::cout << "outputModulusImage:" << cartesianToPolar2dAlgo.outputModulusImage()->toString(); std::cout << "outputPhaseImage:" << cartesianToPolar2dAlgo.outputPhaseImage()->toString();
Function Examples
auto polystyrene_float = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "polystyrene_float.vip" ); auto result = cartesianToPolar2d( polystyrene_float, polystyrene_float ); std::cout << "outputModulusImage:" << result.outputModulusImage->toString(); std::cout << "outputPhaseImage:" << result.outputPhaseImage->toString();