imstatistics -- compute and print image pixel statistics
- The input images or image sections for which pixel statistics are to be computed.
- fields = "image,npix,mean,stddev,min,max"
- The statistical quantities to be computed and printed.
- lower = INDEF
- The minimum good data limit. All pixels are above the default value of INDEF.
- upper = INDEF
- The maximum good data limit. All pixels are above the default value of INDEF.
- nclip = 0
- The maximum number of iterative clipping cycles. By default no clipping is performed.
- lsigma = 3.0
- The low side clipping factor in sigma.
- usigma = 3.0
- The high side clipping factor in sigma.
- binwidth = 0.1
- The width of the histogram bins used for computing the midpoint (estimate of the median) and the mode. The units are in sigma.
- format = yes
- Label the output columns and print the result in fixed format. If format is "no" no column labels are printed and the output is in free format.
- cache = no
- Cache the image data in memory ? This can increase the efficiency of the task if nclip > 0 or either of the midpt and mode statistics are computed.
The statistical quantities specified by the parameter fields are computed and printed for each image in the list specified by images . The results are printed in tabular form with the fields listed in the order they are specified in the fields parameter. The available fields are the following.
image - the image name npix - the number of pixels used to do the statistics mean - the mean of the pixel distribution midpt - estimate of the median of the pixel distribution mode - the mode of the pixel distribution stddev - the standard deviation of the pixel distribution skew - the skew of the pixel distribution kurtosis - the kurtosis of the pixel distribution min - the minimum pixel value max - the maximum pixel value
The mean, standard deviation, skew, kurtosis, min and max are computed in a single pass through the image using the expressions listed below. Only the quantities selected by the fields parameter are actually computed.
mean = sum (x1,...,xN) / N y = x - mean variance = sum (y1 ** 2,...,yN ** 2) / (N-1) stddev = sqrt (variance) skew = sum ((y1 / stddev) ** 3,...,(yN / stddev) ** 3) / (N-1) kurtosis = sum ((y1 / stddev) ** 4,...,(yN / stddev) ** 4) / (N-1) - 3
The midpoint and mode are computed in two passes through the image. In the first pass the standard deviation of the pixels is calculated and used with the binwidth parameter to compute the resolution of the data histogram. The midpoint is estimated by integrating the histogram and computing by interpolation the data value at which exactly half the pixels are below that data value and half are above it. The mode is computed by locating the maximum of the data histogram and fitting the peak by parabolic interpolation.
1. To find the number of pixels, mean, standard deviation and the minimum and maximum pixel value of a bias region in an image.
cl> imstat flat*[*,1] # IMAGE NPIX MEAN STDDEV MIN MAX flat1[*,1] 800 999.5 14.09 941. 1062. flat2[*,1] 800 999.4 28.87 918. 1413.
The string "flat*" uses a wildcard to select all images beginning with the word flat. The string "[*,1]" is an image section selecting row 1.
2. Compute the mean, midpoint, mode and standard deviation of a pixel distribution.
cl> imstat m51 fields="image,mean,midpt,mode,stddev" # IMAGE PIXELS MEAN MIDPT MODE STDDEV M51 262144 108.3 88.75 49.4 131.3
When using a very large number of pixels the accumulation of the sums of the pixel values to the various powers may encounter roundoff error. This is significant when the true standard deviation is small compared to the mean.