Converts a line segment pattern to a pixel image by measuring the length or number of lines intersecting each pixel.
# S3 method for psp
pixellate(x, W=NULL, ..., weights = NULL,
what=c("length", "number"),
DivideByPixelArea=FALSE)
A pixel image (object of class "im"
) with numeric values.
Line segment pattern (object of class "psp"
).
Optional window (object of class "owin"
) determining
the pixel resolution.
Optional arguments passed to as.mask
to determine
the pixel resolution.
Optional vector of weights associated with each line segment.
String (partially matched) indicating whether to compute the
total length of intersection (what="length"
, the default)
or the total number of segments intersecting each pixel
(what="number"
).
Logical value, indicating whether the resulting pixel values should be divided by the pixel area.
Adrian Baddeley Adrian.Baddeley@curtin.edu.au, Rolf Turner rolfturner@posteo.net and Ege Rubak rubak@math.aau.dk.
This function converts a line segment pattern to a pixel image by computing, for each pixel, the total length of intersection between the pixel and the line segments. Alternatively it can count the number of line segments intersecting each pixel.
This is a method for the generic function
pixellate
for the class of line segment patterns.
The pixel raster is determined by W
and the optional arguments ...
.
If W
is missing or NULL
, it defaults to the window
containing x
.
Then W
is converted to a
binary pixel mask using as.mask
. The arguments
...
are passed to as.mask
to
control the pixel resolution.
If weights
are given, then the length of the intersection
between line segment i
and pixel j
is multiplied by
weights[i]
before the lengths are summed for each pixel.
pixellate
,
as.mask
,
psp2mask
.
Use psp2mask
if you only want to know
which pixels are intersected by lines.
X <- psp(runif(10),runif(10), runif(10), runif(10), window=owin())
plot(pixellate(X))
plot(X, add=TRUE)
sum(lengths_psp(X))
sum(pixellate(X))
plot(pixellate(X, what="n"))
Run the code above in your browser using DataLab