NEWS
spatstat.geom 3.8-1
OVERVIEW
SIGNIFICANT USER-VISIBLE CHANGES
- union.owin, intersect.owin, setminus.owin
Default value of 'rescue' set to 'FALSE'.
spatstat.geom 3.8-0
OVERVIEW
- Improved handling of boundary pixels when discretising a polygonal window.
- Improved handling of 'rejected' points.
- Bug fixes and minor improvements.
SIGNIFICANT USER-VISIBLE CHANGES
- pixellate.ppp, pixellate.owin, pixellate.psp
These methods now accept the argument 'rule.pix' passed to 'owin2mask'.
This makes it possible to ensure that boundary pixels which partially
intersect the window are included in the resulting pixel image,
by setting rule.pix="cover".
- as.im
Methods for as.im now accept argument 'rule.pix' passed to 'owin2mask'.
This makes it possible to ensure that boundary pixels which partially
intersect the window are included in the resulting pixel image,
by setting rule.pix="cover".
- "[.im"
New argument 'rule.pix' controls the handling of boundary pixels
in computations like x[W] where W is a polygonal window.
- as.layered.ppp
Now handles rejected points in attr(x, "rejects")
and retrieves them as a layer in the resulting layered object.
- as.ppp.ppp
No longer checks for duplicated points (unless checkdup=TRUE is specified).
No longer checks for points lying outside the window (unless check=TRUE
is specified).
- plot.ppp
New argument 'show.rejects' determines whether rejected points are plotted.
- project2segment
Accelerated by 20 percent.
- project2set
Now supports projection to a polygonal window.
New argument 'polygonal'.
- bdist.pixels
Accelerated for polygonal windows.
- owin2mask
Changed formal arguments. First argument is now called 'w'.
Formal argument 'op' renamed 'rule.pix'.
All arguments must be given by name except for the first argument.
- union.owin, intersect.owin, setminus.owin
New argument 'rescue'.
BUG FIXES
- plot.im
Argument 'box=TRUE' was not handled correctly.
Fixed.
- plot.im, plot.layered, plot.msr, plot.owin, plot.ppp, plot.psp:
Display of the main title was mangled if argument 'main' was
an 'expression' with length > 1.
Fixed.
spatstat.geom 3.7-3 (2026-03-23)
OVERVIEW
- We thank Alexey Sergushichev for contributions.
- Urgent bug fix.
BUG FIXES
- distmap.ppp
Argument 'squared' was inverted, so that the result
contained the squared distances if and only if squared=FALSE.
[Spotted by Alexey Sergushichev.]
Fixed.
spatstat.geom 3.7-2 (2026-03-21)
OVERVIEW
- Minor improvements and bug fixes.
SIGNIFICANT USER-VISIBLE CHANGES
- erosion.owin
When shrink.frame=TRUE, the frame of the resulting window
is always the erosion of the original frame by distance r,
as promised in the help file.
BUG FIXES
- erosion.owin, dilation.owin
The 'unitname' of w was sometimes ignored.
Fixed.
spatstat.geom 3.7-1
OVERVIEW
- We thank Ute Hahn for contributions.
- Support function, Feret diameter, polar body, Voronoi flower.
- Merge tiles in a tessellation.
- Return squared nearest neighbour distances.
- Bug fix in Minkowski sum.
- Summary method for tessellations.
- Minor improvements and bug fixes.
NEW FUNCTIONS
- mergeTiles
Merge tiles in a tessellation.
- FeretDiamFun
Create a function that computes the Feret diameter of a domain at any angle.
- FeretBox
Compute the tightest rectangle enclosing a domain at any angle.
- minFeretDiam, maxFeretDiam
Minimum or maximum Feret diameter of a domain
- SupportFun
Create a function that computes the support function of a domain.
- polarbody
Compute the polar body of a domain.
- voronoiFlower
Compute the Voronoi flower of a domain.
- summary.tess, print.summary.tess
Method for 'summary' for tessellations.
SIGNIFICANT USER-VISIBLE CHANGES
- distmap.ppp
New option 'squared=TRUE' returns the squared distances,
reducing computation time.
- distmap.ppp
New option 'extras=FALSE' avoids returning additional attributes,
reducing computation time.
- nnmap.ppp
New option 'squared=TRUE' returns the squared distances,
reducing computation time.
- nndist.ppp, nndist.default, nncross.ppp, nncross.default
New option 'squared=TRUE' returns the squared nearest neighbour distances,
reducing computation time.
- print.summary.owin
Output can now be abbreviated by
increasing the value of spatstat.options('terse')
- print.summary.psp
Output can now be abbreviated by
increasing the value of spatstat.options('terse')
BUG FIXES
- MinkowskiSum, operator %(+)%
Result was often incorrect for non-convex sets
(and was not symmetric in A and B).
[Spotted by Ute Hahn]
Fixed.
- im.apply
Did not preserve the name of the unit of length.
Fixed.
spatstat.geom 3.7-0 (2026-01-20)
OVERVIEW
- We thank Alexey Sergushichev for contributions.
- Level sets calculated using analytic geometry, for some functions.
- More options for perspective plots.
- Easier control over transparency of image plots.
- Scramble the colours when plotting a point pattern or segment pattern.
- Signed distance transform and signed distance function
- Minor improvements and bug fixes.
NEW FUNCTIONS
- default.colourmap
Default colour map for a vector or factor.
- levelset.im
The function previously called 'levelset' is now a method for class 'im'.
- levelset.distfun
Method for level sets for distance functions.
- levelset.tessfun
Method for level sets for functions created by as.function.tess
SIGNIFICANT USER-VISIBLE CHANGES
- default.symbolmap.ppp
For a multitype point pattern, 'cols' can be a 'function(n)'
- default.symbolmap.ppp
New argument 'scramble.cols'
- distfun.owin
New argument 'signed'
- distmap.owin
New argument 'signed'
- levelset
This function is now generic, with methods for 'im' and 'distfun'.
- multiplicity
Methods for 'multiplicity' can now handle objects of larger size.
- persp.im
The pixel values of 'colin' can be colour values.
New argument 'valuesAreColours'.
- persp.ppp
Now plots the 'zlab' label alongside the vertical scale bar.
- persp.ppp
Argument 'col.base' can be a pixel image, which will be
rendered as a colour image in perspective view on the horizontal plane.
- persp.ppp
New argument 'show.window'.
- plot.im
New argument 'opacity' controls semi-transparency of colours.
- plot.ppp
New argument 'scramble.cols'.
- plot.psp
New argument 'scramble.cols'.
- tileindex
New arguments 'close.gaps' and 'all.inside'.
- plot.colourmap
New argument 'do.plot'
- plot.symbolmap
New argument 'do.plot'
BUG FIXES
- connected.im
Crashed if the image consisted of a single pixel.
[Spotted by Alexey Sergushichev]
Fixed.
- contour.funxy
Returned NULL rather than the result of 'contour.im' as intended.
Fixed.
- is.subset.owin
Crashed if one of the arguments was an empty window.
- persp.funxy
Returned NULL rather than the result of 'persp.im' as intended.
Fixed.
- plot.funxy
Returned NULL rather than the result of 'plot.im' as intended.
Fixed.
- plot.psp
Crashed if x had logical-valued marks.
Fixed.
- plot.tess
Crashed when do.col=TRUE, for a tessellation consisting of a single tile.
Fixed.
- plot.im
Partially disobeyed 'do.plot=FALSE' because it started a graphics device
if no graphics device was open.
Fixed.
- plot.layered
Crashed in some cases with message "plot.new has not been called yet".
Fixed.
spatstat.geom 3.6-1 (2025-11-20)
OVERVIEW
- Find centroids of tiles of a tessellation.
- More options for converting a tessellation to an image.
- Minor internal improvements and bug fixes.
SIGNIFICANT USER-VISIBLE CHANGES
- owin2mask
Arguments '...' that are not recognised by 'as.mask'
are now silently ignored, rather than causing an error.
- as.im.tess
New argument 'rule.tile' specifies how to determine,
for each pixel, the tile of the tessellation that covers the pixel.
NEW FUNCTIONS
- tile.centroids
Find the centroids of the tiles of a tessellation
and return them as a point pattern.
BUG FIXES
- incircle
Gave incorrect results for some irregular windows.
Fixed.
spatstat.geom 3.6-0 (2025-09-20)
OVERVIEW
- More facilities for handling NA objects.
- More facilities for drawing a background behind a plot.
- 'clickpoly' allows vertices to be snapped (rounded) onto a grid
- Improvements to perspective views of images.
- More options for disc windows.
- Internal improvements.
SIGNIFICANT USER-VISIBLE CHANGES
- solapply, anylapply
If an entry of the list is an 'NAobject', the result for that entry
will be an 'NAobject'.
- with.hyperframe
If a column in the hyperframe contains 'NA object' entries,
and if the name of that column is included in the expression
being evaluated, then the result of evaluation is an 'NA' or 'NA object'
in the relevant row.
- plot.owin, plot.psp
New argument 'background' specifies an object (or a colour)
that will be plotted before x is plotted, and will
therefore appear underneath it.
- plot.ppp, plot.im
Argument 'background' can be a single colour value.
- clickpoly
Allows user-selected locations of vertices to be snapped (rounded)
to the nearest grid points. New arguments 'snap.step' and 'snap.origin'.
- disc
New argument 'type' allows the user to specify an inscribed polygon
or a circumscribed polygon.
- as.ppp, as.owin, as.im, domain, Frame, Window
These generic functions now have methods for class 'NAobject'
which return an 'NAobject'.
- nobjects, npoints
These generic functions now have methods for class 'NAobject'
which return an NA integer value.
- marks, "marks<-"
These generic functions now have methods for class 'NAobject'
which return an 'NAobject'.
- persp.im
Improved appearance when apron=TRUE and the image domain is not a rectangle.
- hyperframe
Removed slight inconsistencies in the internal format
produced in different cases.
spatstat.geom 3.5-0 (2025-07-20)
OVERVIEW
- Missing or unavailable (NA) spatial objects.
- Interactively identify tiles of a tessellation.
- Remove small holes from a window.
- New options for defining nearest neighbours.
- im.apply handles vector-valued functions.
- Backgrounds for plots of point patterns.
- Concatenate layered objects.
- Connected components of polygonal windows.
- Bug fixes and minor improvements.
NEW FUNCTIONS
- fillholes.owin
Remove small holes from a window.
- identify.tess
Interactively identify tiles of a tessellation.
- NAobject
Create an NA object of a specified class.
- is.NAobject
Recognise whether an object is a missing or unavailable (NA) object.
- is.na.hyperframe
Returns a logical matrix indicating which entries of the hyperframe
are NA values or NA objects.
- c.layered
Method for the generic 'c' for layered objects.
Enables two or more layered objects to be concatenated,
correctly retaining their plot arguments.
SIGNIFICANT USER-VISIBLE CHANGES
- compatible.im
Accelerated in the common case where all rasters are identical.
- connected.owin
New argument 'polygonal' allows calculation of connected components
using polygonal geometry instead of pixel-based algorithm.
- harmonise.im
Accelerated in the common case where all rasters are identical.
- identify.psp
New arguments 'paint' and 'paint.args'.
- im.apply
Now handles vector-valued functions.
- nnmark
New arguments 'ties' and 'proper'.
- nndist
New argument 'proper'.
- nnwhich
New argument 'proper'.
- pixellate.psp
New option: what='indicator'
- plot.im
The position of text next to the colour ribbon can now be
controlled by 'riblab$side'.
- plot.im
Placement of main title improved, in some cases.
- plot.ppp
New arguments 'background' and 'clip.background' allow the user to specify
an object that will be plotted before the point pattern x, and will
therefore appear underneath it.
- "[<-.hyperframe"
In an assignment like x[i,j] <- NA, if column j contains
spatial objects, the NA value will be coerced to an 'NAobject'
of the appropriate class.
BUG FIXES
- delaunay
Crashed in some cases when X contained exactly 3 points.
Fixed.
- plot.im
riblab$side was ignored.
Fixed.
- "[<-.hyperframe"
Results of x[i,j] <- value were malformed if i and j were
single numeric values equivalent to integers but not stored as integers,
i.e. values with is.integer(i) = FALSE.
Fixed.
spatstat.geom 3.4-1 (2025-05-20)
OVERVIEW
BUG FIXES
- default.symbolmap.ppp
Crashed in some cases, for marks of class 'Date'.
Fixed.
spatstat.geom 3.4-0
OVERVIEW
- Nonlinear colour maps and symbol maps.
- Backgrounds for image plots.
- 'im.apply' handles larger datasets.
- 'quadratcount.ppp' supports left-closed, right-open rectangular tiles.
- Minor improvements and bug fixes.
SIGNIFICANT USER-VISIBLE CHANGES
- colourmap
New arguments 'compress', 'decompress' for nonlinear colour maps.
- default.symbolmap.ppp
Argument 'marktransform' renamed 'transform' for consistency.
- im.apply
Improved algorithm avoids violating memory limits, handles larger datasets.
- lut
New arguments 'compress', 'decompress' for nonlinear lookup tables.
- plot.colourmap
New argument 'at' determines the position of tick marks on the axis.
- plot.im
New arguments 'background' and 'clip.background' allow the user to specify
an object that will be plotted before the image x, and will therefore appear
underneath it.
- plot.im
Return value has attribute 'at' giving the position of tick marks
on the axis next to the colour ribbon.
- plot.yardstick
New arguments 'zebra.scale' and 'do.txt'.
- quadratcount.ppp
New argument 'left.open' controls the treatment of data points
which lie on the boundary between two rectangular quadrats.
- symbolmap
New arguments 'transform', 'compress', 'decompress'
for nonlinear symbol maps.
BUG FIXES
- plot.solist, plot.imlist
When 'equal.scales=TRUE' and 'equal.ribbon=TRUE',
the argument 'log=TRUE' was ignored.
Fixed.
- plot.im
If log=TRUE, the colour map returned by plot.im
represented the colours applied to log10(x) rather than x.
Fixed.
- flipxy.psp
The line segments were unchanged.
Fixed.
spatstat.geom 3.3-6 (2025-03-18)
OVERVIEW
- We thank Warick Brown, Tilman Davies and Martin Hazelton
for contributions.
- Methods for functions which are constant on each tile of a tessellation.
- Minor improvements.
NEW FUNCTIONS
- integral.tessfun
Integral of a function which is constant on each tile of a tessellation
- print.tessfun, plot.tessfun, as.tess.tessfun
Methods for the class 'tessfun' of functions which are constant
on each tile of a tessellation.
SIGNIFICANT USER-VISIBLE CHANGES
- plot.yardstick
New argument 'style' allows different styles of plotting a scale bar
including a zebra pattern (style = "zebra").
- plot.yardstick
New arguments 'zebra.step', 'zebra.width', 'zebra.col'.
- as.mask
Corrected a warning message.
spatstat.geom 3.3-5 (2025-01-18)
OVERVIEW
- We thank Stephanie Hogg and Tingting Zhan for contributions.
- Improvements to plotting of images, and arrays of images.
- More control over plotting of colour maps, symbol maps and texture maps.
- hyperframes handle a 'Surv' object as a single column.
- Bug fixes and minor improvements.
NEW FUNCTIONS
- rev.colourmap
Reverses the sequence of colour values in a colour map.
A method for the generic 'rev'.
SIGNIFICANT USER-VISIBLE CHANGES
- hyperframe
An object of class 'Surv' from the 'survival' package
is now treated as a single column of data
(mimicking the behaviour of 'data.frame')
[Requested by Tingting Zhan]
- plot.im
New argument 'drop.ribbon' determines whether a ribbon will be displayed
in the case where the pixel values are all equal.
Default behaviour has changed.
- plot.im
New argument 'reverse.col' allows the sequence of colours to be reversed.
[Suggested by Stephanie Hogg.]
- plot.imlist, image.imlist, image.listof
If equal.ribbon=TRUE and equal.scales=TRUE, the colour ribbon
is now neatly aligned with the plotted images.
- plot.solist, plot.anylist
Arguments 'adorn.left', 'adorn.right', 'adorn.bottom', 'adorn.top'
may now be objects of class 'colourmap' or 'symbolmap'.
- plot.solist, plot.anylist
New argument 'adorn.args'.
- plot.imlist, image.imlist, image.listof
New argument 'equal.scales'.
- plot.colourmap
New formal argument 'side'.
- plot.symbolmap
New formal argument 'side'.
- plot.texturemap
New formal argument 'side'.
- persp.im
Now recognises argument 'adj.main' controlling the position of main title.
- persp.ppp
Now recognises argument 'adj.main' controlling the position of main title.
BUG FIXES
- rotate.im
Did not preserve the name of the unit of length.
[Spotted by Stephanie Hogg.]
Fixed.
- unstack.ppp
If 'marks(x)' was a data frame with a single column,
the data frame structure was retained, when it should have been dropped.
[Spotted by Tingting Zhan.]
Fixed.
spatstat.geom 3.3-4 (2024-11-18)
OVERVIEW
- Tessellations can have any kind of marks.
- More control over default colours.
- Minor improvements.
NEW FUNCTIONS
- default.image.colours, reset.default.image.colours
Control the default colours used for plotting images in spatstat.
SIGNIFICANT USER-VISIBLE CHANGES
- tess, marks<-.tess
A tessellation can now have any kind of marks
(vector, list, data frame or hyperframe).
- intersect.tess
Now handles marks of any kind (vector, list, data frame or hyperframe).
- pixelquad
Now accepts arguments passed to 'as.mask' to control the pixel resolution.
- persp.ppp
Now draws a reference scale bar for the vertical scale, by default.
New arguments 'legend', 'legendpos', 'leg.args', 'leg.col'.
- persp.ppp
Optionally draws a symbol at the top of each spike.
New arguments 'type', 'point.args'.
spatstat.geom 3.3-3 (2024-09-18)
OVERVIEW
- Perspective plot of spatial point pattern with numerical marks.
- Improvements to rjitter.ppp
- Tweaks to documentation.
NEW FUNCTIONS
- persp.ppp
For a spatial point pattern with numeric marks,
generate a perspective plot in which each data point is
shown as a vertical spike, with height proportional to the mark value.
SIGNIFICANT USER-VISIBLE CHANGES
- rjitter.ppp
New argument 'adjust' allows the default radius to be adjusted.
- rjitter.ppp
The resulting point pattern now has attribute 'radius'.
- rjitter.ppp
If 'retry=TRUE', the resulting point pattern now has attribute 'tries'
which reports the number of trials that were required.
spatstat.geom 3.3-2 (2024-07-15)
OVERVIEW
- Tweaks to documentation to satisfy the package checker.
spatstat.geom 3.3-1
OVERVIEW
- Tweaks to documentation to satisfy the package checker.
spatstat.geom 3.3-0
OVERVIEW
- 'spatstat.geom' now depends on the new package 'spatstat.univar'.
- Some functions have been moved into the package 'spatstat.univar'.
- Tweaked plot functions.
- More support for diagram objects.
- Stability improvements and bug fixes.
PACKAGE DEPENDENCE
- spatstat.geom
'spatstat.geom' now depends on the new package 'spatstat.univar'.
Several functions that were previously provided in 'spatstat.geom'
have been moved to 'spatstat.univar'.
NEW FUNCTIONS
- default.symbolmap.ppp
The algorithm for determining the graphical symbol map used by plot.ppp.
- default.symbolmap
New generic.
- affine.diagramobj, reflect.diagramobj, rotate.diagramobj
Methods for geometrical transformations of diagram objects.
SIGNIFICANT USER-VISIBLE CHANGES
- identify.ppp
Automatically starts a new plot device and displays 'x'
if there is no plot device open.
- identify.psp
Identified segments are highlighted.
Automatically starts a new plot device and displays 'x'
if there is no plot device open.
- plot.owin
New argument 'adj.main' controls the justification of the text
in the main title.
- plot.colourmap
New argument 'nticks' controls the number of axis tick marks
when the colourmap is defined on a continuous range of numerical values.
- plot.colourmap
New argument 'box' controls whether a box will be drawn around the colours.
- plot.tess
Changed the default values for do.col and do.labels
- layout.boxes
Argument 'aspect' can be NA or Inf indicating that the aspect ratio
of the boxes is unconstrained.
- simplepanel
Improved stability.
- shift
Improved stability
- as.colourmap.symbolmap
A warning message, occurring when the symbolmap contains more than one
colour map, is suppressed if the colour maps are identical.
- plot.symbolmap
Suppressed warning message (occurring when colour.only=TRUE)
about the symbolmap containing several colour maps,
when the colour maps were identical.
DELETED FUNCTIONS
- ewcdf
This function has been moved to the new package 'spatstat.univar'
along with most of the methods for class 'ewcdf'.
- mean.ewcdf, quantile.ewcdf, quantilefun.ewcdf
These methods have been moved to the new package 'spatstat.univar'.
- hotrod
This function has been moved to the new package 'spatstat.univar'.
- integral
The generic 'integral' and the method 'integral.density'
have been moved to the new package 'spatstat.univar'.
- quantilefun, quantilefun.ewcdf
The generic 'quantilefun' and the method 'quantile.ewcdf'
have been moved to the new package 'spatstat.univar'.
- rounding, rounding.default
The generic 'rounding' and the method 'rounding.default'
have been moved to the new package 'spatstat.univar'.
- transformquantiles
This function has been moved to the new package 'spatstat.univar'.
- weighted.median
This function has been moved to the new package 'spatstat.univar'.
- whist
This function has been moved to the new package 'spatstat.univar'.
- uniquemap, uniquemap.default, uniquemap.data.frame, uniquemap.matrix
The generic 'uniquemap' and these methods have been
moved to the new package 'spatstat.univar'.
- unnormdensity
This function has been moved to the new package 'spatstat.univar'.
BUG FIXES
- plot.ppp, default.symbolmap.ppp
Ignored 'zerosize' in some cases.
Fixed.
- plot.symbolmap
Issued strange warnings in some cases.
Fixed.
- symbolmap
Crashed in some instances when 'inputs' was given
and the graphical parameters included both functions and vectors.
Fixed.
spatstat.geom 3.2-9 (2024-02-28)
OVERVIEW
- Some geometry code accelerated.
NEW FUNCTIONS
- summary.symbolmap, print.summary.symbolmap
Method for 'summary' for symbol maps.
SIGNIFICANT USER-VISIBLE CHANGES
- as.rectangle
Accelerated in many cases.
- diameter.owin
Accelerated when the window is a rectangle.
- nncross.ppp
Slightly accelerated.
- owin
Accelerated in many cases.
spatstat.geom 3.2-8 (2024-01-26)
OVERVIEW
- Improvements to window geometry code.
- Improvements to symbol map displays.
SIGNIFICANT USER-VISIBLE CHANGES
- is.subset.owin
Algorithm slightly modified to give better results when
the two polygons share some common edges.
- plot.ppp
New argument 'minsize' specifies the size of the smallest symbol
used to represent the marks, when the marks are numeric.
- plot.ppp
New argument 'zerosize' specifies the size of the symbol
used to represent the mark value 0, when marks are numeric.
- plot.symbolmap
New argument 'representatives' specifies which data values
will be shown in the plot.
spatstat.geom 3.2-7 (2023-10-20)
OVERVIEW
- Minor corrections to the help files.
spatstat.geom 3.2-6
OVERVIEW
- Minor improvements.
- spatstat.geom no longer suggests 'maptools'.
SIGNIFICANT USER-VISIBLE CHANGES
- as.im.tess
New argument 'values'.
spatstat.geom 3.2-5 (2023-09-05)
OVERVIEW
- Extension of distance transform algorithm.
- Improvement to progress reports.
- Suppress annoying warnings.
- Further bug fix in quadratcount
SIGNIFICANT USER-VISIBLE CHANGES
- distmap.owin
New argument 'connect'.
- progressreport
The estimated time of completion is also printed, if the remaining time
is longer than 10 minutes.
- unnormdensity
Suppress annoying warning messages from density.default.
This affects many functions in the spatstat family of packages.
BUG FIXES
- quadratcount
Crashed if argument 'tess' was a rectangular grid tessellation.
Fixed.
spatstat.geom 3.2-4 (2023-07-20)
OVERVIEW
- Connected component transform can now use a 4-connected grid.
- Bug fixes in quadrat counting code.
SIGNIFICANT USER-VISIBLE CHANGES
- connected.owin, connected.im
New argument 'connect' specifies the connectivity of the raster,
either 4 or 8 neighbours for each pixel.
- round.ppp, round.pp3, round.ppx
Now has ellipsis argument '...' for conformity with generic 'round'
BUG FIXES
- as.mask
If 'w' was a rectangle and 'xy' was specified,
the pixel entries were all TRUE, instead of
only being TRUE within the window 'w'.
Fixed.
- intensity.quadratcount
Results were incorrect if the quadrats were a mixture of
irregular polygons and rectangles.
- quadratcount.ppp
If the window was irregular and some of the tiles did not intersect
the window, the counts were given the wrong tile labels.
Fixed.
- plot.quadratcount
If the window was irregular and some of the tiles did not intersect
the window, the counts were displayed in the wrong tiles.
Fixed.
spatstat.geom 3.2-2 (2023-07-05)
OVERVIEW
- Bug fixes and minor improvements.
SIGNIFICANT USER-VISIBLE CHANGES
- as.mask
Improved numerical performance (rounding error).
BUG FIXES
- quantess.owin
The window of the resulting tessellation was sometimes slightly different
from the original window M.
Fixed.
- intensity.quadratcount
Results were incorrect if the quadrats were the intersections of
a rectangular grid with an irregular window and all quadrats were nonempty.
Fixed.
spatstat.geom 3.2-1 (2023-05-09)
OVERVIEW
- Fixed errors and omissions in documentation.
- Minor improvements in C code.
spatstat.geom 3.2-0
OVERVIEW
- We thank Warick Brown and Tilman Davies for suggestions.
- More options for converting polygons to a binary mask.
- More options for controlling pixel size.
- Improvement to progress reports.
- Minor tweaks to package documentation.
NEW FUNCTIONS
- psp2mask
Function 'as.mask.psp' has been renamed 'psp2mask'.
The old function 'as.mask.psp' still exists, but it will
soon be deprecated, and ultimately removed.
SIGNIFICANT USER-VISIBLE CHANGES
- owin2mask
New options op="majority" and op="minority".
If op="majority", a pixel belongs to the resulting mask if
at least half of the pixel area is covered by the window.
- as.mask
New argument 'rule.eps' specifies what to do when the
desired pixel size is not a divisor of the frame size.
- as.im
Many methods for 'as.im' now have argument 'rule.eps'.
- discretise
New argument 'rule.eps'
- distfun
New argument 'rule.eps'
- nnfun
New argument 'rule.eps'
- progressreport
New argument 'formula' controls the calculation of estimated time remaining.
- progressreport
New argument 'savehistory' specifies whether to save the elapsed times
when the function was called.
spatstat.geom 3.1-0 (2023-03-12)
OVERVIEW
- Methods for "[[" and "[[<-" for hyperframes.
- Colour map for pH values.
- Restrict a colour map to a narrower range of values.
- Integral of a one-dimensional density estimate.
- Minor improvements and bug fixes.
NEW FUNCTIONS
- "[[.hyperframe", "[[<-.hyperframe"
Methods for "[[" and "[[<-" for hyperframes.
- pHcolourmap, pHcolour
Colour map for values of pH
- restrict.colourmap
Restrict a colourmap to a narrower range of values.
- integral.density
Compute the integral of a one-dimensional kernel density estimate.
- as.colourmap
Extract colour information from an object.
SIGNIFICANT USER-VISIBLE CHANGES
- plot.symbolmap
New argument colour.only makes it possible to display only the
colour map information in a symbolmap.
- "[.hyperframe", "[<-.hyperframe"
Improved error message when the format of index i or j is not supported.
- unnormdensity
Computation accelerated.
- unnormdensity
Handles datasets containing fewer than 2 values.
BUG FIXES
- unnormdensity
If 'weights' was a single numerical value 'w', the calculation incorrectly
assigned the weight for each observation to be 'w/n' where 'n=length(x)'.
Fixed.
- unnormdensity
A crash could occur if 'x' was a very long vector,
with an error message originating from 'deparse1'.
Fixed.
spatstat.geom 3.0-6 (2023-01-30)
OVERVIEW
BUG FIXES
- harmoniseLevels
Crashed sometimes, in older versions of R,
with an obscure error message from 'mapply'.
Fixed.
spatstat.geom 3.0-5 (2023-01-22)
OVERVIEW
- Convert several factors or factor-valued images to a common set of levels.
- Extension to rjitter
- Alternative to rjitter
- Quantile function as a function
- Improvements to plot code.
NEW FUNCTIONS
- harmoniseLevels
Given several factors or factor-valued pixel images,
convert them all to have the same set of factor levels.
- rexplode
'Explode' a point pattern by randomly displacing each
group of duplicated points to make a circular pattern
around the original location. An alternative to 'rjitter'.
- quantilefun
Return a function that computes any quantiles of a given dataset.
SIGNIFICANT USER-VISIBLE CHANGES
- rjitter.ppp
If 'trim=TRUE', the displacement radius will be constrained
to be less than or equal to the distance from the data point
to the window boundary.
- plot.ppp
For multitype point patterns, a warning is issued if
the plot legend does not represent every possible type of point
due to space restrictions.
- plot.symbolmap
New argument 'warn'.
- plot.symbolmap
Issues a warning if the plot of a discrete symbol map does not
represent every possible input value, due to space restrictions.
- plot.solist
When equal.ribbon=TRUE, the images may now be factor-valued
or character-valued. Character-valued images will be converted
to factor-valued images. The common colour map will combine the
levels of all the factor images.
BUG FIXES
- "[<-.im"
Errors occurred in x[] <- v when x and v were both factor-valued
but with different sets of levels.
- rjitter.ppp
If retry=FALSE, marks were ignored.
Fixed.
spatstat.geom 3.0-4
OVERVIEW
- Improvements to perspective plots.
SIGNIFICANT USER-VISIBLE CHANGES
- perspPoints, perspLines, perspSegments, perspContour
New argument 'occluded' specifies whether the surface
should be treated as opaque or transparent.
spatstat.geom 3.0-3 (2022-10-25)
OVERVIEW
- Minor internal changes to satisfy package checker.
spatstat.geom 3.0-2
OVERVIEW
- Minor internal changes to satisfy package checker.
spatstat.geom 3.0-1
OVERVIEW
spatstat.geom 3.0-0
OVERVIEW
- Minor improvements and bug fixes.
- Changes to package dependence.
NEW FUNCTIONS
- is.linnet
Test whether an object is a linear network.
- as.data.frame.ppplist
Method for 'as.data.frame' for lists of point patterns.
SIGNIFICANT USER-VISIBLE CHANGES
- Package dependence
spatstat.geom now suggests the new packages spatstat.explore and
spatstat.model, which have replaced spatstat.core.
- crosspairs.ppp
New argument 'periodic' specifies whether to use
periodic (toroidal) distances.
- crosspairs.ppp
New arguments 'iX', 'iY' make it possible to eliminate pairs
in which the two points are identical.
- bufftess
The result now has attribute 'breaks' which is the vector of
distance breakpoints.
- contour.im
New argument 'log' specifies whether the contour lines
should be equally spaced on a logarithmic scale.
- plot.im, image.im
New argument 'addcontour' specifies that contour lines should be drawn
over the image plot.
- invoke.symbolmap
New argument 'angleref'.
- funxy
The result now has a unitname, inherited from the argument W.
- integral.im
New argument 'weight' specifies a weight function for the integration.
- markstat, applynbd
These functions now work for point patterns in three dimensions
(class 'pp3') and point patterns on a network (class 'lpp').
- plot.psp
New argument 'use.marks', for consistency with other methods.
BUG FIXES
- framedist.pixels
Result was always a matrix, regardless of the value of 'style'.
Fixed.
- plot.im
Ignored ribargs$labels.
Fixed.
- plot.ppp
Crashed with an obscure message when argument 'shape' was given,
unless argument 'size' was also given.
Fixed.
- closepairs
Crashed if npoints(X)^2 exceeded the largest possible integer.
Fixed.
- crosspairs
Crashed if npoints(X) * npoints(Y) exceeded the largest possible integer.
Fixed.
spatstat.geom 2.4-0 (2022-03-29)
OVERVIEW
- We thank Fernando Milesi, Suman Rakshit and Mark Walsh for contributions.
- Bug fixes in 'distmap' and 'distfun'.
- Bug fixes in 'closepairs'.
- Bug fixes in 'nncross.ppp'.
- Minor improvements and bug fixes.
NEW FUNCTIONS
- framedist.pixels
Computes distance from each pixel to the enclosing rectangle.
SIGNIFICANT USER-VISIBLE CHANGES
- nncross.ppp
When X is a point pattern and Y is a line segment pattern,
higher order neighbours (k > 1) are now supported.
- intersect.tess
New argument 'keepempty'.
- unnormdensity
Argument 'weights' may have length 1.
New argument 'defaults'.
- distmap.owin
Behaviour has been altered so that, when X is a binary mask, the results of
distmap(X, invert=TRUE) and distmap(complement.owin(X)) are identical.
This affects a few pixels close to the edge of the frame.
[Suggested by Fernando Milesi.]
- distmap.ppp
New argument 'clip'.
BUG FIXES
- distmap.owin
If the window was a binary mask, the distance values were
slightly too large (by a factor 1 + 1/n where n is the pixel grid dimension),
due to a coding error.
[Spotted by Fernando Milesi.]
Fixed.
- distfun.owin
If the window was a binary mask, the distance values were
slightly too small (typically reduced by 1/20 of a pixel width).
[Spotted by Fernando Milesi.]
Fixed.
- distmap.owin
Values were incorrect if X was an empty window (is.empty(X) = TRUE).
Fixed.
- distmap.ppp, distmap.psp
Values were incorrect if X was an empty pattern (npoints(X) = 0).
Fixed.
- distmap.psp
Values were incorrect if X was an empty pattern (nsegments(X) = 0).
Fixed.
- closepairs.ppp
If distinct=FALSE and what="all", the resulting vectors
'yi' and 'yj' contained incorrect values, and had the wrong length.
Fixed.
- nncross.ppp
When k > 1, distance values were incorrectly replaced by 'Inf' in some cases.
Fixed.
- closepairs.ppp
Crashed with a message 'unable to allocate memory'
if the window of X had zero area.
Fixed.
- crosspairs.ppp
Crashed with a message 'unable to allocate memory'
if the window of Y had zero area.
Fixed.
- closepairs.pp3
Crashed with a message 'unable to allocate memory'
if the domain of X had zero volume.
Fixed.
- crosspairs.pp3
Crashed with a message 'unable to allocate memory'
if the domain of Y had zero volume.
Fixed.
- as.im.owin
If 'value' was a categorical (factor) value, the result was not a factor-valued image.
Fixed.
- tile.areas
For a tessellation defined by a pixel image,
the result of tile.areas() was not a numeric vector.
[Spotted by Suman Rakshit.]
Fixed.
- dirichlet
Rarely, the number of tiles in the tessellation
was less than the number of unique data points.
This occurred only when the window was a binary mask.
[Spotted by Suman Rakshit.]
Fixed.
spatstat.geom 2.3-2 (2022-02-12)
OVERVIEW
- 'spatstat.geom' now suggests the package 'spatstat.random'.
- Updated help files to refer to 'spatstat.random'.
spatstat.geom 2.3-1 (2021-12-10)
OVERVIEW
- New options for weighted.quantile
- Minor improvements.
SIGNIFICANT USER-VISIBLE CHANGES
- weighted.quantile
New argument 'type' allows the user to choose between several rules
for the weighted quantile.
- weighted.median
New argument 'type' allows the user to choose between several rules
for the weighted median. The default rule has changed.
- perspSegments
Improved quality of result when pixels are not square.
- nndist.ppp, nnwhich.ppp
Argument 'by' can be a factor, a logical vector,
a pixel image with factor values, a tessellation, a window,
the string 'marks' (if marks(x) is a factor),
or the name of one of the columns of marks (if marks(x) is a data frame).
- nndist.pp3, nnwhich.pp3
Argument 'by' can be a factor, a logical vector,
the string 'marks' (if marks(x) is a factor), or
the name of one of the columns of marks (if marks(x) is a data frame).
- split.ppp, split.ppx
The argument 'f' may now be the character string "marks",
signifying 'f=marks(X)', provided 'marks(X)' is a factor.
- owin
If argument 'mask' is a logical matrix,
NA entries will be accepted, and converted to FALSE.
spatstat.geom 2.3-0 (2021-10-09)
OVERVIEW
- Quantile transformation.
- Distance metric based on a convex set.
- Basic support for calculations using non-Euclidean distance metrics.
- Improvements to 'rjitter'.
NEW CLASSES
- metric
An object of class 'metric' represents a distance metric.
See help(metric.object).
NEW FUNCTIONS
- transformquantiles
Transform the quantiles of a vector, matrix, array or pixel image.
- convexmetric
Distance metric based on a convex set.
- mean.ecdf, mean.ewcdf
Calculate the mean of an empirical cumulative distribution function.
- invoke.metric
Low level function to perform a desired operation using a given metric.
- rjitter.ppp
This function was previously called 'rjitter'. It is now a method
for the new generic function 'rjitter'.
SIGNIFICANT USER-VISIBLE CHANGES
- pairdist.ppp, crossdist.ppp, nndist.ppp, nnwhich.ppp, nncross.ppp
New argument 'metric' specifies a non-Euclidean distance metric
to measure the distances.
- distmap.ppp, distmap.owin, distmap.psp
New argument 'metric' specifies a non-Euclidean distance metric
to measure the distances.
- disc
New argument 'metric' specifies a non-Euclidean distance metric
defining the disc.
- rjitter
The function previously called 'rjitter' is now called 'rjitter.ppp'
and is now a method for the new generic 'rjitter'.
- rjitter.ppp
The argument 'radius' may be a numeric vector, specifying a different
displacement radius for each data point.
BUG FIXES
- as.mask
Crashed if 'Frame(w)' had zero height or zero width.
Fixed.
spatstat.geom 2.2-2 (2021-07-12)
OVERVIEW
- Bug fix in package information.
spatstat.geom 2.2-1
OVERVIEW
- More options for converting a window to a mask.
- Minor improvements and internal upgrades.
NEW FUNCTIONS
- owin2mask
Convert a window to a mask, with various options,
affecting the treatment of the boundary.
SIGNIFICANT USER-VISIBLE CHANGES
- where.max, where.min
Argument 'x' may be either a pixel image (class 'im')
or data that can be converted to a pixel image by 'as.im'.
spatstat.geom 2.2-0 (2021-06-15)
OVERVIEW
- We thank Warick Brown for contributions.
- Buffer tessellation
- New options for distmap.psp
NEW FUNCTIONS
- bufftess
Distance buffer tessellation
SIGNIFICANT USER-VISIBLE CHANGES
- distmap.psp
New arguments 'extras' and 'clip'
spatstat.geom 2.1-0 (2021-04-15)
OVERVIEW
- We thank Hank Stevens for contributions.
- Extension to 'discretise'.
- Bug fix in nncross
- Minor improvements and bug fixes
SIGNIFICANT USER-VISIBLE CHANGES
- discretise
New argument 'move.points' determines whether the point coordinates
are also discretised.
- summary.im
Output improved when the image is empty (i.e. when all pixel values
are undefined).
BUG FIXES
- nncross.ppp
If the argument 'by' was given, some of the results were incorrect.
[Spotted by Hank Stevens.]
Fixed.
- nncross.ppp, nncross.pp3
If 'iX' and 'iY' were given, some of the results were incorrect.
Fixed.
spatstat.geom 2.0-1 (2021-03-22)
OVERVIEW
BUG FIXES
- pixellate.ppp
crashed if 'weights' contained any NA values.
Fixed.
spatstat.geom 2.0-0
OVERVIEW
- Reduced package dependence.
- Improvement to venn.tess.
- Changed default value of 'stringsAsFactors'.
SIGNIFICANT USER-VISIBLE CHANGES
- spatstat.geom
No longer depends on 'spatstat.sparse'.
- venn.tess
New argument 'labels'.
- hyperframe, as.im.function
The formal default value of 'stringsAsFactors' has been changed
to 'NULL' to conform to changes in R. (The actual default value
is TRUE for R < 4.1.0 and FALSE for R >= 4.1.0)
- plot.psp
The code for 'style="width"' has been completely rewritten,
so that it no longer depends on plot.linim, and is more efficient.
The formal argument list has been extended.
- integral.im
Accelerated in the case where 'domain' is a tessellation.
- cbind.hyperframe
Row names are not altered (previously they were altered
using 'make.names')
- [.ppx
New argument 'clip'
BUG FIXES
- colourmap
If a colour map was applied to numbers lying outside the range of the
colour map, the wrong number of NA's was sometimes produced.
Fixed.
- MinkowskiSum
Crashed sometimes with an error message about 'sumconnected'.
Fixed.
- hyperframe
Crashed if the argument 'row.names' was given
and the hyperframe had exactly one row.
Fixed.
spatstat.geom 1.65-8
OVERVIEW
- Reduced package dependence.
SIGNIFICANT USER-VISIBLE CHANGES
- spatstat.geom
No longer depends on 'spatstat.sparse'.
spatstat.geom 1.65-7
OVERVIEW
spatstat.geom 1.65-6
OVERVIEW
- We thank Jean-Francois Coeurjolly for contributions.
- Bug fix in 'inradius'
BUG FIXES
- inradius
Coded incorrectly for rectangular windows.
[Spotted by Jean-Francois Coeurjolly]
Fixed.
spatstat.geom 1.65-5 (2021-01-15)
OVERVIEW
- Minor changes to satisfy CRAN.
spatstat.geom 1.65-4
OVERVIEW
- Minor changes to satisfy CRAN.
spatstat.geom 1.65-3
OVERVIEW
spatstat.geom 1.65-2
OVERVIEW
- Minor changes to satisfy CRAN.
spatstat.geom 1.65-1
OVERVIEW
- Minor changes to satisfy CRAN.
spatstat.geom 1.65-0
OVERVIEW
- Package initialised at version 1.65-0 from a subset of spatstat.
- Increased speed for large datasets.
- Bug fix in crossdist.pp3 with periodic distances.
- Bug fixes and minor improvements.
SIGNIFICANT USER-VISIBLE CHANGES
- spatstat.geom
The package 'spatstat.geom' has been created from a subset
of the code in the original 'spatstat' package version 1.65-0.
It contains definitions of geometrical objects (windows, point patterns,
pixel images, etc) and operations on them (geometry, superposition,
image arithmetic, etc).
- Execution
The 'spatstat.geom' package is slightly faster than the corresponding
code in the 'spatstat' package, because the procedure for calling
internal C functions has been streamlined.
- dirichletEdges
New argument 'clip'.
- harmonise.im
The result belongs to class 'solist' and 'imlist'
so that it can be plotted.
BUG FIXES
- crossdist.pp3
Results with periodic=TRUE were partially incorrect.
Fixed.
- affine.owin
For mask windows, the pixel resolution of the result
was too fine, leading to very large datasets.
Fixed.
- affine.im
If the transformation matrix was not diagonal, the pixel resolution
of the result was too fine, leading to very large datasets.
Fixed.
- plot.ppp
For a point pattern in a binary mask window,
if both arguments 'col' and 'cols' were given,
the points were coloured according to 'col', which was incorrect.
Fixed.
- dirichletEdges
Crashed if any edges crossed the boundary of the window.
Fixed.
- unitname
Spatial datasets with incorrect internal format
(or using an out-of-date version of the spatstat format)
caused an error if the 'units' package was loaded.
Fixed.