| integral.im | R Documentation |
Computes the integral of a pixel image.
## S3 method for class 'im'
integral(f, domain=NULL, weight=NULL, ...)
f |
A pixel image (object of class |
domain |
Optional. Window specifying the domain of integration. Alternatively a tessellation. |
... |
Ignored. |
weight |
Optional. A pixel image (object of class |
The function integral is generic, with methods
for spatial objects
("im", "msr", "linim", "linfun")
and one-dimensional functions ("density", "fv").
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.
If weight is given, it should be a pixel image or a function of
coordinates x and y returning numerical values.
Then each pixel value of f
will be multiplied by the corresponding value of weight.
Effectively, the result is the integral of weight * f.
A single numeric or complex value (or a vector of such values
if domain is a tessellation).
.
integral,
eval.im,
[.im
# approximate integral of f(x,y) dx dy
f <- function(x,y){3*x^2 + 2*y}
Z <- as.im(f, square(1))
integral(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(Z, W)
# weighted integral
integral(Z, weight=function(x,y){x})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.