MIL_ID BufId, | //in |
MIL_INT64 OperationControlType, | //in |
MIL_INT OperationValue | //in |
This function changes the setting of an operation control type of the specified kernel buffer or structuring element buffer. The operation control type settings establish how to perform a neighborhood operation when using the specified kernel buffer or structuring element buffer.
Neighborhood operations that do not use a kernel buffer or structuring element buffer typically use the default values; the default normalization factor is the exception. For predefined filters, the normalization factor is automatically set to use the full data range of the destination buffer without overflows, and the result is given in the number of bits of the destination buffer. To specify a different normalization factor, define a custom filter and set the required normalization factor, using the M_NORMALIZATION_FACTOR operation control type.
Specifies the identifier of the kernel buffer or structuring element buffer. You must have already allocated this buffer, using MbufAlloc1d() or MbufAlloc2d().
Specifies the operation to perform during a neighborhood operation when using the specified buffer.
See the Parameter associations section for possible values that can be specified.
Specifies the new value to assign to the operation setting specified by the OperationControlType parameter.
See the Parameter associations section for possible values that can be specified.
The tables below list possible values for the OperationControlType and OperationValue parameters.
The following OperationControlType and corresponding OperationValue parameter settings are used to control general operation settings.
For controlling general operation
settings
|
|||||||||||||||||||||||||||||||||||||||
OperationControlType | Description
|
MIL system-specific tooltip (†) |
|||||||||||||||||||||||||||||||||||||
OperationValue | |||||||||||||||||||||||||||||||||||||||
M_DEFAULT |
Sets all operation control types to their default operation value. (more details...) |
† | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | ||||||||||||||||||
M_NULL |
Implements the default behavior. (more details...) |
† | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | ||||||||||||||||||
M_ABSOLUTE_VALUE |
Sets whether to take the absolute value of the results. INQ (more details...) |
† | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | ||||||||||||||||||
M_DEFAULT |
Same as M_DISABLE. |
† | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | ||||||||||||||||||
M_DISABLE |
Specifies not to take the absolute value of the result. |
† | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | ||||||||||||||||||
M_ENABLE |
Specifies to take the absolute value of the result. (more details...) |
† | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | ||||||||||||||||||
M_OFFSET_CENTER_X |
Sets the X-coordinate of the center pixel of the kernel or structuring element. INQ (more details...) |
† | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | ||||||||||||||||||
M_DEFAULT |
Specifies the X-coordinate of the top-left pixel of the central elements. |
† | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | ||||||||||||||||||
0 <= Value < SizeX |
Specifies the value of the X-coordinate. |
† | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | ||||||||||||||||||
M_OFFSET_CENTER_Y |
Sets the Y-coordinate of the center of the kernel or structuring element. INQ (more details...) |
† | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | ||||||||||||||||||
M_DEFAULT |
Specifies the Y-coordinate of the top-left pixel of the central elements. |
† | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | ||||||||||||||||||
0 <= Value < SizeY |
Specifies the value of the Y-coordinate. |
† | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | ||||||||||||||||||
M_OVERSCAN |
Sets the type of overscan used to handle the border pixels of a source image. INQ (more details...) |
† | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | ||||||||||||||||||
M_DEFAULT |
Specifies that MIL automatically selects the type of overscan to optimize speed and logic according to the specified operation and the target system. |
† | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | ||||||||||||||||||
M_DISABLE |
Specifies that no overscan will be used, unless processing the border pixels is faster than ignoring them; in the latter case, MIL automatically selects the overscan to optimize speed according to the specified operation and the target system. |
† | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | ||||||||||||||||||
M_FAST |
Specifies that MIL automatically selects the overscan to optimize speed according to the specified operation and the target system. (more details...) |
† | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | ||||||||||||||||||
M_MIRROR |
Specifies a type of overscan that processes the border pixels of a source image using overscan pixel values that mirror the source buffer pixel values. (more details...) |
† | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | ||||||||||||||||||
M_REPLACE |
Specifies a type of overscan that processes the border pixels of a source image using overscan pixel values set to the overscan replacement value (M_OVERSCAN_REPLACE_VALUE). |
† | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | ||||||||||||||||||
M_TRANSPARENT |
Specifies a type of overscan that processes the border pixels of a source image using transparent overscan pixel values. (more details...) |
† | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | ||||||||||||||||||
MIL system specific | |||||||||||||||||||||||||||||||||||||||
Points falling outside the source image are undefined. |
† | d | l | m | |||||||||||||||||||||||||||||||||||
M_OVERSCAN_REPLACE_VALUE |
Sets a replacement value for the overscan pixel values. INQ (more details...) |
† | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | ||||||||||||||||||
M_DEFAULT |
Specifies the default value; the default value is 0. |
† | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | ||||||||||||||||||
M_REPLACE_MAX |
Specifies that the overscan neighborhood pixel values will be set to the maximum value of the source buffer. |
† | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | ||||||||||||||||||
M_REPLACE_MIN |
Specifies that the overscan neighborhood pixel values will be set to the minimum value of the source buffer. |
† | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | ||||||||||||||||||
Value |
Specifies the value of the overscan neighborhood pixels. |
† | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | ||||||||||||||||||
M_SATURATION |
Sets whether to saturate the results. INQ (more details...) |
† | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | ||||||||||||||||||
M_DEFAULT |
Same as M_DISABLE. |
† | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | ||||||||||||||||||
M_DISABLE |
Specifies not to saturate results, except when MIL can take advantage of optimization routines to accelerate the processing. (more details...) |
† | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | ||||||||||||||||||
M_ENABLE |
Specifies to saturate results. (more details...) |
† | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s |
For M_KERNEL data buffers only, you can set this parameter to one of the following values.
For the operation settings of M_KERNEL
data buffers
|
|||||||||||||||||||||||||||||||||||||||
OperationControlType |
Description
|
||||||||||||||||||||||||||||||||||||||
OperationValue | |||||||||||||||||||||||||||||||||||||||
M_FILTER_MODE |
Sets the mode in which to apply the filter. INQ (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DEFAULT |
Same as M_KERNEL. |
||||||||||||||||||||||||||||||||||||||
M_KERNEL |
Specifies the use of a non-recursive implementation of the filter. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_RECURSIVE |
Specifies the use of a recursive implementation of an Infinite Impulse Response (IIR) filter, when applicable. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_FILTER_OPERATION |
Sets the type of neighborhood operation to perform using the selected filter. INQ (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DEFAULT |
Same as M_SMOOTH. |
||||||||||||||||||||||||||||||||||||||
M_EDGE_DETECT |
Computes the gradient of the image using the Shen-Castan or Canny-Deriche filter. |
||||||||||||||||||||||||||||||||||||||
M_EDGE_DETECT_SQR |
Computes the square of the gradient of the image using the Shen-Castan or Canny-Deriche filter. |
||||||||||||||||||||||||||||||||||||||
M_FIRST_DERIVATIVE_X |
Computes the first derivative of the image with respect to X using the Shen-Castan or Canny-Deriche filter. |
||||||||||||||||||||||||||||||||||||||
M_FIRST_DERIVATIVE_Y |
Computes the first derivative of the image with respect to Y using the Shen-Castan or Canny-Deriche filter. |
||||||||||||||||||||||||||||||||||||||
M_HORIZ_EDGE |
Computes the absolute value of the horizontal derivative of the image using the Shen-Castan or Canny-Deriche filter. |
||||||||||||||||||||||||||||||||||||||
M_LAPLACIAN_EDGE |
Computes the Laplacian values of the image using the Shen-Castan or Canny-Deriche filter. |
||||||||||||||||||||||||||||||||||||||
M_SECOND_DERIVATIVE_X |
Computes the second derivative of the image with respect to X using the Shen-Castan or Canny-Deriche filter. |
||||||||||||||||||||||||||||||||||||||
M_SECOND_DERIVATIVE_XY |
Computes the second derivative of the image with respect to X and Y using the Shen-Castan or Canny-Deriche filter. |
||||||||||||||||||||||||||||||||||||||
M_SECOND_DERIVATIVE_Y |
Computes the second derivative of the image with respect to Y using the Shen-Castan or Canny-Deriche filter. |
||||||||||||||||||||||||||||||||||||||
M_SHARPEN |
Performs a sharpening operation on the image using the Shen-Castan or Canny-Deriche filter. |
||||||||||||||||||||||||||||||||||||||
M_SMOOTH |
Performs a smoothing operation on the image using the Shen-Castan or Canny-Deriche filter. |
||||||||||||||||||||||||||||||||||||||
M_VERT_EDGE |
Computes the absolute value of the vertical derivative of the image using the Shen-Castan or Canny-Deriche filter. |
||||||||||||||||||||||||||||||||||||||
M_FILTER_SMOOTHNESS |
Sets the degree of smoothness (strength of denoising) applied by the filter during the neighborhood operation. INQ (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DEFAULT |
Specifies the default value; the default value is 50.0. |
||||||||||||||||||||||||||||||||||||||
0 <= Value <= 100 |
Specifies the smoothness value. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_FILTER_TYPE |
Sets the type of filter used to perform the neighborhood operation. INQ (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DEFAULT |
Same as M_USER_DEFINED. |
||||||||||||||||||||||||||||||||||||||
M_DERICHE |
Specifies a Canny-Deriche Infinite Support filter. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_SHEN |
Specifies a Shen-Castan Infinite Support Exponential filter. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_USER_DEFINED |
Specifies a user-defined filter. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_NORMALIZATION_FACTOR |
Sets the normalization factor to apply to the result. INQ (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DEFAULT |
Specifies the default value; the default value is 1. |
||||||||||||||||||||||||||||||||||||||
Value > 0 |
Specifies the normalization factor. (more details...) |
Header | Include mil.h. |
Library | Use mil.lib. |
DLL | Requires mil.dll. |