ImageDev

Exponential

Calculates the exponential value of each pixel in a floating point image.

Access to parameter description

This algorithm applies a pointwise operator that calculates the exponential value of each pixel: $$ O(i,j)=exp(I(i,j)) $$ It works only with a floating point input image, and generates another floating point image.

Note: The exponential operator is inclined to produce overflows. Theoretically, it cannot be applied on values greater than 88.7. For convenience, it is recommened to apply it on lower values (for example, a data range like [0, 10]).

See also

Function Syntax

This function returns the outputImage output parameter.
// Function prototype.
std::shared_ptr< iolink::ImageView >
exponential( std::shared_ptr< iolink::ImageView > inputImage, std::shared_ptr< iolink::ImageView > outputImage = NULL );
This function returns the outputImage output parameter.
// Function prototype.
exponential( input_image, output_image = None )
This function returns the outputImage output parameter.
// Function prototype.
public static IOLink.ImageView
Exponential( IOLink.ImageView inputImage, IOLink.ImageView outputImage = null );

Class Syntax

Parameters

Class Name Exponential

Parameter Name Description Type Supported Values Default Value
input
inputImage
The input floating point image. Image Grayscale or Multispectral nullptr
output
outputImage
The output floating point image. Its dimensions 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" );

Exponential exponentialAlgo;
exponentialAlgo.setInputImage( polystyrene_float );
exponentialAlgo.execute();

std::cout << "outputImage:" << exponentialAlgo.outputImage()->toString();
polystyrene_float = imagedev.read_vip_image(imagedev_data.get_image_path("polystyrene_float.vip"))

exponential_algo = imagedev.Exponential()
exponential_algo.input_image = polystyrene_float
exponential_algo.execute()

print( "output_image:", str( exponential_algo.output_image ) );
ImageView polystyrene_float = Data.ReadVipImage( @"Data/images/polystyrene_float.vip" );

Exponential exponentialAlgo = new Exponential
{
    inputImage = polystyrene_float
};
exponentialAlgo.Execute();

Console.WriteLine( "outputImage:" + exponentialAlgo.outputImage.ToString() );

Function Examples

auto polystyrene_float = readVipImage( std::string( IMAGEDEVDATA_IMAGES_FOLDER ) + "polystyrene_float.vip" );

auto result = exponential( polystyrene_float );

std::cout << "outputImage:" << result->toString();
polystyrene_float = imagedev.read_vip_image(imagedev_data.get_image_path("polystyrene_float.vip"))

result = imagedev.exponential( polystyrene_float )

print( "output_image:", str( result ) );
ImageView polystyrene_float = Data.ReadVipImage( @"Data/images/polystyrene_float.vip" );

IOLink.ImageView result = Processing.Exponential( polystyrene_float );

Console.WriteLine( "outputImage:" + result.ToString() );