Arithmetical Operations
This group contains pointwise arithmetical operators.
- AbsoluteValue: Computes the absolute value of an image.
- AbsoluteMaximumWithImage: Computes the maximum between the absolute values of two images.
- ArithmeticOperationWithImage: Performs a pointwise arithmetic operation between two images.
- ArithmeticOperationWithValue: Performs a pointwise arithmetic operation between an image and a value.
- BlendWithImage: Produces a linear combination between two images.
- BlendWithValue: Produces a linear combination between an image and a constant value.
- DirectionalBlending2d: Combines two images following a direction axis.
- CombineByMask: Produces a combination of two images in a complementary way.
- ImageFormula: Computes a new image by applying a user-defined formula on one, two, or three input images.
- EigenDecomposition2d: Performs the singular value decomposition (SVD) of a 2D tensor field image.
- EigenDecomposition3d: Performs the singular value decomposition (SVD) of a 3D tensor field image.
The Arithmetical Operations group contains operations like sum, difference, blending, minimum
or maximum between two images or between an image and a constant.
In the following tables:
This rule is used for addition, subtraction and division operations.
Some operators with a single input also use this rule by taking the same type for both row and column header. For instance, GradientOperator2d and GradientOperator3d also follow this rule.
BasicRuleDOUBLEFLOATUINT32INT32UINT16INT16UINT8INT8DOUBLEDOUBLEDOUBLEDOUBLEDOUBLEDOUBLEDOUBLEDOUBLEDOUBLEFLOATDOUBLEFLOATFLOATFLOATFLOATFLOATFLOATFLOATUINT32DOUBLEFLOATINT32INT32INT32INT32INT32INT32INT32DOUBLEFLOATINT32INT32INT32INT32INT32INT32UINT16DOUBLEFLOATINT32INT32INT32INT32INT32INT32INT16DOUBLEFLOATINT32INT32INT32INT16INT16INT16UINT8DOUBLEFLOATINT32INT32INT32INT16INT16INT16INT8DOUBLEFLOATINT32INT32INT32INT16INT16INT16
This rule is used for multiplication operation.
PromotionRuleDOUBLEFLOATUINT32INT32UINT16INT16UINT8INT8DOUBLEDOUBLEDOUBLEDOUBLEDOUBLEDOUBLEDOUBLEDOUBLEDOUBLEFLOATDOUBLEFLOATFLOATFLOATFLOATFLOATFLOATFLOATUINT32DOUBLEFLOATUINT32INT32UINT32INT32UINT32INT32INT32DOUBLEFLOATINT32INT32INT32INT32INT32INT32UINT16DOUBLEFLOATUINT32INT32UINT32INT32UINT32INT32INT16DOUBLEFLOATINT32INT32INT32INT16INT16INT16UINT8DOUBLEFLOATUINT32INT32UINT32INT16UINT16INT16INT8DOUBLEFLOATINT32INT32INT32INT16INT16INT16
MinimumRuleDOUBLEFLOATUINT32INT32UINT16INT16UINT8INT8DOUBLEDOUBLEDOUBLEDOUBLEDOUBLEDOUBLEDOUBLEDOUBLEDOUBLEFLOATDOUBLEFLOATFLOATFLOATFLOATFLOATFLOATFLOATUINT32DOUBLEFLOATUINT32INT32UINT16INT16UINT8INT8INT32DOUBLEFLOATINT32INT32INT32INT32INT32INT32UINT16DOUBLEFLOATUINT16INT32UINT16INT16UINT8INT8INT16DOUBLEFLOATINT16INT32INT16INT16INT16INT16UINT8DOUBLEFLOATUINT8INT32UINT8INT16UINT8INT8INT8DOUBLEFLOATINT8INT32INT8INT16INT8INT8
MaximumRuleDOUBLEFLOATUINT32INT32UINT16INT16UINT8INT8DOUBLEDOUBLEDOUBLEDOUBLEDOUBLEDOUBLEDOUBLEDOUBLEDOUBLEFLOATDOUBLEFLOATFLOATFLOATFLOATFLOATFLOATFLOATUINT32DOUBLEFLOATUINT32UINT32UINT32UINT32UINT32UINT32INT32DOUBLEFLOATUINT32INT32UINT16INT32INT32INT32UINT16DOUBLEFLOATUINT32UINT16UINT16UINT16UINT16UINT16INT16DOUBLEFLOATUINT32INT32UINT16INT16UINT8INT16UINT8DOUBLEFLOATUINT32INT32UINT16UINT8UINT8UINT8INT8DOUBLEFLOATUINT32INT32UINT16INT16UINT8INT8
Rules for Arithmetic Image Type
There are four rules governing output image types for arithmetic operations. The aim is to provide the smallest type without loss of precision.In the following tables:
- The row header indicates the type of the first input image.
- The column header indicates the type of the second input image or of the operand value.
Operand interpretation
In the case of ArithmeticOperationWithValue, the type of the output image is deduced from the type of the input image and the smallest type able to contain the operand without loss of precision.Basic Rule
This rule is used for addition, subtraction and division operations.
Some operators with a single input also use this rule by taking the same type for both row and column header. For instance, GradientOperator2d and GradientOperator3d also follow this rule.
BasicRuleDOUBLEFLOATUINT32INT32UINT16INT16UINT8INT8DOUBLEDOUBLEDOUBLEDOUBLEDOUBLEDOUBLEDOUBLEDOUBLEDOUBLEFLOATDOUBLEFLOATFLOATFLOATFLOATFLOATFLOATFLOATUINT32DOUBLEFLOATINT32INT32INT32INT32INT32INT32INT32DOUBLEFLOATINT32INT32INT32INT32INT32INT32UINT16DOUBLEFLOATINT32INT32INT32INT32INT32INT32INT16DOUBLEFLOATINT32INT32INT32INT16INT16INT16UINT8DOUBLEFLOATINT32INT32INT32INT16INT16INT16INT8DOUBLEFLOATINT32INT32INT32INT16INT16INT16
Promotion Rule
This rule is used for multiplication operation.
PromotionRuleDOUBLEFLOATUINT32INT32UINT16INT16UINT8INT8DOUBLEDOUBLEDOUBLEDOUBLEDOUBLEDOUBLEDOUBLEDOUBLEDOUBLEFLOATDOUBLEFLOATFLOATFLOATFLOATFLOATFLOATFLOATUINT32DOUBLEFLOATUINT32INT32UINT32INT32UINT32INT32INT32DOUBLEFLOATINT32INT32INT32INT32INT32INT32UINT16DOUBLEFLOATUINT32INT32UINT32INT32UINT32INT32INT16DOUBLEFLOATINT32INT32INT32INT16INT16INT16UINT8DOUBLEFLOATUINT32INT32UINT32INT16UINT16INT16INT8DOUBLEFLOATINT32INT32INT32INT16INT16INT16
Rule for minimum operation
MinimumRuleDOUBLEFLOATUINT32INT32UINT16INT16UINT8INT8DOUBLEDOUBLEDOUBLEDOUBLEDOUBLEDOUBLEDOUBLEDOUBLEDOUBLEFLOATDOUBLEFLOATFLOATFLOATFLOATFLOATFLOATFLOATUINT32DOUBLEFLOATUINT32INT32UINT16INT16UINT8INT8INT32DOUBLEFLOATINT32INT32INT32INT32INT32INT32UINT16DOUBLEFLOATUINT16INT32UINT16INT16UINT8INT8INT16DOUBLEFLOATINT16INT32INT16INT16INT16INT16UINT8DOUBLEFLOATUINT8INT32UINT8INT16UINT8INT8INT8DOUBLEFLOATINT8INT32INT8INT16INT8INT8
Rule for maximum operation
MaximumRuleDOUBLEFLOATUINT32INT32UINT16INT16UINT8INT8DOUBLEDOUBLEDOUBLEDOUBLEDOUBLEDOUBLEDOUBLEDOUBLEDOUBLEFLOATDOUBLEFLOATFLOATFLOATFLOATFLOATFLOATFLOATUINT32DOUBLEFLOATUINT32UINT32UINT32UINT32UINT32UINT32INT32DOUBLEFLOATUINT32INT32UINT16INT32INT32INT32UINT16DOUBLEFLOATUINT32UINT16UINT16UINT16UINT16UINT16INT16DOUBLEFLOATUINT32INT32UINT16INT16UINT8INT16UINT8DOUBLEFLOATUINT32INT32UINT16UINT8UINT8UINT8INT8DOUBLEFLOATUINT32INT32UINT16INT16UINT8INT8