/// @brief The list of possible frame conversions.
///
/// The frame conversion type is passed as an argument during construction of the
/// #XFrameConvert-class. (see XFrameConvert::Create() and XFC_OpenFrameConvert()).
///
typedefenum
{
XFC_Correction=0,///< A raw image is corrected applying the data from a Xenics correction (.XCA) file.
XFC_TemperatureNormalisation=1///< A thermal image is compensated for internal camera temperatures applying the data from a Xenics temperature calibration (.XCA) file.
}XFrameConversionType;
#ifdef __cplusplus
}
#endif
#ifdef __cplusplus
///
/// @brief This class provides an interface to correct raw frames off-line.
///
classXFrameConvert
{
protected:
XFrameConvert(){};
public:
///
/// @brief Creates a file converter.
///
/// @warning only a single XFrameConvert instance can exist simultaneously.
/// Before you can create an new instance with other parameters it is necessary
/// to delete the current instance.
///
/// @param[in] width The width of the frames to be converted
/// @param[in] height The height of the frames to be converted
/// @param[in] pixelSize The bit depth of the pixels composing the frames
/// @param[in] conversionType see #XFrameConversionType
///
/// @return Returns a pointer to a constructed #XFrameConvert-instance.
/// @brief Call this destructor using the delete-operator to destroy the instance.
///
virtual~XFrameConvert(){};
///
/// @brief Converts the source frame
///
/// @param[in] SrcFrame Pointer to the source frame
/// @param[in] SrcFrameSize The size of the source frame in bytes: ( width * height * pixelSize ) + footerSize
/// @param[out] DstFrame Pointer to a buffer. When this pointer is non zero, the source frame will be unaffected while the converted frame is copied into the this buffer.
/// @param[in] DstFrameSize Size of the buffer
///
/// @return This method will return #I_OK on success.
/// On failure one of the other possible values is returned. (see #ErrorCodes)