RELEASE NOTES
spatstat 1.62-1
08 December 2019
We thank Mohammad Ghorbani, Ute Hahn, Abdollah Jalilian, Nestor Luambua, Greg McSwiggan, Annie Mollie and Jakob Gulddahl Rasmussen for contributions.
OVERVIEW
-
spatstat now requires spatstat.utils version 1.15-0
and goftest version 1.2-2. -
Nearest Neighbour Index function can now return mark values.
-
Important fix in Ripley isotropic correction.
-
Index of repulsion strength for determinantal point process models.
-
Nearest neighbours between two point patterns in any number of dimensions.
-
More options for handling bad simulation outcomes in envelope().
-
Bandwidth selectors warn about extreme values of bandwidth.
-
Tessellations on a linear network can now have marks.
-
New functions for simulating point processes on a linear network.
-
More functions for manipulating tessellations on a linear network.
-
mppm accepts case weights.
-
Bug fixes and minor improvements.
-
Nickname: ‘An update which will live in infamy’
NEW FUNCTIONS
-
repul
Repulsiveness index for a determinantal point process model. -
reach.kppm
Reach (interaction distance) for a Cox or cluster point process model. -
summary.dppm, print.summary.dppm
Summary method for determinantal point process models. -
nncross.ppx
Nearest neighbours between two point patterns in any number of dimensions. -
uniquemap.matrix
Method for uniquemap for matrices. -
repairNetwork
Detect and repair inconsistencies in internal data
in a linnet or lpp object. -
marks<-.lintess, unmark.lintess
Assign marks to the tiles of a tessellation on a linear network. -
marks.lintess
Extract the marks of the tiles of a tessellation on a linear network. -
tilenames.lintess
Extract the names of the tiles in a tessellation on a linear network -
tilenames<-.lintess
Change the names of the tiles in a tessellation on a linear network -
nobjects.lintess
Count the number of tiles in a tessellation on a linear network -
as.data.frame.lintess
Convert a tessellation on a linear network into a data frame. -
rcelllpp
Simulate the cell point process on a linear network -
rSwitzerlpp
Simulate the Switzer-type point process on a linear network -
intersect.lintess
Form the intersection of two tessellations on a linear network -
chop.linnet
Divide a linear network into tiles using infinite lines
SIGNIFICANT USER-VISIBLE CHANGES
-
lintess
New argument ‘marks’
Tessellations can now have marks. -
tilenames, tilenames<-
These functions are now generic, with methods for ‘tess’ and ‘lintess’ -
mppm
New argument ‘weights’ specifies case weights for each row of data. -
unstack.lintess
Now handles marks. -
plot.lintess
Modified to display the marks attached to the tiles.
Changed options: style=c(“colour”, “width”, “image”). -
as.linfun.lintess
The default function values are the marks. -
print.lintess, summary.lintess, print.summary.lintess
Output now includes information about marks. -
nnfun.ppp, nnfun.psp, nnfun.lpp
New argument ‘value’ specifies whether to return the index of the
nearest neighbour or the mark value of the nearest neighbour. -
envelope.ppp, envelope.ppm, envelope.kppm, envelope.pp3
New arguments ‘rejectNA’ and ‘silent’. -
envelope.lpp, envelope.lppm
New arguments ‘maxnerr’, ‘rejectNA’ and ‘silent’. -
plot.psp
New argument ‘col’ gives control over the colour map
representing the values of marks attached to the segments. -
plot.im
Some warnings are suppressed when do.plot=FALSE. -
plot.linim
New explicit argument ‘box’ determines whether to plot a bounding box.
Default is now FALSE in all cases. -
Kest, Kinhom, pcf, pcfinhom, edge.Ripley
Calculation of isotropic edge correction for polygonal windows
has changed slightly. Results are believed to be more accurate.
Computation has been accelerated by about 20 percent in typical cases. -
bw.diggle, bw.ppl, bw.lppl, bw.pcf, bw.CvL, bw.voronoi
A warning is issued if the optimal value of the cross-validation criterion
occurs at an endpoint of the search interval.
New argument ‘warn’. -
mad.test, dclf.test, dg.test, bits.test
Function values which are infinite, NA or NaN are now ignored
in the calculation (with a warning) instead of causing an error.
Warning messages are more detailed. -
rmhcontrol, rmh
The parameter ‘nsave’ can now be a vector of integers. -
diagnose.ppm
Accelerated, when type=”inverse”, for models without a hard core. -
uniquemap.data.frame
Accelerated for some cases. -
vcov.ppm, vcov.mppm
New argument ‘nacoef.action’ specifies what to do if
some of the fitted coefficients are NA, NaN or Inf. -
Lest, Linhom, Ldot, Lcross, Ldot.inhom, Lcross.inhom
These summary functions now have an explicit argument ‘correction’.
Behaviour is unchanged. -
bugfixes
Arguments sinceversion=”book” or sincedate=”book”
are interpreted to give all bugs reported after publication
of the spatstat book. -
cbind.hyperframe, rbind.hyperframe
The result now retains the row.names of the original arguments. -
print.summary.owin
More information is printed. -
append.psp
Arguments may be NULL. -
as.psp
Now permits a data frame of marks to have only one column,
instead of coercing it to a vector.
BUG FIXES
-
as.linnet.psp
Sometimes produced a network with duplicated segments.
[Such objects can be repaired using ‘repairNetwork’.]
Fixed. -
edge.Ripley, Kest, Kinhom
Isotropic correction weights for polygonal windows were sometimes incorrect
for small radius ‘r’ if the polygon contained many small segments
[spotted by Annie Mollie] or if the polygon was very long and thin
[spotted by Nestor Luambua]. Problem arose in spatstat 1.60-0.
Fixed. -
lppm
Did not correctly handle the case where the left-hand side of the formula
is the name of an entry in the ‘data’ argument.
Fixed. -
plot.lpp
Did not correctly handle the argument ‘which.marks’.
Fixed. -
plot.im
Did not correctly handle the argument ‘ribargs$at’.
Fixed. -
density.lpp
Sometimes requested a larger value of ‘iterMax’ but ignored it.
Fixed. -
[.linnet, [.lpp
Crashed if x contained inconsistent internal data
(when index ‘j’ was a window, and snip=TRUE).
Fixed. -
plot.linim
Crashed if the pixel values were complex numbers.
Fixed. -
plot.linfun
Crashed if the function values were complex numbers.
Fixed. -
integral.linim, mean.linim
Crashed if the image had logical values.
Fixed. -
Re, Im, Arg, Mod, Conj
For pixel images on a linear network (class ‘linim’)
these operations crashed if the pixel values were complex numbers. -
studpermu.test
Crashed if the hyperframe was very large.
Fixed. -
studpermu.test
Crashed in some cases when the simulated functions were
incompatible with each other, due to the use of different edge
corrections.
Fixed. -
vcov.ppm, print.ppm, summary.ppm
Crashed in some cases if the fitted coefficients were NA.
Fixed. -
quantess.owin, quantess.ppp, quantess.im
Crashed in some cases because the tile labels were not unique.
Fixed. -
plot.pp3
Did not correctly handle graphical arguments (‘col’, ‘pch’, ‘cex’)
if they were vectors [Spotted by Abdollah Jalilian].
Fixed. -
shift.linnet
Generated a spurious warning.
Fixed. -
density.lpp, lixellate
Crashed in some cases when a data point was exactly at a vertex.
[Spotted by Jakob Gulddahl Rasmussen.]
Fixed. -
plot.linim
Crashed (when style=”width”) if any pixel values were NaN.
Fixed. -
Fest, Jest, Jdot, Jcross, Hest, Iest, rectcontact
envelope() commands using one of these summary functions
crashed sometimes with a message about illegal spacing of ‘r’ values.
Fixed. -
plot.linnet, plot.psp
Ignored argument ‘col’ when style=”width”.
Fixed. -
rshift.psp
Crashed if X had a data frame of marks.
[Spotted by Ute Hahn.]
Fixed. -
Kscaled
Crashed if Ripley’s isotropic edge correction was selected
but the translation edge correction was not.
Fixed.
Release notes are available in raw text format here.