        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.


