CHANGES IN spatstat.geom VERSION 3.6-0 OVERVIEW o More facilities for handling NA objects. o More facilities for drawing a background behind a plot. o 'clickpoly' allows vertices to be snapped (rounded) onto a grid o Improvements to perspective views of images. o More options for disc windows. o Internal improvements. SIGNIFICANT USER-VISIBLE CHANGES o solapply, anylapply If an entry of the list is an 'NAobject', the result for that entry will be an 'NAobject'. o 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. o 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. o plot.ppp, plot.im Argument 'background' can be a single colour value. o clickpoly Allows user-selected locations of vertices to be snapped (rounded) to the nearest grid points. New arguments 'snap.step' and 'snap.origin'. o disc New argument 'type' allows the user to specify an inscribed polygon or a circumscribed polygon. o as.ppp, as.owin, as.im, domain, Frame, Window These generic functions now have methods for class 'NAobject' which return an 'NAobject'. o nobjects, npoints These generic functions now have methods for class 'NAobject' which return an NA integer value. o marks, "marks<-" These generic functions now have methods for class 'NAobject' which return an 'NAobject'. o persp.im Improved appearance when apron=TRUE and the image domain is not a rectangle. o hyperframe Removed slight inconsistencies in the internal format produced in different cases. CHANGES IN spatstat.geom VERSION 3.5-0 OVERVIEW o Missing or unavailable (NA) spatial objects. o Interactively identify tiles of a tessellation. o Remove small holes from a window. o New options for defining nearest neighbours. o im.apply handles vector-valued functions. o Backgrounds for plots of point patterns. o Concatenate layered objects. o Connected components of polygonal windows. o Bug fixes and minor improvements. NEW FUNCTIONS o fillholes.owin Remove small holes from a window. o identify.tess Interactively identify tiles of a tessellation. o NAobject Create an NA object of a specified class. o is.NAobject Recognise whether an object is a missing or unavailable (NA) object. o is.na.hyperframe Returns a logical matrix indicating which entries of the hyperframe are NA values or NA objects. o 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 o compatible.im Accelerated in the common case where all rasters are identical. o connected.owin New argument 'polygonal' allows calculation of connected components using polygonal geometry instead of pixel-based algorithm. o harmonise.im Accelerated in the common case where all rasters are identical. o identify.psp New arguments 'paint' and 'paint.args'. o im.apply Now handles vector-valued functions. o nnmark New arguments 'ties' and 'proper'. o nndist New argument 'proper'. o nnwhich New argument 'proper'. o pixellate.psp New option: what='indicator' o plot.im The position of text next to the colour ribbon can now be controlled by 'riblab$side'. o plot.im Placement of main title improved, in some cases. o 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. o "[<-.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 o delaunay Crashed in some cases when X contained exactly 3 points. Fixed. o plot.im riblab$side was ignored. Fixed. o "[<-.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. CHANGES IN spatstat.geom VERSION 3.4-1 OVERVIEW o Bug fix. BUG FIXES o default.symbolmap.ppp Crashed in some cases, for marks of class 'Date'. Fixed. CHANGES IN spatstat.geom VERSION 3.4-0 OVERVIEW o Nonlinear colour maps and symbol maps. o Backgrounds for image plots. o `im.apply` handles larger datasets. o `quadratcount.ppp` supports left-closed, right-open rectangular tiles. o Minor improvements and bug fixes. SIGNIFICANT USER-VISIBLE CHANGES o colourmap New arguments 'compress', 'decompress' for nonlinear colour maps. o default.symbolmap.ppp Argument 'marktransform' renamed 'transform' for consistency. o im.apply Improved algorithm avoids violating memory limits, handles larger datasets. o lut New arguments 'compress', 'decompress' for nonlinear lookup tables. o plot.colourmap New argument 'at' determines the position of tick marks on the axis. o 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. o plot.im Return value has attribute 'at' giving the position of tick marks on the axis next to the colour ribbon. o plot.yardstick New arguments 'zebra.scale' and 'do.txt'. o quadratcount.ppp New argument 'left.open' controls the treatment of data points which lie on the boundary between two rectangular quadrats. o symbolmap New arguments 'transform', 'compress', 'decompress' for nonlinear symbol maps. BUG FIXES o plot.solist, plot.imlist When 'equal.scales=TRUE' and 'equal.ribbon=TRUE', the argument 'log=TRUE' was ignored. Fixed. o plot.im If log=TRUE, the colour map returned by plot.im represented the colours applied to log10(x) rather than x. Fixed. o flipxy.psp The line segments were unchanged. Fixed. CHANGES IN spatstat.geom VERSION 3.3-6 OVERVIEW o We thank Warick Brown, Tilman Davies and Martin Hazelton for contributions. o Methods for functions which are constant on each tile of a tessellation. o Minor improvements. NEW FUNCTIONS o integral.tessfun Integral of a function which is constant on each tile of a tessellation o 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 o plot.yardstick New argument 'style' allows different styles of plotting a scale bar including a zebra pattern (style = "zebra"). o plot.yardstick New arguments 'zebra.step', 'zebra.width', 'zebra.col'. o as.mask Corrected a warning message. CHANGES IN spatstat.geom VERSION 3.3-5 OVERVIEW o We thank Stephanie Hogg and Tingting Zhan for contributions. o Improvements to plotting of images, and arrays of images. o More control over plotting of colour maps, symbol maps and texture maps. o hyperframes handle a 'Surv' object as a single column. o Bug fixes and minor improvements. NEW FUNCTIONS o rev.colourmap Reverses the sequence of colour values in a colour map. A method for the generic 'rev'. SIGNIFICANT USER-VISIBLE CHANGES o 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] o 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. o plot.im New argument 'reverse.col' allows the sequence of colours to be reversed. [Suggested by Stephanie Hogg.] o 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. o plot.solist, plot.anylist Arguments 'adorn.left', 'adorn.right', 'adorn.bottom', 'adorn.top' may now be objects of class 'colourmap' or 'symbolmap'. o plot.solist, plot.anylist New argument 'adorn.args'. o plot.imlist, image.imlist, image.listof New argument 'equal.scales'. o plot.colourmap New formal argument 'side'. o plot.symbolmap New formal argument 'side'. o plot.texturemap New formal argument 'side'. o persp.im Now recognises argument 'adj.main' controlling the position of main title. o persp.ppp Now recognises argument 'adj.main' controlling the position of main title. BUG FIXES o rotate.im Did not preserve the name of the unit of length. [Spotted by Stephanie Hogg.] Fixed. o 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. CHANGES IN spatstat.geom VERSION 3.3-4 OVERVIEW o Tessellations can have any kind of marks. o More control over default colours. o Minor improvements. NEW FUNCTIONS o default.image.colours, reset.default.image.colours Control the default colours used for plotting images in spatstat. SIGNIFICANT USER-VISIBLE CHANGES o tess, marks<-.tess A tessellation can now have any kind of marks (vector, list, data frame or hyperframe). o intersect.tess Now handles marks of any kind (vector, list, data frame or hyperframe). o pixelquad Now accepts arguments passed to 'as.mask' to control the pixel resolution. o persp.ppp Now draws a reference scale bar for the vertical scale, by default. New arguments 'legend', 'legendpos', 'leg.args', 'leg.col'. o persp.ppp Optionally draws a symbol at the top of each spike. New arguments 'type', 'point.args'. CHANGES IN spatstat.geom VERSION 3.3-3 OVERVIEW o Perspective plot of spatial point pattern with numerical marks. o Improvements to rjitter.ppp o Tweaks to documentation. NEW FUNCTIONS o 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 o rjitter.ppp New argument 'adjust' allows the default radius to be adjusted. o rjitter.ppp The resulting point pattern now has attribute 'radius'. o rjitter.ppp If 'retry=TRUE', the resulting point pattern now has attribute 'tries' which reports the number of trials that were required. CHANGES IN spatstat.geom VERSION 3.3-2 OVERVIEW o Tweaks to documentation to satisfy the package checker. CHANGES IN spatstat.geom VERSION 3.3-1 OVERVIEW o Tweaks to documentation to satisfy the package checker. CHANGES IN spatstat.geom VERSION 3.3-0 OVERVIEW o 'spatstat.geom' now depends on the new package 'spatstat.univar'. o Some functions have been moved into the package 'spatstat.univar'. o Tweaked plot functions. o More support for diagram objects. o Stability improvements and bug fixes. PACKAGE DEPENDENCE o 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 o default.symbolmap.ppp The algorithm for determining the graphical symbol map used by plot.ppp. o default.symbolmap New generic. o affine.diagramobj, reflect.diagramobj, rotate.diagramobj Methods for geometrical transformations of diagram objects. SIGNIFICANT USER-VISIBLE CHANGES o identify.ppp Automatically starts a new plot device and displays `x` if there is no plot device open. o identify.psp Identified segments are highlighted. Automatically starts a new plot device and displays `x` if there is no plot device open. o plot.owin New argument 'adj.main' controls the justification of the text in the main title. o plot.colourmap New argument 'nticks' controls the number of axis tick marks when the colourmap is defined on a continuous range of numerical values. o plot.colourmap New argument 'box' controls whether a box will be drawn around the colours. o plot.tess Changed the default values for do.col and do.labels o layout.boxes Argument 'aspect' can be NA or Inf indicating that the aspect ratio of the boxes is unconstrained. o simplepanel Improved stability. o shift Improved stability o as.colourmap.symbolmap A warning message, occurring when the symbolmap contains more than one colour map, is suppressed if the colour maps are identical. o 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 o ewcdf This function has been moved to the new package 'spatstat.univar' along with most of the methods for class 'ewcdf'. o mean.ewcdf, quantile.ewcdf, quantilefun.ewcdf These methods have been moved to the new package 'spatstat.univar'. o hotrod This function has been moved to the new package 'spatstat.univar'. o integral The generic 'integral' and the method 'integral.density' have been moved to the new package 'spatstat.univar'. o quantilefun, quantilefun.ewcdf The generic 'quantilefun' and the method 'quantile.ewcdf' have been moved to the new package 'spatstat.univar'. o rounding, rounding.default The generic 'rounding' and the method 'rounding.default' have been moved to the new package 'spatstat.univar'. o transformquantiles This function has been moved to the new package 'spatstat.univar'. o weighted.median This function has been moved to the new package 'spatstat.univar'. o whist This function has been moved to the new package 'spatstat.univar'. o uniquemap, uniquemap.default, uniquemap.data.frame, uniquemap.matrix The generic 'uniquemap' and these methods have been moved to the new package 'spatstat.univar'. o unnormdensity This function has been moved to the new package 'spatstat.univar'. BUG FIXES o plot.ppp, default.symbolmap.ppp Ignored 'zerosize' in some cases. Fixed. o plot.symbolmap Issued strange warnings in some cases. Fixed. o symbolmap Crashed in some instances when 'inputs' was given and the graphical parameters included both functions and vectors. Fixed. CHANGES IN spatstat.geom VERSION 3.2-9 OVERVIEW o Some geometry code accelerated. NEW FUNCTIONS o summary.symbolmap, print.summary.symbolmap Method for 'summary' for symbol maps. SIGNIFICANT USER-VISIBLE CHANGES o as.rectangle Accelerated in many cases. o diameter.owin Accelerated when the window is a rectangle. o nncross.ppp Slightly accelerated. o owin Accelerated in many cases. CHANGES IN spatstat.geom VERSION 3.2-8 OVERVIEW o Improvements to window geometry code. o Improvements to symbol map displays. SIGNIFICANT USER-VISIBLE CHANGES o is.subset.owin Algorithm slightly modified to give better results when the two polygons share some common edges. o plot.ppp New argument 'minsize' specifies the size of the smallest symbol used to represent the marks, when the marks are numeric. o plot.ppp New argument 'zerosize' specifies the size of the symbol used to represent the mark value 0, when marks are numeric. o plot.symbolmap New argument 'representatives' specifies which data values will be shown in the plot. CHANGES IN spatstat.geom VERSION 3.2-7 OVERVIEW o Minor corrections to the help files. CHANGES IN spatstat.geom VERSION 3.2-6 OVERVIEW o Minor improvements. o spatstat.geom no longer suggests 'maptools'. SIGNIFICANT USER-VISIBLE CHANGES o as.im.tess New argument 'values'. CHANGES IN spatstat.geom VERSION 3.2-5 OVERVIEW o Extension of distance transform algorithm. o Improvement to progress reports. o Suppress annoying warnings. o Further bug fix in quadratcount SIGNIFICANT USER-VISIBLE CHANGES o distmap.owin New argument 'connect'. o progressreport The estimated time of completion is also printed, if the remaining time is longer than 10 minutes. o unnormdensity Suppress annoying warning messages from density.default. This affects many functions in the spatstat family of packages. BUG FIXES o quadratcount Crashed if argument 'tess' was a rectangular grid tessellation. Fixed. CHANGES IN spatstat.geom VERSION 3.2-4 OVERVIEW o Connected component transform can now use a 4-connected grid. o Bug fixes in quadrat counting code. SIGNIFICANT USER-VISIBLE CHANGES o connected.owin, connected.im New argument 'connect' specifies the connectivity of the raster, either 4 or 8 neighbours for each pixel. o round.ppp, round.pp3, round.ppx Now has ellipsis argument '...' for conformity with generic 'round' BUG FIXES o 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. o intensity.quadratcount Results were incorrect if the quadrats were a mixture of irregular polygons and rectangles. o 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. o 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. CHANGES IN spatstat.geom VERSION 3.2-2 OVERVIEW o Bug fixes and minor improvements. SIGNIFICANT USER-VISIBLE CHANGES o as.mask Improved numerical performance (rounding error). BUG FIXES o quantess.owin The window of the resulting tessellation was sometimes slightly different from the original window M. Fixed. o 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. CHANGES IN spatstat.geom VERSION 3.2-1 OVERVIEW o Fixed errors and omissions in documentation. o Minor improvements in C code. CHANGES IN spatstat.geom VERSION 3.2-0 OVERVIEW o We thank Warick Brown and Tilman Davies for suggestions. o More options for converting polygons to a binary mask. o More options for controlling pixel size. o Improvement to progress reports. o Minor tweaks to package documentation. NEW FUNCTIONS o 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 o 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. o as.mask New argument 'rule.eps' specifies what to do when the desired pixel size is not a divisor of the frame size. o as.im Many methods for 'as.im' now have argument 'rule.eps'. o discretise New argument 'rule.eps' o distfun New argument 'rule.eps' o nnfun New argument 'rule.eps' o progressreport New argument 'formula' controls the calculation of estimated time remaining. o progressreport New argument 'savehistory' specifies whether to save the elapsed times when the function was called. CHANGES IN spatstat.geom VERSION 3.1-0 OVERVIEW o Methods for "[[" and "[[<-" for hyperframes. o Colour map for pH values. o Restrict a colour map to a narrower range of values. o Integral of a one-dimensional density estimate. o Minor improvements and bug fixes. NEW FUNCTIONS o "[[.hyperframe", "[[<-.hyperframe" Methods for "[[" and "[[<-" for hyperframes. o pHcolourmap, pHcolour Colour map for values of pH o restrict.colourmap Restrict a colourmap to a narrower range of values. o integral.density Compute the integral of a one-dimensional kernel density estimate. o as.colourmap Extract colour information from an object. SIGNIFICANT USER-VISIBLE CHANGES o plot.symbolmap New argument colour.only makes it possible to display only the colour map information in a symbolmap. o "[.hyperframe", "[<-.hyperframe" Improved error message when the format of index i or j is not supported. o unnormdensity Computation accelerated. o unnormdensity Handles datasets containing fewer than 2 values. BUG FIXES o 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. o unnormdensity A crash could occur if 'x' was a very long vector, with an error message originating from 'deparse1'. Fixed. CHANGES IN spatstat.geom VERSION 3.0-6 OVERVIEW o Bug fix. BUG FIXES o harmoniseLevels Crashed sometimes, in older versions of R, with an obscure error message from 'mapply'. Fixed. CHANGES IN spatstat.geom VERSION 3.0-5 OVERVIEW o Convert several factors or factor-valued images to a common set of levels. o Extension to rjitter o Alternative to rjitter o Quantile function as a function o Improvements to plot code. NEW FUNCTIONS o harmoniseLevels Given several factors or factor-valued pixel images, convert them all to have the same set of factor levels. o 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'. o quantilefun Return a function that computes any quantiles of a given dataset. SIGNIFICANT USER-VISIBLE CHANGES o 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. o 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. o plot.symbolmap New argument 'warn'. o plot.symbolmap Issues a warning if the plot of a discrete symbol map does not represent every possible input value, due to space restrictions. o 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 o "[<-.im" Errors occurred in x[] <- v when x and v were both factor-valued but with different sets of levels. o rjitter.ppp If retry=FALSE, marks were ignored. Fixed. CHANGES IN spatstat.geom VERSION 3.0-4 OVERVIEW o Improvements to perspective plots. SIGNIFICANT USER-VISIBLE CHANGES o perspPoints, perspLines, perspSegments, perspContour New argument 'occluded' specifies whether the surface should be treated as opaque or transparent. CHANGES IN spatstat.geom VERSION 3.0-3 OVERVIEW o Minor internal changes to satisfy package checker. CHANGES IN spatstat.geom VERSION 3.0-2 OVERVIEW o Minor internal changes to satisfy package checker. CHANGES IN spatstat.geom VERSION 3.0-1 OVERVIEW o Minor internal changes. CHANGES IN spatstat.geom VERSION 3.0-0 OVERVIEW o Minor improvements and bug fixes. o Changes to package dependence. NEW FUNCTIONS o is.linnet Test whether an object is a linear network. o as.data.frame.ppplist Method for 'as.data.frame' for lists of point patterns. SIGNIFICANT USER-VISIBLE CHANGES o Package dependence spatstat.geom now suggests the new packages spatstat.explore and spatstat.model, which have replaced spatstat.core. o crosspairs.ppp New argument 'periodic' specifies whether to use periodic (toroidal) distances. o crosspairs.ppp New arguments 'iX', 'iY' make it possible to eliminate pairs in which the two points are identical. o bufftess The result now has attribute 'breaks' which is the vector of distance breakpoints. o contour.im New argument 'log' specifies whether the contour lines should be equally spaced on a logarithmic scale. o plot.im, image.im New argument 'addcontour' specifies that contour lines should be drawn over the image plot. o invoke.symbolmap New argument 'angleref'. o funxy The result now has a unitname, inherited from the argument W. o integral.im New argument 'weight' specifies a weight function for the integration. o markstat, applynbd These functions now work for point patterns in three dimensions (class 'pp3') and point patterns on a network (class 'lpp'). o plot.psp New argument 'use.marks', for consistency with other methods. BUG FIXES o framedist.pixels Result was always a matrix, regardless of the value of 'style'. Fixed. o plot.im Ignored ribargs$labels. Fixed. o plot.ppp Crashed with an obscure message when argument 'shape' was given, unless argument 'size' was also given. Fixed. o closepairs Crashed if npoints(X)^2 exceeded the largest possible integer. Fixed. o crosspairs Crashed if npoints(X) * npoints(Y) exceeded the largest possible integer. Fixed. CHANGES IN spatstat.geom VERSION 2.4-0 OVERVIEW o We thank Fernando Milesi, Suman Rakshit and Mark Walsh for contributions. o Bug fixes in 'distmap' and 'distfun'. o Bug fixes in 'closepairs'. o Bug fixes in 'nncross.ppp'. o Minor improvements and bug fixes. NEW FUNCTIONS o framedist.pixels Computes distance from each pixel to the enclosing rectangle. SIGNIFICANT USER-VISIBLE CHANGES o nncross.ppp When X is a point pattern and Y is a line segment pattern, higher order neighbours (k > 1) are now supported. o intersect.tess New argument 'keepempty'. o unnormdensity Argument 'weights' may have length 1. New argument 'defaults'. o 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.] o distmap.ppp New argument 'clip'. BUG FIXES o 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. o 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. o distmap.owin Values were incorrect if X was an empty window (is.empty(X) = TRUE). Fixed. o distmap.ppp, distmap.psp Values were incorrect if X was an empty pattern (npoints(X) = 0). Fixed. o distmap.psp Values were incorrect if X was an empty pattern (nsegments(X) = 0). Fixed. o closepairs.ppp If distinct=FALSE and what="all", the resulting vectors 'yi' and 'yj' contained incorrect values, and had the wrong length. Fixed. o nncross.ppp When k > 1, distance values were incorrectly replaced by 'Inf' in some cases. Fixed. o closepairs.ppp Crashed with a message 'unable to allocate memory' if the window of X had zero area. Fixed. o crosspairs.ppp Crashed with a message 'unable to allocate memory' if the window of Y had zero area. Fixed. o closepairs.pp3 Crashed with a message 'unable to allocate memory' if the domain of X had zero volume. Fixed. o crosspairs.pp3 Crashed with a message 'unable to allocate memory' if the domain of Y had zero volume. Fixed. o as.im.owin If 'value' was a categorical (factor) value, the result was not a factor-valued image. Fixed. o 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. o 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. CHANGES IN spatstat.geom VERSION 2.3-2 OVERVIEW o 'spatstat.geom' now suggests the package 'spatstat.random'. o Updated help files to refer to 'spatstat.random'. CHANGES IN spatstat.geom VERSION 2.3-1 OVERVIEW o New options for weighted.quantile o Minor improvements. SIGNIFICANT USER-VISIBLE CHANGES o weighted.quantile New argument 'type' allows the user to choose between several rules for the weighted quantile. o weighted.median New argument 'type' allows the user to choose between several rules for the weighted median. The default rule has changed. o perspSegments Improved quality of result when pixels are not square. o 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). o 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). o split.ppp, split.ppx The argument 'f' may now be the character string "marks", signifying 'f=marks(X)', provided 'marks(X)' is a factor. o owin If argument 'mask' is a logical matrix, NA entries will be accepted, and converted to FALSE. CHANGES IN spatstat.geom VERSION 2.3-0 OVERVIEW o Quantile transformation. o Distance metric based on a convex set. o Basic support for calculations using non-Euclidean distance metrics. o Improvements to 'rjitter'. NEW CLASSES o metric An object of class 'metric' represents a distance metric. See help(metric.object). NEW FUNCTIONS o transformquantiles Transform the quantiles of a vector, matrix, array or pixel image. o convexmetric Distance metric based on a convex set. o mean.ecdf, mean.ewcdf Calculate the mean of an empirical cumulative distribution function. o invoke.metric Low level function to perform a desired operation using a given metric. o rjitter.ppp This function was previously called 'rjitter'. It is now a method for the new generic function 'rjitter'. SIGNIFICANT USER-VISIBLE CHANGES o pairdist.ppp, crossdist.ppp, nndist.ppp, nnwhich.ppp, nncross.ppp New argument 'metric' specifies a non-Euclidean distance metric to measure the distances. o distmap.ppp, distmap.owin, distmap.psp New argument 'metric' specifies a non-Euclidean distance metric to measure the distances. o disc New argument 'metric' specifies a non-Euclidean distance metric defining the disc. o rjitter The function previously called 'rjitter' is now called 'rjitter.ppp' and is now a method for the new generic 'rjitter'. o rjitter.ppp The argument 'radius' may be a numeric vector, specifying a different displacement radius for each data point. BUG FIXES o as.mask Crashed if 'Frame(w)' had zero height or zero width. Fixed. CHANGES IN spatstat.geom VERSION 2.2-2 OVERVIEW o Bug fix in package information. CHANGES IN spatstat.geom VERSION 2.2-1 OVERVIEW o More options for converting a window to a mask. o Minor improvements and internal upgrades. NEW FUNCTIONS o owin2mask Convert a window to a mask, with various options, affecting the treatment of the boundary. SIGNIFICANT USER-VISIBLE CHANGES o 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'. CHANGES IN spatstat.geom VERSION 2.2-0 OVERVIEW o We thank Warick Brown for contributions. o Buffer tessellation o New options for distmap.psp NEW FUNCTIONS o bufftess Distance buffer tessellation SIGNIFICANT USER-VISIBLE CHANGES o distmap.psp New arguments 'extras' and 'clip' CHANGES IN spatstat.geom VERSION 2.1-0 OVERVIEW o We thank Hank Stevens for contributions. o Extension to 'discretise'. o Bug fix in nncross o Minor improvements and bug fixes SIGNIFICANT USER-VISIBLE CHANGES o discretise New argument 'move.points' determines whether the point coordinates are also discretised. o summary.im Output improved when the image is empty (i.e. when all pixel values are undefined). BUG FIXES o nncross.ppp If the argument 'by' was given, some of the results were incorrect. [Spotted by Hank Stevens.] Fixed. o nncross.ppp, nncross.pp3 If 'iX' and 'iY' were given, some of the results were incorrect. Fixed. CHANGES IN spatstat.geom VERSION 2.0-1 OVERVIEW o Minor bug fix BUG FIXES o pixellate.ppp crashed if 'weights' contained any NA values. Fixed. CHANGES IN spatstat.geom VERSION 2.0-0 OVERVIEW o Reduced package dependence. o Improvement to venn.tess. o Changed default value of 'stringsAsFactors'. SIGNIFICANT USER-VISIBLE CHANGES o spatstat.geom No longer depends on 'spatstat.sparse'. o venn.tess New argument 'labels'. o 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) o 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. o integral.im Accelerated in the case where 'domain' is a tessellation. o cbind.hyperframe Row names are not altered (previously they were altered using 'make.names') o [.ppx New argument 'clip' BUG FIXES o 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. o MinkowskiSum Crashed sometimes with an error message about 'sumconnected'. Fixed. o hyperframe Crashed if the argument 'row.names' was given and the hyperframe had exactly one row. Fixed. CHANGES IN spatstat.geom VERSION 1.65-8 OVERVIEW o Reduced package dependence. SIGNIFICANT USER-VISIBLE CHANGES o spatstat.geom No longer depends on 'spatstat.sparse'. CHANGES IN spatstat.geom VERSION 1.65-7 OVERVIEW o Tweak. CHANGES IN spatstat.geom VERSION 1.65-6 OVERVIEW o We thank Jean-Francois Coeurjolly for contributions. o Bug fix in 'inradius' BUG FIXES o inradius Coded incorrectly for rectangular windows. [Spotted by Jean-Francois Coeurjolly] Fixed. CHANGES IN spatstat.geom VERSION 1.65-5 OVERVIEW o Minor changes to satisfy CRAN. CHANGES IN spatstat.geom VERSION 1.65-4 OVERVIEW o Minor changes to satisfy CRAN. CHANGES IN spatstat.geom VERSION 1.65-3 OVERVIEW o NEWS file initialised. CHANGES IN spatstat.geom VERSION 1.65-2 OVERVIEW o Minor changes to satisfy CRAN. CHANGES IN spatstat.geom VERSION 1.65-1 OVERVIEW o Minor changes to satisfy CRAN. CHANGES IN spatstat.geom VERSION 1.65-0 OVERVIEW o Package initialised at version 1.65-0 from a subset of spatstat. o Increased speed for large datasets. o Bug fix in crossdist.pp3 with periodic distances. o Bug fixes and minor improvements. SIGNIFICANT USER-VISIBLE CHANGES o 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). o 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. o dirichletEdges New argument 'clip'. o harmonise.im The result belongs to class 'solist' and 'imlist' so that it can be plotted. BUG FIXES o crossdist.pp3 Results with periodic=TRUE were partially incorrect. Fixed. o affine.owin For mask windows, the pixel resolution of the result was too fine, leading to very large datasets. Fixed. o affine.im If the transformation matrix was not diagonal, the pixel resolution of the result was too fine, leading to very large datasets. Fixed. o 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. o dirichletEdges Crashed if any edges crossed the boundary of the window. Fixed. o 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.