Foundation (Arithmetic.dll) 14.1
Functions with 2 input images and 1 output image

Functions

cvbres_t AriLog16to16 (IMG InImage1, cvbdim_t InPlane1, IMG InImage2, cvbdim_t InPlane2, cvbval_t Mode, cvbval_t Offset, IMG &OutImage)
 The desired planes of the two 16-bit input images are combined pixel by pixel by means of arithmetic or logical operations. More...
 
cvbres_t AriLog16to16VPAT (IMG InImage1, cvbdim_t InPlane1, IMG InImage2, cvbdim_t InPlane2, cvbval_t Mode, cvbval_t Offset, IMG &OutImage)
 The desired planes of the two 16-bit input images are combined pixel by pixel by means of arithmetic or logical operations. More...
 
cvbres_t AriLog816to16 (IMG InImage1, cvbdim_t InPlane1, IMG InImage2, cvbdim_t InPlane2, cvbval_t Mode, cvbval_t Offset, IMG &OutImage)
 The desired plane of the 16-bit input image is combined pixel by pixel by means of arithmetic or logical operations with the desired plane of the 8-bit input image. More...
 
cvbres_t AriLog816to16VPAT (IMG InImage1, cvbdim_t InPlane1, IMG InImage2, cvbdim_t InPlane2, cvbval_t Mode, cvbval_t Offset, IMG &OutImage)
 The desired plane of the 16-bit input image is combined pixel by pixel by means of arithmetic or logical operations with the desired plane of the 8-bit input image. More...
 
cvbres_t AriLog8to16 (IMG InImage1, cvbdim_t InPlane1, IMG InImage2, cvbdim_t InPlane2, cvbval_t Mode, cvbval_t Offset, IMG &OutImage)
 The desired planes of the two 8-bit input images are combined pixel by pixel by means of arithmetic or logical operations. More...
 
cvbres_t AriLog8to16VPAT (IMG InImage1, cvbdim_t InPlane1, IMG InImage2, cvbdim_t InPlane2, cvbval_t Mode, cvbval_t Offset, IMG &OutImage)
 The desired planes of the two 8-bit input images are combined pixel by pixel by means of arithmetic or logical operations. More...
 
cvbres_t AriLog8to8 (IMG InImage1, cvbdim_t InPlane1, IMG InImage2, cvbdim_t InPlane2, cvbval_t Mode, cvbval_t Offset, IMG &OutImage)
 The desired planes of the two 8-bit input images are combined pixel by pixel by means of arithmetic or logical operations. More...
 
cvbres_t AriLog8to8VPAT (IMG InImage1, cvbdim_t InPlane1, IMG InImage2, cvbdim_t InPlane2, cvbval_t Mode, cvbval_t Offset, IMG &OutImage)
 The desired planes of the two 8-bit input images are combined pixel by pixel by means of arithmetic or logical operations. More...
 
cvbres_t LUT8to8 (IMG InImage1, cvbdim_t InPlane1, IMG InImage2, cvbdim_t InPlane2, TLUT88 Lut, IMG &OutImage)
 The two 8-bit input images are combined via the given two-dimensional LUT of the type TLUT88. More...
 
cvbres_t LUT8to8VPAT (IMG InImage1, cvbdim_t InPlane1, IMG InImage2, cvbdim_t InPlane2, TLUT88 Lut, IMG &OutImage)
 The two 8-bit input images are combined via the given two-dimensional LUT of the type TLUT88. More...
 
cvbres_t MulDiv16to16 (IMG InImage1, cvbdim_t InPlane1, IMG InImage2, cvbdim_t InPlane2, cvbval_t Mode, double Gain, cvbval_t Offset, IMG &OutImage)
 The desired planes of the two 16-bit input images are multiplied or divided by each other, pixel by pixel. More...
 
cvbres_t MulDiv16to16VPAT (IMG InImage1, cvbdim_t InPlane1, IMG InImage2, cvbdim_t InPlane2, cvbval_t Mode, double Gain, cvbval_t Offset, IMG &OutImage)
 The desired planes of the two 16-bit input images are multiplied or divided by each other, pixel by pixel. More...
 
cvbres_t MulDiv8to16 (IMG InImage1, cvbdim_t InPlane1, IMG InImage2, cvbdim_t InPlane2, cvbval_t Mode, double Gain, cvbval_t Offset, IMG &OutImage)
 The desired planes of the two 8-bit input images are multiplied or divided by each other, pixel by pixel. More...
 
cvbres_t MulDiv8to16VPAT (IMG InImage1, cvbdim_t InPlane1, IMG InImage2, cvbdim_t InPlane2, cvbval_t Mode, double Gain, cvbval_t Offset, IMG &OutImage)
 The desired planes of the two 8-bit input images are multiplied or divided by each other, pixel by pixel. More...
 

Detailed Description

Function Documentation

◆ AriLog16to16()

cvbres_t AriLog16to16 ( IMG  InImage1,
cvbdim_t  InPlane1,
IMG  InImage2,
cvbdim_t  InPlane2,
cvbval_t  Mode,
cvbval_t  Offset,
IMG &  OutImage 
)

The desired planes of the two 16-bit input images are combined pixel by pixel by means of arithmetic or logical operations.

The output image, which also has a depth of 16 bits, contains the result of the operation. The OutImage is created within the function if it is NULL. The OutImage must always be released via the ReleaseObject function if the image is not needed anymore in order to prevent a memory leak in the application. If a valid and compatible output image is given it is reused and shared.

The function Cut16to8Bit can be used in order to ensure that the output image is displayed correctly.

Attention
This function only works on linear images.
Parameters
[in]InImage1Handle of input image 1 (16-bit image).
[in]InPlane1Active plane of input image 1 to process.
[in]InImage2Handle of input image 2 (16-bit image).
[in]InPlane2Active plane of input image 2 to process.
[in]ModeOne of the CVBARI_LOG_MODE operations.
[in]OffsetConstant added to output image for additions and subtractions.
[out]OutImageHandle of output image (16-bit image).
Returns
0 : OK
otherwise CVBARI_RETURNCODE.
Supported platforms:
Win32
Win64
Linux

◆ AriLog16to16VPAT()

cvbres_t AriLog16to16VPAT ( IMG  InImage1,
cvbdim_t  InPlane1,
IMG  InImage2,
cvbdim_t  InPlane2,
cvbval_t  Mode,
cvbval_t  Offset,
IMG &  OutImage 
)

The desired planes of the two 16-bit input images are combined pixel by pixel by means of arithmetic or logical operations.

The output image, which also has a depth of 16 bits, contains the result of the operation. The OutImage is created within the function if it is NULL. The OutImage must always be released via the ReleaseObject function if the image is not needed anymore in order to prevent a memory leak in the application. If a valid and compatible output image is given it is reused and shared.

The function Cut16to8Bit can be used in order to ensure that the output image is displayed correctly.

Attention
This function works on all CVB images, but is slower than the linear version.
Parameters
[in]InImage1Handle of input image 1 (16-bit image).
[in]InPlane1Active plane of input image 1 to process.
[in]InImage2Handle of input image 2 (16-bit image).
[in]InPlane2Active plane of input image 2 to process.
[in]ModeOne of the CVBARI_LOG_MODE operations.
[in]OffsetConstant added to output image for additions and subtractions.
[out]OutImageHandle of output image (16-bit image).
Returns
0 : OK
otherwise CVBARI_RETURNCODE.
Supported platforms:
Win32
Win64
Linux

◆ AriLog816to16()

cvbres_t AriLog816to16 ( IMG  InImage1,
cvbdim_t  InPlane1,
IMG  InImage2,
cvbdim_t  InPlane2,
cvbval_t  Mode,
cvbval_t  Offset,
IMG &  OutImage 
)

The desired plane of the 16-bit input image is combined pixel by pixel by means of arithmetic or logical operations with the desired plane of the 8-bit input image.

The output image, which has a depth of 16 bits, contains the result of the operation. The OutImage is created within the function if it is NULL. The OutImage must always be released via the ReleaseObject function if the image is not needed anymore in order to prevent a memory leak in the application. If a valid and compatible output image is given it is reused and shared.

The function Cut16to8Bit can be used in order to ensure that the output image is displayed correctly.

Attention
This function only works on linear images.
Parameters
[in]InImage1Handle of input image 1 (16-bit image).
[in]InPlane1Active plane of input image 1 to process.
[in]InImage2Handle of input image 2 (8-bit image).
[in]InPlane2Active plane of input image 2 to process.
[in]ModeOne of the CVBARI_LOG_MODE operations.
[in]OffsetConstant added to output image for additions and subtractions.
[out]OutImageHandle of output image (16-bit image).
Returns
0 : OK
otherwise CVBARI_RETURNCODE.
Supported platforms:
Win32
Win64
Linux

◆ AriLog816to16VPAT()

cvbres_t AriLog816to16VPAT ( IMG  InImage1,
cvbdim_t  InPlane1,
IMG  InImage2,
cvbdim_t  InPlane2,
cvbval_t  Mode,
cvbval_t  Offset,
IMG &  OutImage 
)

The desired plane of the 16-bit input image is combined pixel by pixel by means of arithmetic or logical operations with the desired plane of the 8-bit input image.

The output image, which has a depth of 16 bits, contains the result of the operation. The OutImage is created within the function if it is NULL. The OutImage must always be released via the ReleaseObject function if the image is not needed anymore in order to prevent a memory leak in the application. If a valid and compatible output image is given it is reused and shared.

The function Cut16to8Bit can be used in order to ensure that the output image is displayed correctly.

Attention
This function works on all CVB images, but is slower than the linear version.
Parameters
[in]InImage1Handle of input image 1 (16-bit image).
[in]InPlane1Active plane of input image 1 to process.
[in]InImage2Handle of input image 2 (8-bit image).
[in]InPlane2Active plane of input image 2 to process.
[in]ModeOne of the CVBARI_LOG_MODE operations.
[in]OffsetConstant added to output image for additions and subtractions.
[out]OutImageHandle of output image (16-bit image).
Returns
0 : OK
otherwise CVBARI_RETURNCODE.
Supported platforms:
Win32
Win64
Linux

◆ AriLog8to16()

cvbres_t AriLog8to16 ( IMG  InImage1,
cvbdim_t  InPlane1,
IMG  InImage2,
cvbdim_t  InPlane2,
cvbval_t  Mode,
cvbval_t  Offset,
IMG &  OutImage 
)

The desired planes of the two 8-bit input images are combined pixel by pixel by means of arithmetic or logical operations.

The output image, which has a depth of 16 bits, contains the result of the operation. The OutImage is created within the function if it is NULL. The OutImage must always be released via the ReleaseObject function if the image is not needed anymore in order to prevent a memory leak in the application. If a valid and compatible output image is given it is reused and shared.

The function Cut16to8Bit can be used in order to ensure that the output image is displayed correctly.

Attention
This function only works on linear images.
Parameters
[in]InImage1Handle of input image 1 (8-bit image).
[in]InPlane1Active plane of input image 1 to process.
[in]InImage2Handle of input image 2 (8-bit image).
[in]InPlane2Active plane of input image 2 to process.
[in]ModePossible operations of the CVBARI_LOG_MODE are:
0 - CVBARI_LOG_SUBTRACTIONNOOVERFLOW
1 - CVBARI_LOG_ADDITIONNOOVERFLOW
2 - CVBARI_LOG_SUBTRACTIONWITHOVERFLOW
3 - CVBARI_LOG_ADDITIONWITHOVERFLOW
[in]OffsetConstant added to output image for additions and subtractions.
[out]OutImageHandle of output image (16-bit image).
Returns
0 : OK
otherwise CVBARI_RETURNCODE.
Supported platforms:
Win32
Win64
Linux

◆ AriLog8to16VPAT()

cvbres_t AriLog8to16VPAT ( IMG  InImage1,
cvbdim_t  InPlane1,
IMG  InImage2,
cvbdim_t  InPlane2,
cvbval_t  Mode,
cvbval_t  Offset,
IMG &  OutImage 
)

The desired planes of the two 8-bit input images are combined pixel by pixel by means of arithmetic or logical operations.

The output image, which has a depth of 16 bits, contains the result of the operation. The OutImage is created within the function if it is NULL. The OutImage must always be released via the ReleaseObject function if the image is not needed anymore in order to prevent a memory leak in the application. If a valid and compatible output image is given it is reused and shared.

The function Cut16to8Bit can be used in order to ensure that the output image is displayed correctly.

Attention
This function works on all CVB images, but is slower than the linear version.
Parameters
[in]InImage1Handle of input image 1 (8-bit image).
[in]InPlane1Active plane of input image 1 to process.
[in]InImage2Handle of input image 2 (8-bit image).
[in]InPlane2Active plane of input image 2 to process.
[in]ModePossible operations of the CVBARI_LOG_MODE are:
0 - CVBARI_LOG_SUBTRACTIONNOOVERFLOW
1 - CVBARI_LOG_ADDITIONNOOVERFLOW
2 - CVBARI_LOG_SUBTRACTIONWITHOVERFLOW
3 - CVBARI_LOG_ADDITIONWITHOVERFLOW
[in]OffsetConstant added to output image for additions and subtractions.
[out]OutImageHandle of output image (16-bit image).
Returns
0 : OK
otherwise CVBARI_RETURNCODE.
Supported platforms:
Win32
Win64
Linux

◆ AriLog8to8()

cvbres_t AriLog8to8 ( IMG  InImage1,
cvbdim_t  InPlane1,
IMG  InImage2,
cvbdim_t  InPlane2,
cvbval_t  Mode,
cvbval_t  Offset,
IMG &  OutImage 
)

The desired planes of the two 8-bit input images are combined pixel by pixel by means of arithmetic or logical operations.

The output image, which also has a depth of 8 bits, contains the result of the operation. The OutImage is created within the function if it is NULL. The OutImage must always be released via the ReleaseObject function if the image is not needed anymore in order to prevent a memory leak in the application. If a valid and compatible output image is given it is reused and shared.

Attention
This function only works on linear images.
Parameters
[in]InImage1Handle of input image 1 (8-bit image).
[in]InPlane1Active plane of input image 1 to process.
[in]InImage2Handle of input image 2 (8-bit image).
[in]InPlane2Active plane of input image 2 to process.
[in]ModeOne of the CVBARI_LOG_MODE operations.
[in]OffsetConstant added to output image for additions and subtractions.
[out]OutImageHandle of output image (8-bit image).
Returns
0 : OK
otherwise CVBARI_RETURNCODE.
Supported platforms:
Win32
Win64
Linux

◆ AriLog8to8VPAT()

cvbres_t AriLog8to8VPAT ( IMG  InImage1,
cvbdim_t  InPlane1,
IMG  InImage2,
cvbdim_t  InPlane2,
cvbval_t  Mode,
cvbval_t  Offset,
IMG &  OutImage 
)

The desired planes of the two 8-bit input images are combined pixel by pixel by means of arithmetic or logical operations.

The output image, which also has a depth of 8 bits, contains the result of the operation. The OutImage is created within the function if it is NULL. The OutImage must always be released via the ReleaseObject function if the image is not needed anymore in order to prevent a memory leak in the application. If a valid and compatible output image is given it is reused and shared.

Attention
This function works on all CVB images, but is slower than the linear version.
Parameters
[in]InImage1Handle of input image 1 (8-bit image).
[in]InPlane1Active plane of input image 1 to process.
[in]InImage2Handle of input image 2 (8-bit image).
[in]InPlane2Active plane of input image 2 to process.
[in]ModeOne of the CVBARI_LOG_MODE operations.
[in]OffsetConstant added to output image for additions and subtractions.
[out]OutImageHandle of output image (8-bit image).
Returns
0 : OK
otherwise CVBARI_RETURNCODE.
Supported platforms:
Win32
Win64
Linux

◆ LUT8to8()

cvbres_t LUT8to8 ( IMG  InImage1,
cvbdim_t  InPlane1,
IMG  InImage2,
cvbdim_t  InPlane2,
TLUT88  Lut,
IMG &  OutImage 
)

The two 8-bit input images are combined via the given two-dimensional LUT of the type TLUT88.

The output image, which has a depth of 16 bits, contains the result of the operation. The user must define the LUT prior to use. The OutImage is created within the function if it is NULL. The OutImage must always be released via the ReleaseObject function if the image is not needed anymore in order to prevent a memory leak in the application. If a valid and compatible output image is given it is reused and shared.

Attention
This function only works on linear images.
Parameters
[in]InImage1Handle of input image 1 (8-bit image).
[in]InPlane1Active plane of input image 1 to process.
[in]InImage2Handle of input image 2 (8-bit image).
[in]InPlane2Active plane of input image 2 to process.
[in]LutTwo-dimensional 8-bit LUT (see TLUT88).
[out]OutImageHandle of output image (16-bit image).
Returns
0 : OK
otherwise CVBARI_RETURNCODE.
Supported platforms:
Win32
Win64
Linux
Sample code
The two dimensional LUT is evaluated as follows:
Po = Lut[Pi1][Pi2]
where Po is one pixel of the OutImage, Pi1 is the pixel from the InImage1 and Pi2 is the pixel from InImage2.

◆ LUT8to8VPAT()

cvbres_t LUT8to8VPAT ( IMG  InImage1,
cvbdim_t  InPlane1,
IMG  InImage2,
cvbdim_t  InPlane2,
TLUT88  Lut,
IMG &  OutImage 
)

The two 8-bit input images are combined via the given two-dimensional LUT of the type TLUT88.

The output image, which has a depth of 16 bits, contains the result of the operation. The user must define the LUT prior to use. The OutImage is created within the function if it is NULL. The OutImage must always be released via the ReleaseObject function if the image is not needed anymore in order to prevent a memory leak in the application. If a valid and compatible output image is given it is reused and shared.

Attention
This function works on all CVB images, but is slower than the linear version.
Parameters
[in]InImage1Handle of input image 1 (8-bit image).
[in]InPlane1Active plane of input image 1 to process.
[in]InImage2Handle of input image 2 (8-bit image).
[in]InPlane2Active plane of input image 2 to process.
[in]LutTwo-dimensional 8-bit LUT (see TLUT88).
[out]OutImageHandle of output image (16-bit image).
Returns
0 : OK
otherwise CVBARI_RETURNCODE.
Supported platforms:
Win32
Win64
Linux
Sample code
The two dimensional LUT is evaluated as follows:
Po = Lut[Pi1][Pi2]
where Po is one pixel of the OutImage, Pi1 is the pixel from the InImage1 and Pi2 is the pixel from InImage2.

◆ MulDiv16to16()

cvbres_t MulDiv16to16 ( IMG  InImage1,
cvbdim_t  InPlane1,
IMG  InImage2,
cvbdim_t  InPlane2,
cvbval_t  Mode,
double  Gain,
cvbval_t  Offset,
IMG &  OutImage 
)

The desired planes of the two 16-bit input images are multiplied or divided by each other, pixel by pixel.

The result is multiplied with the Gain and the Offset is added. If the resulting value does not fit into 16-bit an overflow will happen.

The output image, which also has a depth of 16 bits, contains the result of the operation. The OutImage is created within the function if it is NULL. The OutImage must always be released via the ReleaseObject function if the image is not needed anymore in order to prevent a memory leak in the application. If a valid and compatible output image is given it is reused and shared.

The function Cut16to8Bit can be used in order to ensure that the output image is displayed correctly.

Attention
This function only works on linear images.
Parameters
[in]InImage1Handle of input image 1 (16-bit image).
[in]InPlane1Active plane of input image 1 to process.
[in]InImage2Handle of input image 2 (16-bit image).
[in]InPlane2Active plane of input image 2 to process.
[in]ModeOne of the CVBARI_MULDIV_MODE operations.
[in]GainConstant multiplication factor.
[in]OffsetConstant offset to be added.
[out]OutImageHandle of output image (16-bit image).
Returns
0 : OK
otherwise CVBARI_RETURNCODE.
Supported platforms:
Win32
Win64
Linux

◆ MulDiv16to16VPAT()

cvbres_t MulDiv16to16VPAT ( IMG  InImage1,
cvbdim_t  InPlane1,
IMG  InImage2,
cvbdim_t  InPlane2,
cvbval_t  Mode,
double  Gain,
cvbval_t  Offset,
IMG &  OutImage 
)

The desired planes of the two 16-bit input images are multiplied or divided by each other, pixel by pixel.

The result is multiplied with the Gain and the Offset is added. If the resulting value does not fit into 16-bit an overflow will happen.

The output image, which also has a depth of 16 bits, contains the result of the operation. The OutImage is created within the function if it is NULL. The OutImage must always be released via the ReleaseObject function if the image is not needed anymore in order to prevent a memory leak in the application. If a valid and compatible output image is given it is reused and shared.

The function Cut16to8Bit can be used in order to ensure that the output image is displayed correctly.

Attention
This function works on all CVB images, but is slower than the linear version.
Parameters
[in]InImage1Handle of input image 1 (16-bit image).
[in]InPlane1Active plane of input image 1 to process.
[in]InImage2Handle of input image 2 (16-bit image).
[in]InPlane2Active plane of input image 2 to process.
[in]ModeOne of the CVBARI_MULDIV_MODE operations.
[in]GainConstant multiplication factor.
[in]OffsetConstant offset to be added.
[out]OutImageHandle of output image (16-bit image).
Returns
0 : OK
otherwise CVBARI_RETURNCODE.
Supported platforms:
Win32
Win64
Linux

◆ MulDiv8to16()

cvbres_t MulDiv8to16 ( IMG  InImage1,
cvbdim_t  InPlane1,
IMG  InImage2,
cvbdim_t  InPlane2,
cvbval_t  Mode,
double  Gain,
cvbval_t  Offset,
IMG &  OutImage 
)

The desired planes of the two 8-bit input images are multiplied or divided by each other, pixel by pixel.

The result is multiplied with the Gain and the Offset is added. If the resulting value does not fit into 16-bit an overflow will happen.

The output image, which has a depth of 16 bits, contains the result of the operation. The OutImage is created within the function if it is NULL. The OutImage must always be released via the ReleaseObject function if the image is not needed anymore in order to prevent a memory leak in the application. If a valid and compatible output image is given it is reused and shared.

The function Cut16to8Bit can be used in order to ensure that the output image is displayed correctly.

Attention
This function only works on linear images.
Parameters
[in]InImage1Handle of input image 1 (8-bit image).
[in]InPlane1Active plane of input image 1 to process.
[in]InImage2Handle of input image 2 (8-bit image).
[in]InPlane2Active plane of input image 2 to process.
[in]ModeOne of the CVBARI_MULDIV_MODE operations.
[in]GainConstant multiplication factor.
[in]OffsetConstant offset to be added.
[out]OutImageHandle of output image (16-bit image).
Returns
0 : OK
otherwise CVBARI_RETURNCODE.
Supported platforms:
Win32
Win64
Linux

◆ MulDiv8to16VPAT()

cvbres_t MulDiv8to16VPAT ( IMG  InImage1,
cvbdim_t  InPlane1,
IMG  InImage2,
cvbdim_t  InPlane2,
cvbval_t  Mode,
double  Gain,
cvbval_t  Offset,
IMG &  OutImage 
)

The desired planes of the two 8-bit input images are multiplied or divided by each other, pixel by pixel.

The result is multiplied with the Gain and the Offset is added. If the resulting value does not fit into 16-bit an overflow will happen.

The output image, which has a depth of 16 bits, contains the result of the operation. The OutImage is created within the function if it is NULL. The OutImage must always be released via the ReleaseObject function if the image is not needed anymore in order to prevent a memory leak in the application. If a valid and compatible output image is given it is reused and shared.

The function Cut16to8Bit can be used in order to ensure that the output image is displayed correctly.

Attention
This function works on all CVB images, but is slower than the linear version.
Parameters
[in]InImage1Handle of input image 1 (8-bit image).
[in]InPlane1Active plane of input image 1 to process.
[in]InImage2Handle of input image 2 (8-bit image).
[in]InPlane2Active plane of input image 2 to process.
[in]ModeOne of the CVBARI_MULDIV_MODE operations.
[in]GainConstant multiplication factor.
[in]OffsetConstant offset to be added.
[out]OutImageHandle of output image (16-bit image).
Returns
0 : OK
otherwise CVBARI_RETURNCODE.
Supported platforms:
Win32
Win64
Linux