RELEASE NOTES
spatstat 1.42-0
27 May 2015
We thank Anders Bilgrau, Ute Hahn, Jack Hywood, Tuomas Rajala, Cody Schank, Olivia Semboli and Ben Taylor for contributions.
OVERVIEW
-
Version nickname: ‘Life, The Universe and Everything’
-
Permutation test for difference between groups of point patterns.
-
Variational Bayes estimation for point process models.
-
Score test in anova.ppm
-
ROC curve, and discrimination index AUC, for fitted models.
-
Interactive text editor for spatial datasets.
-
Tools for analysing data on a tree.
-
Kernel density/intensity estimation on a linear network.
-
Random pixel noise.
-
Improved behaviour of polygon geometry operations.
-
Improved support for cluster and Cox models.
-
Improved basic support for owin objects.
-
Improved support for tessellations.
-
More hierarchical Gibbs interactions.
-
Modifications to Kest.
-
summary method for Cox and cluster models.
-
class ‘listof’ is almost completely replaced by ‘anylist’ and ‘solist’.
-
Improvements and bug fixes.
-
spatstat now depends on R version 3.2.0 or later.
NEW FUNCTIONS
-
studpermu.test
Studentised permutation test for difference between groups of point patterns.
Generously contributed by Ute Hahn. -
AIC.kppm, extractAIC.kppm, logLik.kppm, nobs.kppm
Methods for computing AIC for fitted Cox and cluster models. -
transmat
Convert pixel arrays between different display conventions. -
roc
Receiver Operating Characteristic curve. -
auc
Discrimination index AUC (area under the ROC curve) -
edit.ppp, edit.psp, edit.im
Interactive text editor works for spatial datasets. -
edit.hyperframe
Interactive text editor works for hyperframes. -
parameters
Extract all parameters from a fitted model. -
density.lpp
Kernel estimation of point process intensity on a linear network. -
extractbranch, deletebranch, treeprune, treebranchlabels, begins
Tools for analysing data on a tree. -
rnoise
Random pixel noise. -
as.data.frame.owin
Convert a window to a data frame. -
harmonise.owin
Convert several binary mask windows to a common pixel grid. -
copyExampleFiles
Copy the raw data files from an installed dataset
to a chosen folder, for use in a practice exercise. -
density.ppplist
Method for ‘density’ for lists of point patterns. -
inradius
Radius of largest circle inside a window. -
mergeLevels
Merge different levels of a factor. -
relevel.im, relevel.ppp, relevel.ppx
Change the reference level of a factor. -
simulate.profilepl
simulation method for models fitted by profile maximum pseudolikelihood. -
predict.rho2hat
Prediction method for class rho2hat -
with.msr
Evaluate (an expression involving) components of a measure. -
summary.kppm, print.summary.kppm, coef.summary.kppm
Methods for ‘summary’ and ‘coef(summary(..))’ for Cox and cluster models. -
as.im.funxy
Method for as.im for class funxy. -
shift.linim, scalardilate.linim, affine.linim
Geometrical transformations for ‘linim’ objects. -
Smooth.solist
Smooth method for a list of spatial objects. -
unitname.tess, unitname<-.tess
Tessellations now keep track of the name of the unit of length. -
dirichletAreas
Faster algorithm for tile.areas(dirichlet(X)). -
identify.lpp
Method for ‘identify’ for point patterns on a linear network. -
HierStraussHard, HierHard
Hierarchical interactions for Gibbs models. -
delaunayDistance, delaunayNetwork, dirichletEdges,
dirichletNetwork, dirichletVertices, dirichletWeights
These functions will replace delaunay.distance, delaunay.network,
dirichlet.edges, dirichlet.network, dirichlet.vertices and
dirichlet.weights respectively.
The latter are now ‘deprecated’.
SIGNIFICANT USER-VISIBLE CHANGES
-
ppm
Now supports Variational Bayes fitting method. -
kppm
‘AIC’ and ‘step’ now work for kppm objects
fitted using maximum Palm likelihood. -
kppm
The default for the weight function ‘weightfun’ has been changed,
for better performance. -
envelope
envelope methods now have argument ‘use.theory’ specifying whether
to use the ‘theoretical’ value of the summary function when constructing
simultaneous envelopes. -
anova.ppm
Now performs the Score Test, for Poisson models only,
if argument test=”Rao” or test=”score”. -
Kest
New argument ‘rmax’ controls maximum value of argument ‘r’ -
diagnose.ppm
Now computes and prints the null standard deviation of the
smoothed Pearson residual field, when appropriate. -
nncorr, nnmean, nnvario
New argument ‘k’ specifies k-th nearest neighbour. -
quadrat.test.ppp, quadrat.test.quadratcount
New argument ‘lambda’ supports a test of the Poisson process
with given intensity ‘lambda’. -
clickpoly, clickbox
These functions now handle graphical arguments to polygon()
when drawing the resulting polygon or rectangle. -
owin, as.owin, as.mask
owin(mask=D) or as.owin(D) or as.mask(D) will produce a binary mask window
if D is a data frame with two columns of (x,y) coordinates
or a data frame with three columns containing (x,y,logical). -
as.owin.data.frame
W can now be a data frame with only two columns,
giving the spatial coordinates of the pixels that are inside the window. -
rose
Tick marks now have labels showing the angle (in degrees or radians). -
distcdf
New argument ‘regularise’ determines whether values at short distances
will be smoothed to avoid discretisation artefacts. -
rpoislinetess
Return value now has an attribute ‘lines’ giving the
realisation of the Poisson line process. -
intersect.owin, union.owin, setminus.owin
New argument ‘p’ controls resolution of polygon clipping algorithm. -
intersect.owin, union.owin
Arguments may be lists of windows, of class ‘solist’.
Formal arguments A and B have been removed. -
superimpose
Now handles lists of point patterns
(objects of class ‘ppplist’ or ‘splitppp’) -
density.ppp
New argument ‘positive’ allows the user to stipulate that
density values must be positive (avoiding numerical errors
which occasionally produce small negative values). -
adaptive.density
Now accepts f = 0 (uniform intensity estimate) and
f = 1 (Voronoi intensity estimate) as well as 0 < f < 1.
Algorithm accelerated. -
rSSI
Can now generate inhomogeneous patterns. -
effectfun
Now works for ‘kppm’ and ‘lppm’ objects as well. -
integral.im, integral.msr
Argument ‘domain’ can now be a tessellation;
the integral over each tile of the tessellation is returned. -
allstats, compareFit, markcorr, split.ppx, by.ppp
Result is now of class ‘anylist’. -
by.im, density.splitppp, idw, model.images, nnmark, pixellate.ppp,
predict.lppm, predict.ppm, quadratcount.splitppp, quadratresample, relrisk,
Smooth.msr, split.im, tiles
Result is now of class ‘solist’. -
split.ppp
New argument ‘reduce’.
Result now inherits class ‘ppplist’ and ‘solist’, as well as ‘splitppp’ -
rLGCP
New argument ‘nsim’ allows multiple patterns to be generated. -
alltypes
New argument ‘reuse’ determines whether all simulation envelopes
are based on the same set of simulated patterns, or on independent sets. -
rpoispp, runifpoint
New argument ‘ex’ makes it possible to generate a random pattern
similar to an example point pattern. -
effectfun
Argument ‘covname’ is not needed if the model has only one covariate. -
quadratcount
Argument ‘tess’ can now be anything acceptable to as.tess. -
tess
New argument ‘unitname’ specifies the name of the unit of length.
If it is missing, unitname information will be extracted from the
other data. -
intersect.tess, chop.tess, quadrats
Results of these functions now have the same ‘unitname’ as their input. -
persp.im, nnclean, plot.qqppm, plot.bw.optim
These plotting functions now obey spatstat.options(‘monochrome’) -
lurking
Now returns an object of class ‘lurk’ which has a plot method.
Two-standard-deviation limits are now plotted using grey shading. -
marktable
New argument ‘N’ for studying the N nearest neighbours.
New argument ‘collapse’ for manipulating the contingency table. -
harmonise.fv
Now discards columns with names which do not match. -
eval.fv
New argument ‘equiv’ can be used to declare that two columns
with different names in different objects are equivalent. -
quantile.ewcdf
New argument ‘type’ controls the type of quantile. -
plot.imlist
New argument ‘plotcommand’ specifies how to plot each image. -
persp.im
The lower extent of the apron can now be controlled by ‘zlim’. -
quadscheme
Argument ‘method’ is partially matched. -
Kdot, Ldot
New argument ‘from’ is an alternative to ‘i’. -
Kcross, Lcross
New arguments ‘from’ and ‘to’ are alternatives to ‘i’ and ‘j’ respectively. -
varblock
Changed the ordering (and therefore default colours/styles)
of curves in the plot, to match other functions like lohboot. -
bw.diggle
New argument ‘nr’ controls accuracy. -
textureplot
Now accepts a pixel image, a tessellation, or anything acceptable to as.tess. -
textureplot
Line spacing in legend now matches line spacing in main display. -
[.tess
Subset index can now be a window. -
plot.tess
Can now plot a text label in each tile. -
plot.tess
New argument ‘do.plot’. -
MultiHard, MultiStrauss, MultiStraussHard, HierStrauss
Printed output of fitted model now respects spatstat.options(‘terse’). -
print.ppm
Reduced redundancy in output in some cases. -
print.msr
Responds better to spatstat.options(‘terse’). -
print.ppm, print.fii, print.interact
Irregular parameters are now printed to the number of significant figures
specified by options(“digits”). -
square
New argument ‘unitname’. -
plot.fv
Return value is now invisible. -
delaunay.distance, delaunay.network, dirichlet.edges,
dirichlet.network, dirichlet.vertices
These functions are now ‘deprecated’, and will be replaced by
delaunayDistance, delaunayNetwork, dirichletEdges,
dirichletNetwork and dirichletVertices respectively. -
data(residualspaper)
In the real datasets (Fig1 and Fig11), the name of the unit of length
has now been recorded. -
rLGCP
This function now requires the package ‘RandomFields’
to be loaded explicitly by library(RandomFields) or require(RandomFields),
unless model=”exp”. -
iplot, istat
These functions now require the package ‘rpanel’
to be loaded explicitly by library(rpanel) or require(rpanel). -
ppm, quadscheme
Improved calculation of Dirichlet weights. -
countends
New argument ‘toler’ controls numerical errors -
diagnose.ppm
Improved handling of additional graphics arguments. -
pcf3est
Mathematical labels changed. -
plot.hyperframe
Default margin spacing has been increased.
BUG FIXES
-
Kinhom, Linhom
The value of ‘theo’ was erroneously rescaled
by a small amount, when renormalise=TRUE (the default).
Fixed. -
Kmark
Values were erroneously rescaled.
Fixed. -
union.owin
Strange results were sometimes obtained when taking the union
of more than two windows.
Fixed. -
rpoispp3
Implementation was incorrect for nsim > 1.
(Results may have been incorrect.)
Spotted by Jack Hywood.
Fixed. -
as.owin.data.frame
Crashed if the window was not connected.
Fixed. -
Frame<-
Crashed when applied to a binary mask.
Fixed. -
rho2hat
Crashed if cov1=”x” and cov2=”y”.
Fixed. -
as.mask
Crashed sometimes when only the argument ‘xy’ was given.
Fixed. -
ppm
Crashed (rarely) when method=’ho’ if the simulated pattern was empty.
Fixed. -
istat, iplot
Crashed in recent versions of rpanel.
Fixed. -
convexhull
Crashed if applied to a ‘psp’ object.
Fixed. -
plot.ppm
Crashed with message about ‘variable lengths differ’.
Fixed. -
plot.solist
Crashed when applied to a list of point patterns
if some patterns had more than one column of marks.
Fixed. -
Smooth.ppp
Crashed if applied to a point pattern with several columns of marks
if some of the columns were factors.
Fixed. -
runifpoint3, rpoispp3
Crashed if nsim > 1.
Spotted by Jack Hywood.
Fixed. -
hist.im
Crashed if argument ‘freq’ was given.
Fixed. -
MultiStraussHard
Generated misleading error messages (e.g. ‘model is invalid’)
when arguments ‘iradii’ and ‘hradii’ did not have the same pattern of NA’s.
Fixed. -
plot.solist
Figures were sometimes aligned incorrectly
when the argument ‘panel.args’ was given.
Fixed. -
scaletointerval
Results sometimes fell slightly outside the desired interval
due to numerical error.
Fixed. -
plot.solist
Behaved incorrectly when plotcommand=’persp’.
Fixed. -
”[.hyperframe”
Sometimes returned an ‘anylist’ when it should have returned a ‘solist’.
Fixed. -
plot.im
Did not plot surrounding frame box when ribbon=FALSE.
Fixed. -
envelope
The functions stored when savefuns=TRUE did not inherit
the correct name for the unit of length.
Fixed. -
print.ppm, print.fii, print.interact
Layout was misaligned.
Fixed. -
plot.plotppm
Paused for input when it was not appropriate.
Fixed. -
plot.fv
On png devices, the legend box was drawn with a white background,
obscuring the main plot.
Fixed. -
plot.owin, plot.ppp, plot.im
There was unnecessary extra space above the main title.
Fixed. -
plot.rho2hat
Colour map ribbon was drawn but not annotated.
Fixed. -
density.splitppp, density.ppplist
Format was out of order if se=TRUE.
Fixed. -
MultiStraussHard
project.ppm sometimes yielded a model that was still invalid.
Fixed.
Release notes are available in raw text format here.