eVision Python API
Loading...
Searching...
No Matches
eVision.EHDRFusion Class Reference

Utility class containing two configurable algorithms to display HDR images on standard display monitors while conserving details and visual quality of the input image. More...

Public Member Functions

None __init__ (self, eVision.EMergerParameters mergerParams, eVision.EToneMapperParameters toneMapperParams)
 Creates a HDR fusion with the specified merger and tone-mapper.
None __init__ (self)
 Creates a HDR fusion with the specified merger and tone-mapper.
None __init__ (self, eVision.EHDRFusion other)
 Copy operator.
None Fuse (self, list[eVision._eVision.EImageC24] inputs, eVision.EImageC24 output, list[float] exposureTimes)
 If the merger type is not Mertens, the number of inputs image must match the number of exposure times.
None Fuse (self, list[eVision._eVision.EImageC24] inputs, eVision.EImageC24 output)
 If the merger type is not Mertens, the number of inputs image must match the number of exposure times.
None Fuse (self, list[eVision._eVision.EImageBW8] inputs, eVision.EImageBW8 output, list[float] exposureTimes)
 If the merger type is not Mertens, the number of inputs image must match the number of exposure times.
None Fuse (self, list[eVision._eVision.EImageBW8] inputs, eVision.EImageBW8 output)
 If the merger type is not Mertens, the number of inputs image must match the number of exposure times.
None Save (self, str path)
 Saves the eVision.EHDRFusion.
None Save (self, eVision.ESerializer|None serializer)
 Saves the eVision.EHDRFusion.
None Load (self, str path)
 Loads the eVision.EHDRFusion.
None Load (self, eVision.ESerializer|None serializer)
 Loads the eVision.EHDRFusion.
eVision.EReinhardToneMapperParameters ReinhardToneMapperParameters (self)
 Gets the parameter set for the current Reinhard tone-mapper.
 ReinhardToneMapperParameters (self, eVision.EReinhardToneMapperParameters value)
 Gets the parameter set for the current Reinhard tone-mapper.
eVision.EMantiukToneMapperParameters MantiukToneMapperParameters (self)
 Gets the parameter set for the current Mantiuk tone-mapper.
 MantiukToneMapperParameters (self, eVision.EMantiukToneMapperParameters value)
 Gets the parameter set for the current Mantiuk tone-mapper.
eVision.EDragoToneMapperParameters DragoToneMapperParameters (self)
 Gets the parameter set for the current Drago tone-mapper.
 DragoToneMapperParameters (self, eVision.EDragoToneMapperParameters value)
 Gets the parameter set for the current Drago tone-mapper.
eVision.ELinearToneMapperParameters LinearToneMapperParameters (self)
 Gets the parameter set for the current linear tone-mapper.
 LinearToneMapperParameters (self, eVision.ELinearToneMapperParameters value)
 Gets the parameter set for the current linear tone-mapper.
eVision.EMertensMergerParameters MertensMergerParameters (self)
 Gets the parameter set for the current Mertens merger.
 MertensMergerParameters (self, eVision.EMertensMergerParameters value)
 Gets the parameter set for the current Mertens merger.
eVision.EToneMapperType ToneMapperType (self)
 Gets the current tone-mapper type.
 ToneMapperType (self, eVision.EToneMapperType value)
 Gets the current tone-mapper type.
eVision.EMergerType MergerType (self)
 Gets the current merger type.
 MergerType (self, eVision.EMergerType value)
 Gets the current merger type.

Detailed Description

Utility class containing two configurable algorithms to display HDR images on standard display monitors while conserving details and visual quality of the input image.

The fusion method takes multiple color images as input and the exposure times of each image. The fusion is performed in three steps:

  1. A calibration of the camera response is applied on the input images (if the merger is of type Debevec or Robertson.
  2. The merger computes an HDR image with the input images.
  3. The tone-mapper computes an image that can be displayed on standard display monitors.

Remarks:

License(s): EasyImage

Constructor & Destructor Documentation

◆ __init__() [1/3]

None eVision.EHDRFusion.__init__ ( self,
eVision.EMergerParameters mergerParams,
eVision.EToneMapperParameters toneMapperParams )

Creates a HDR fusion with the specified merger and tone-mapper.

Every merger are compatible with every tone-mapper.

Parameters
mergerParamsParameters and type of the merger to use.
toneMapperParamsParameters and type of the tone-mapper to use.

◆ __init__() [2/3]

None eVision.EHDRFusion.__init__ ( self)

Creates a HDR fusion with the specified merger and tone-mapper.

Every merger are compatible with every tone-mapper.

◆ __init__() [3/3]

None eVision.EHDRFusion.__init__ ( self,
eVision.EHDRFusion other )

Copy operator.

Parameters
otherAnother eVision.EHDRFusion.

Member Function Documentation

◆ DragoToneMapperParameters() [1/2]

eVision.EDragoToneMapperParameters eVision.EHDRFusion.DragoToneMapperParameters ( self)

Gets the parameter set for the current Drago tone-mapper.

Throws an exception if the current tone-mapper isn't a Drago tone-mapper.

◆ DragoToneMapperParameters() [2/2]

eVision.EHDRFusion.DragoToneMapperParameters ( self,
eVision.EDragoToneMapperParameters value )

Gets the parameter set for the current Drago tone-mapper.

Throws an exception if the current tone-mapper isn't a Drago tone-mapper.

◆ Fuse() [1/4]

None eVision.EHDRFusion.Fuse ( self,
list[eVision._eVision.EImageBW8] inputs,
eVision.EImageBW8 output )

If the merger type is not Mertens, the number of inputs image must match the number of exposure times.

Otherwise, the number of exposure times must be null. The output image and all input images must have the same dimensions. When using the Debevec or Robertson algorithm, the response of the camera is computed by a preleminary calibration. This operation is expensive and if next calls are applied on the same number of images, with the same dimension and the same exposure times, it will not be computed again. Otherwise, the calibration is done again.

Parameters
inputsInput images.
outputOutput image.

◆ Fuse() [2/4]

None eVision.EHDRFusion.Fuse ( self,
list[eVision._eVision.EImageBW8] inputs,
eVision.EImageBW8 output,
list[float] exposureTimes )

If the merger type is not Mertens, the number of inputs image must match the number of exposure times.

Otherwise, the number of exposure times must be null. The output image and all input images must have the same dimensions. When using the Debevec or Robertson algorithm, the response of the camera is computed by a preleminary calibration. This operation is expensive and if next calls are applied on the same number of images, with the same dimension and the same exposure times, it will not be computed again. Otherwise, the calibration is done again.

Parameters
inputsInput images.
outputOutput image.
exposureTimesExposure times in seconds, can be empty if the merger type is Mertens.

◆ Fuse() [3/4]

None eVision.EHDRFusion.Fuse ( self,
list[eVision._eVision.EImageC24] inputs,
eVision.EImageC24 output )

If the merger type is not Mertens, the number of inputs image must match the number of exposure times.

Otherwise, the number of exposure times must be null. The output image and all input images must have the same dimensions. When using the Debevec or Robertson algorithm, the response of the camera is computed by a preleminary calibration. This operation is expensive and if next calls are applied on the same number of images, with the same dimension and the same exposure times, it will not be computed again. Otherwise, the calibration is done again.

Parameters
inputsInput images.
outputOutput image.

◆ Fuse() [4/4]

None eVision.EHDRFusion.Fuse ( self,
list[eVision._eVision.EImageC24] inputs,
eVision.EImageC24 output,
list[float] exposureTimes )

If the merger type is not Mertens, the number of inputs image must match the number of exposure times.

Otherwise, the number of exposure times must be null. The output image and all input images must have the same dimensions. When using the Debevec or Robertson algorithm, the response of the camera is computed by a preleminary calibration. This operation is expensive and if next calls are applied on the same number of images, with the same dimension and the same exposure times, it will not be computed again. Otherwise, the calibration is done again.

Parameters
inputsInput images.
outputOutput image.
exposureTimesExposure times in seconds, can be empty if the merger type is Mertens.

◆ LinearToneMapperParameters() [1/2]

eVision.ELinearToneMapperParameters eVision.EHDRFusion.LinearToneMapperParameters ( self)

Gets the parameter set for the current linear tone-mapper.

Throws an exception if the current tone-mapper isn't a linear tone-mapper.

◆ LinearToneMapperParameters() [2/2]

eVision.EHDRFusion.LinearToneMapperParameters ( self,
eVision.ELinearToneMapperParameters value )

Gets the parameter set for the current linear tone-mapper.

Throws an exception if the current tone-mapper isn't a linear tone-mapper.

◆ Load() [1/2]

None eVision.EHDRFusion.Load ( self,
eVision.ESerializer | None serializer )

Loads the eVision.EHDRFusion.

The given eVision.ESerializer must have been created for reading.

Parameters
serializerThe serializer.

◆ Load() [2/2]

None eVision.EHDRFusion.Load ( self,
str path )

Loads the eVision.EHDRFusion.

The given eVision.ESerializer must have been created for reading.

Parameters
pathThe file path.

◆ MantiukToneMapperParameters() [1/2]

eVision.EMantiukToneMapperParameters eVision.EHDRFusion.MantiukToneMapperParameters ( self)

Gets the parameter set for the current Mantiuk tone-mapper.

Throws an exception if the current tone-mapper isn't a Mantiuk tone-mapper.

◆ MantiukToneMapperParameters() [2/2]

eVision.EHDRFusion.MantiukToneMapperParameters ( self,
eVision.EMantiukToneMapperParameters value )

Gets the parameter set for the current Mantiuk tone-mapper.

Throws an exception if the current tone-mapper isn't a Mantiuk tone-mapper.

◆ MergerType() [1/2]

eVision.EMergerType eVision.EHDRFusion.MergerType ( self)

Gets the current merger type.

◆ MergerType() [2/2]

eVision.EHDRFusion.MergerType ( self,
eVision.EMergerType value )

Gets the current merger type.

◆ MertensMergerParameters() [1/2]

eVision.EMertensMergerParameters eVision.EHDRFusion.MertensMergerParameters ( self)

Gets the parameter set for the current Mertens merger.

Throws an exception if the current tone-mapper isn't a Mertens Merger.

◆ MertensMergerParameters() [2/2]

eVision.EHDRFusion.MertensMergerParameters ( self,
eVision.EMertensMergerParameters value )

Gets the parameter set for the current Mertens merger.

Throws an exception if the current tone-mapper isn't a Mertens Merger.

◆ ReinhardToneMapperParameters() [1/2]

eVision.EReinhardToneMapperParameters eVision.EHDRFusion.ReinhardToneMapperParameters ( self)

Gets the parameter set for the current Reinhard tone-mapper.

Throws an exception if the current tone-mapper isn't a reinhard tone-mapper.

◆ ReinhardToneMapperParameters() [2/2]

eVision.EHDRFusion.ReinhardToneMapperParameters ( self,
eVision.EReinhardToneMapperParameters value )

Gets the parameter set for the current Reinhard tone-mapper.

Throws an exception if the current tone-mapper isn't a reinhard tone-mapper.

◆ Save() [1/2]

None eVision.EHDRFusion.Save ( self,
eVision.ESerializer | None serializer )

Saves the eVision.EHDRFusion.

The given eVision.ESerializer must have been created for writing.

Parameters
serializerThe serializer.

◆ Save() [2/2]

None eVision.EHDRFusion.Save ( self,
str path )

Saves the eVision.EHDRFusion.

The given eVision.ESerializer must have been created for writing.

Parameters
pathThe file path.

◆ ToneMapperType() [1/2]

eVision.EToneMapperType eVision.EHDRFusion.ToneMapperType ( self)

Gets the current tone-mapper type.

◆ ToneMapperType() [2/2]

eVision.EHDRFusion.ToneMapperType ( self,
eVision.EToneMapperType value )

Gets the current tone-mapper type.