The IMAGE_STATISTICS procedure computes sample statistics for a given array of values. An optional mask may be specified to restrict computations to a spatial subset of the input data.
Example
Copy and paste the following code at the IDL command line to see an example of using IMAGE_STATISTICS.
place = FILEPATH('glowing_gas.jpg', SUBDIR=['examples', 'data'])
READ_JPEG, place, picture
IMAGE_STATISTICS, picture, MAXIMUM=ma, MINIMUM=mi, MEAN=me, $
STDDEV=s, SUM_OF_SQUARES=sos, VARIANCE=v
im = IMAGE(picture)
t1 = TEXT(160, 355, 'Max: '+string(ma), COLOR='white', /DATA)
t2 = TEXT(160, 330, 'Min: '+string(mi), COLOR='white', /DATA)
t3 = TEXT(160, 305, 'Mean: '+string(me), COLOR='white', /DATA)
t4 = TEXT(160, 280, 'SD: '+string(s), COLOR='white', /DATA)
t5 = TEXT(160, 255, 'Sum_Sqs: '+string(sos), COLOR='white', /DATA)
t6 = TEXT(160, 230, 'Var: '+string(v), COLOR='white', /DATA)
Syntax
IMAGE_STATISTICS, Data [, COUNT=variable] [, DATA_SUM=variable] [, /LABELED] [, LUT=array] [, MASK=array] [, MAXIMUM=variable] [, MEAN=variable] [, MINIMUM=variable] [, STDDEV=variable] [, SUM_OF_SQUARES=variable] [, VARIANCE=variable] [, /VECTOR] [, WEIGHT_SUM=variable] [, /WEIGHTED]
Arguments
Data
An N-dimensional input data array.
Keywords
COUNT
Set this keyword to a named variable to contain the number of samples that correspond to nonzero values within the mask.
DATA_SUM
Set this keyword to a named variable to contain the sum of the samples that lie within the mask.
LABELED
When set, this keyword indicates values in the mask representing region labels, where each pixel of the mask is set to the index of the region in which that pixel belongs (see the LABEL_REGION function. If the LABELED keyword is set, each statistic’s value is computed for each region index. Thus, a vector containing the results is provided for each statistic with one element per region. By default, this keyword is set to zero, indicating that all samples with a corresponding nonzero mask value are used to form a scalar result for each statistic.
Note: The LABELED keyword cannot be used with either the WEIGHT_SUM or the WEIGHTED keywords.
LUT
Set this keyword to a one-dimensional array. For non-floating point input Data, the pixel values are looked up through this table before being used in any of the statistical computations. This allows an integer image array to be calibrated to any user specified intensity range for the sake of calculations. The length of this array must include the range of the input array. This keyword may not be set with floating point input data. When signed input data types are used, they are first cast to the corresponding IDL unsigned type before being used to access this array. For example, the integer value –1 looks up the value 65535 in the LUT array.
MASK
An array of N, or N–1 (when the VECTOR keyword is used) dimensions representing the mask array. If the LABELED keyword is set, MASK contains the region indices of each pixel; otherwise statistics are only computed for data values where the MASK array is non-zero.
MAXIMUM
Set this keyword to a named variable to contain the maximum value of the samples that lie within the mask.
MEAN
Set this keyword to a named variable to contain the mean of the samples that lie within the mask.
MINIMUM
Set this keyword to a named variable to contain the minimum value of the samples that lie within the mask.
STDDEV
Set this keyword to a named variable to contain the standard deviation of the samples that lie within the mask.
SUM_OF_SQUARES
Set this keyword to a named variable to contain the sum of the squares of the samples that lie within the mask.
VARIANCE
Set this keyword to a named variable to contain the variance of the samples that lie within the mask.
VECTOR
Set this keyword to specify that the leading dimension of the input array is not to be considered spatial but consists of multiple data values at each pixel location. In this case, the leading dimension is treated as a vector of samples at the spatial location determined by the remainder of the array dimensions.
WEIGHT_SUM
Set the WEIGHT_SUM keyword to a named variable to contain the sum of the weights in the mask.
Note: The WEIGHT_SUM keyword cannot be used if the LABELED keyword is specified.
WEIGHTED
If the WEIGHTED keyword is set, the values in the MASK array are used to weight individual pixels with respect to their count value. If a MASK array is not provided, all pixels are assigned a weight of 1.0.
Note: The WEIGHTED keyword cannot be used if the LABELED keyword is specified.
Version History