Find maximum values in input or sequence of inputs
Statistics
visionstatistics
The 2D Maximum block identifies the value and/or position of the smallest element in each row or column of the input, or along a specified dimension of the input. The 2D Maximum block can also track the maximum values in a sequence of inputs over a period of time.
The 2D Maximum block supports real and complex floatingpoint,
fixedpoint, and Boolean inputs. Real fixedpoint inputs can be either
signed or unsigned, while complex fixedpoint inputs must be signed.
The output data type of the maximum values match the data type of
the input. The block outputs double
index
values, when the input is double
, and uint32
otherwise.
Port  Input/Output  Supported Data Types 

Input  Scalar, vector or matrix of intensity values 

Rst  Scalar value 

Val  Maximum value output based on the Value Mode 

Idx  Onebased output location of the maximum value based on the Index Mode 

When you set the Mode parameter to Value
,
the block computes the maximum value in each row or column of the
input, along vectors of a specified dimension of the input, or of
the entire input at each sample time, and outputs the array y.
Each element in y is the maximum value in the corresponding
column, row, vector, or entire input. The output y depends
on the setting of the Find the maximum value over parameter.
For example, consider a 3dimensional input signal of size MbyNbyP:
Each row
— The output
at each sample time consists of an Mby1byP array,
where each element contains the maximum value of each vector over
the second dimension of the input. For an MbyN input
matrix, the block outputs an Mby1 column vector
at each sample time.
Each column
— The
output at each sample time consists of a 1byNbyP array,
where each element contains the maximum value of each vector over
the first dimension of the input. For an MbyN input
matrix, the block outputs a 1byN row vector at
each sample time.
In this mode, the block treats lengthM unoriented vector inputs as Mby1 column vectors.
Entire input
— The
output at each sample time is a scalar that contains the maximum value
in the MbyNbyP input
matrix.
Specified dimension
— The output at each
sample time depends on Dimension.
When
you set Dimension to 1
, the
block output is the same as when you select Each
column
. When you set Dimension to
2
, the block output is the same as when you
select Each row
. When you set
Dimension to 3
, the block
outputs an MbyN matrix containing
the maximum value of each vector over the third dimension of the input, at
each sample time.
For complex inputs, the block selects the value in each row or column of the input, along vectors of a specified dimension of the input, or of the entire input that has the maximum magnitude squared as shown below. For complex value $$u=a+bi$$, the magnitude squared is $${a}^{2}+{b}^{2}$$.
When you set the Mode parameter to Index
,
the block computes the maximum value in each row or column of the
input, along vectors of a specified dimension of the input, or of
the entire input, and outputs the index array I.
Each element in I is an integer indexing the maximum
value in the corresponding column, row, vector, or entire input. The
output I depends on the setting of the Find
the maximum value over parameter. For example, consider
a 3dimensional input signal of size MbyNbyP:
Each row
— The output
at each sample time consists of an Mby1byP array,
where each element contains the index of the maximum value of each
vector over the second dimension of the input. For an input that is
an MbyN matrix, the output
at each sample time is an Mby1 column vector.
Each column
— The
output at each sample time consists of a 1byNbyP array,
where each element contains the index of the maximum value of each
vector over the first dimension of the input. For an input that is
an MbyN matrix, the output
at each sample time is a 1byN row vector.
In this mode, the block treats lengthM unoriented vector inputs as Mby1 column vectors.
Entire input
— The
output at each sample time is a 1by3 vector that contains the location
of the maximum value in the MbyNbyP input
matrix. For an input that is an MbyN matrix,
the output will be a 1by2 vector of onebased [x y] location coordinates
for the maximum value.
Specified dimension
— The output at each
sample time depends on Dimension. If
Dimension is set to 1
, the
output is the same as when you select Each
column
. If Dimension is set to
2
, the output is the same as when you select
Each row
. If Dimension
is set to 3
, the output at each sample time is an
MbyN matrix containing the
indices of the maximum values of each vector over the third dimension of the
input.
When a maximum value occurs more than once, the computed index
corresponds to the first occurrence. For example, when the input is
the column vector [3 2 1 2 3]'
, the computed onebased
index of the maximum value is 1
rather than 5
when Each
column
is selected.
When inputs to the block are doubleprecision values, the index values are doubleprecision values. Otherwise, the index values are 32bit unsigned integer values.
When you set the Mode parameter to Value
and Index
, the block outputs both the maxima and the
indices.
When you set the Mode parameter to Running
,
the block tracks the maximum value of each channel in a time sequence
of MbyN inputs. In this mode,
the block treats each element as a channel.
The block resets the running maximum whenever a reset event is detected at the optional Rst port. The reset sample time must be a positive integer multiple of the input sample time.
You specify the reset event in the Reset port menu:
None
— Disables the Rst port.
Rising edge
— Triggers
a reset operation when the Rst input does one of the following:
Rises from a negative value to a positive value or zero
Rises from zero to a positive value, where the rise is not a continuation of a rise from a negative value to zero (see the following figure)
Falling edge
— Triggers a reset
operation when the Rst
input does one of the
following:
Falls from a positive value to a negative value or zero
Falls from zero to a negative value, where the fall is not a continuation of a fall from a positive value to zero (see the following figure)
Either edge
— Triggers
a reset operation when the Rst
input is a Rising
edge
or Falling edge
(as
described above)
Nonzero sample
—
Triggers a reset operation at each sample time that the Rst
input
is not zero
When running simulations in the Simulink^{®} MultiTasking
mode,
reset signals have a onesample latency. Therefore, when the block
detects a reset event, there is a onesample delay at the reset port
rate before the block applies the reset.
To calculate the statistical value within a particular region
of interest (ROI) of the input, select the Enable ROI processing check
box. This applies to any mode other than running mode and when you
set the Find the maximum value over parameter
to Entire input
and you select the Enable
ROI processing check box. ROI processing applies only for
2D inputs.
You can specify Rectangles
, Lines
,
Label matrix
, or Binary
mask
ROI type.
Use the Binary mask
to specify which pixels to highlight or
select.
Use the
Label matrix
to label regions. Pixels set to
0
represent the background. Pixels set to
1
represent the first object, pixels set to
2
, represent the second object, and so on. Use the
Label Numbers port to specify the objects in the label
matrix for which the block calculates statistics. The input to this port must be a
vector of scalar values that correspond to the labeled regions in the label matrix.
For rectangular ROIs, use the ROI portion to process parameter to specify whether to calculate the statistical value for the entire ROI or just the ROI perimeter. For more information about the format of the input to the ROI port when you set the ROI to a rectangle or a line, see the Draw Shapes block reference page.
Output = Individual statistics for each ROI
Flag Port Output  Description 

0  ROI is completely outside the input image. 
1  ROI is completely or partially inside the input image. 
Output = Single statistic for all ROIs
Flag Port Output  Description 

0  All ROIs are completely outside the input image. 
1  At least one ROI is completely or partially inside the input image. 
If the ROI is partially outside the image, the block only computes the statistical values for the portion of the ROI that is within the image.
Output = Individual statistics for each ROI
Flag Port Output  Description 

0  Label number is not in the label matrix. 
1  Label number is in the label matrix. 
Output = Single statistic for all ROIs
Flag Port Output  Description 

0  None of the label numbers are in the label matrix. 
1  At least one of the label numbers is in the label matrix. 
The parameters on the Data Types pane of the block dialog are only used for complex fixedpoint inputs. The sum of the squares of the real and imaginary parts of such an input are formed before a comparison is made, as described in Value Mode. The results of the squares of the real and imaginary parts are placed into the product output data type. The result of the sum of the squares is placed into the accumulator data type. These parameters are ignored for other types of inputs.
Specify the block's mode of operation:
Value and Index
— Output both
the value and the index location.
Value
— Output the maximum value
of each input matrix. For more information, see Value Mode.
Index
— Output the onebased
index location of the maximum value. For more information, see Index Mode.
Running
— Track the maximum
value of the input sequence over time. For more information, see
Running Mode.
For the Value
, Index
, and
Value and Index
modes, the 2D Maximum block
produces identical results as the MATLAB^{®}
max
function when it is
called as [y I] = max(u,[],D)
, where u
and y
are the input and output, respectively,
D is the dimension, and I is the
index.
Specify whether the block should find the maximum of the entire input each row, each column, or dimensions specified by the Dimension parameter.
Specify the reset event that causes the block to reset the running
maximum. The rate of the reset signal must be a positive integer multiple of
the rate of the data signal input. This parameter appears only when you set
the Mode parameter to
Running
. For information about the possible
values of this parameter, see Resetting the Running Maximum.
Specify the dimension (onebased value) of the input signal, over which
the maximum is computed. The value of this parameter cannot exceed the
number of dimensions in the input signal. This parameter applies only when
you set the Find the maximum value over parameter to
Specified dimension
.
Select this check box to calculate the statistical value within a
particular region of each image. This parameter applies only when you set
the Find the maximum value over parameter to
Entire input
, and the block is not in running
mode.
Specify the type of ROI you want to use. Your choices are
Rectangles
, Lines
,
Label matrix
, or Binary
mask
.
When you set this parameter to Rectangles
or
Lines
, the Output flag indicating
if ROI is within image bounds check box appears in the dialog
box. If you select this check box, the Flag port
appears on the block.
When you set this parameter to Label matrix
,
the Label and Label Numbers ports
appear on the block and the Output flag indicating if input label
numbers are valid check box appears in the dialog box. If you
select this check box, the Flag port appears on the block.
See ROI Output Statistics for details.
Specify whether you want to calculate the statistical value for the entire
ROI or just the ROI perimeter. This parameter applies only when you set the
ROI type parameter to
Rectangles
.
Specify the block output. The block can output a vector of separate
statistical values for each ROI or a scalar value that represents the
statistical value for all the specified ROIs. This parameter does not apply
when you set the ROI type parameter, to
Binary mask
.
When you select this check box, the Flag port appears
on the block. This check box applies only when you set the ROI
type parameter to Rectangles
or
Lines
. For a description of the
Flag port output, see the tables in ROI Processing.
When you select this check box, the Flag port
appears on the block. This check box applies only when you set the ROI
type parameter to Label matrix
.
For a description of the Flag port output, see
the tables in ROI Processing.
The parameters on the Data Types pane are only used for complex fixedpoint inputs. The sum of the squares of the real and imaginary parts of such an input are formed before a comparison is made, as described in Value Mode. The results of the squares of the real and imaginary parts are placed into the product output data type. The result of the sum of the squares is placed into the accumulator data type. These parameters are ignored for other types of inputs.
Select the Rounding Modes for fixedpoint operations.
Select the overflow mode for fixedpoint operations. See Precision and Range.
Specify the product output data type. See FixedPoint Data Types and Multiplication Data Types for illustrations depicting the use of the product output data type in this block. You can set it to:
A rule that inherits a data type, for example, Inherit:
Same as input
An expression that evaluates to a valid data type, for example,
fixdt([],16,0)
Click the Show data type assistant button to display the Data Type Assistant, which helps you set the Product output data type parameter.
See Specify Data Types Using Data Type Assistant (Simulink) for more information.
Specify the accumulator data type. See FixedPoint Data Types for illustrations depicting the use of the accumulator data type in this block. You can set this parameter to:
A rule that inherits a data type, for example, Inherit:
Same as product output
An expression that evaluates to a valid data type, for example,
fixdt([],16,0)
Click the Show data type assistant button to display the Data Type Assistant, which helps you set the Accumulator data type parameter.
See Specify Data Types Using Data Type Assistant (Simulink) for more information.
Select this parameter to prevent the fixedpoint tools from overriding the data types you specify on the block mask.
The ex_vision_2dmaximum example finds the maximum value within two ROIs. The model outputs the maximum values and their onebased [x y] coordinate locations.
2D Mean  Computer Vision Toolbox 
2D Minimum  Computer Vision Toolbox 
MinMax  Simulink 
max  MATLAB 