laslett(X, ..., verbose = FALSE, plotit = TRUE, discretise = FALSE, type=c("lower", "upper", "left", "right"))
"owin"
) or a logical-valued pixel
image (object of class "im"
).
plot.laslett
when plotit=TRUE
)
or arguments determining the pixel resolution
(passed to as.mask
).
TRUE
for very complicated
polygons.
type="lower"
.
"laslett"
so that it can immediately be printed and plotted.The list elements are:
X
,
then applies Laslett's Transform to the space,
and records the transformed positions of the lower tangent points.Laslett's transform is a diagnostic for the Boolean Model. A test of the Boolean model can be performed by applying a test of CSR to the transformed tangent points. See the Examples.
The rationale is that, if the region X
was generated by a
Boolean model with convex grains, then the lower tangent points of
X
, when subjected to Laslett's transform,
become a Poisson point process (Cressie, 1993, section 9.3.5;
Molchanov, 1997; Barbour and Schmidt, 2001).
Intuitively, Laslett's transform is a way to account for the fact that
tangent points of X
cannot occur inside X
.
It treats the interior of X
as empty space, and collapses
this empty space so that only the exterior of X
remains.
In this collapsed space, the tangent points are completely random.
Formally, Laslett's transform is a random (i.e. data-dependent)
spatial transformation which maps each spatial
location $(x,y)$ to a new location $(x',y)$ at the same height
$y$. The transformation is defined so that $x'$
is the total uncovered length of the line segment from $(0,y)$ to
$(x,y)$, that is, the total length of the parts of this segment that
fall outside the region X
.
In more colourful terms, suppose we use an abacus to display a
pixellated version of X
. Each wire of the abacus represents one
horizontal line in the pixel image. Each pixel lying outside
the region X
is represented by a bead of the abacus; pixels
inside X
are represented by the absence of a bead. Next
we find any beads which are lower tangent points of X
, and
paint them green. Then Laslett's Transform is applied by pushing all
beads to the left, as far as possible. The final locations of all the
beads provide a new spatial region, inside which is the point pattern
of tangent points (marked by the green-painted beads).
If plotit=TRUE
(the default), a before-and-after plot is
generated, showing the region X
and the tangent points
before and after the transformation. This plot can also be generated
by calling plot(a)
where a
is the object returned by
the function laslett
.
If the argument type
is given, then this determines the
type of tangents that will be detected, and also the direction of
contraction in Laslett's transform. The computation is performed
by first rotating X
, applying Laslett's transform for lower
tangent points, then rotating back.
There are separate algorithms for polygonal windows and
pixellated windows (binary masks). The polygonal algorithm may be slow
for very complicated polygons. If this happens, setting
discretise=TRUE
will convert the polygonal window to a binary
mask and invoke the pixel raster algorithm.
Cressie, N.A.C. (1993) Statistics for spatial data, second edition. John Wiley and Sons.
Molchanov, I. (1997) Statistics of the Boolean Model for Practitioners and Mathematicians. Wiley.
plot.laslett
a <- laslett(heather$coarse)
with(a, clarkevans.test(TanNew[Rect], correction="D", nsim=39))
X <- discs(runifpoint(15) %mark% 0.2, npoly=16)
b <- laslett(X)
Run the code above in your browser using DataLab