        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.


