Learn R Programming

spatstat (version 1.23-1)

crossdist.psp: Pairwise distances between two different line segment patterns

Description

Computes the distances between all pairs of line segments taken from two different line segment patterns.

Usage

## S3 method for class 'psp':
crossdist(X, Y, \dots, method="Fortran", type="Hausdorff")

Arguments

X,Y
Line segment patterns (objects of class "psp").
...
Ignored.
method
String specifying which method of calculation to use. Values are "Fortran" and "interpreted".
type
Type of distance to be computed. Options are "Hausdorff" and "separation". Partial matching is used.

Value

  • A matrix whose [i,j] entry is the distance from the i-th line segment in X to the j-th line segment in Y.

Details

This is a method for the generic function crossdist.

Given two line segment patterns, this function computes the distance from each line segment in the first pattern to each line segment in the second pattern, and returns a matrix containing these distances.

The distances between line segments are measured in one of two ways:

  • iftype="Hausdorff", distances are computed in the Hausdorff metric. The Hausdorff distance between two line segments is themaximumdistance from any point on one of the segments to the nearest point on the other segment.
  • iftype="separation", distances are computed as theminimumdistance from a point on one line segment to a point on the other line segment. For example, line segments which cross over each other have separation zero.
The argument method is not normally used. It is retained only for checking the validity of the software. If method = "interpreted" then the distances are computed using interpreted R code only. If method="Fortran" (the default) then Fortran code is used. The Fortran code is several times faster.

See Also

pairdist, nndist, Gest

Examples

Run this code
L1 <- psp(runif(5), runif(5), runif(5), runif(5), owin())
   L2 <- psp(runif(10), runif(10), runif(10), runif(10), owin())
   D <- crossdist(L1, L2)
   #result is a 5 x 10 matrix
   S <- crossdist(L1, L2, type="sep")

Run the code above in your browser using DataLab