Computes the integral of a pixel image.
integral(f, domain=NULL, …)# S3 method for im
integral(f, domain=NULL, …)
A pixel image (object of class "im"
) with pixel values
that can be treated as numeric or complex values.
Optional. Window specifying the domain of integration. Alternatively a tessellation.
Ignored.
A single numeric or complex value (or a vector of such values
if domain
is a tessellation).
The function integral
is generic, with methods
for "im"
, "msr"
, "linim"
and "linfun"
.
The method integral.im
treats the pixel image f
as a function of
the spatial coordinates, and computes its integral.
The integral is calculated
by summing the pixel values and multiplying by the area of one pixel.
The pixel values of f
may be numeric, integer, logical or
complex. They cannot be factor or character values.
The logical values TRUE
and FALSE
are converted to
1
and 0
respectively, so that the integral of a logical
image is the total area of the TRUE
pixels, in the same units
as unitname(x)
.
If domain
is a window (class "owin"
) then the integration
will be restricted to this window. If domain
is a tessellation
(class "tess"
) then the integral of f
in each
tile of domain
will be computed.
# NOT RUN {
# approximate integral of f(x,y) dx dy
f <- function(x,y){3*x^2 + 2*y}
Z <- as.im(f, square(1))
integral.im(Z)
# correct answer is 2
# integrate over the subset [0.1,0.9] x [0.2,0.8]
W <- owin(c(0.1,0.9), c(0.2,0.8))
integral.im(Z, W)
# }
Run the code above in your browser using DataLab