	CHANGES IN spatstat VERSION 1.22-3

OVERVIEW 

    o  Important bug fix to simulation code

    o  Miscellaneous improvements

    o  spatstat now depends on R 2.13.0 or later

    o  We thank Ege Rubak, Kaspar Stucki, Vadim Shcherbakov,
       Jesper Moller and Ben Taylor for contributions.

NEW FUNCTIONS

    o  is.stationary, is.poisson
       New generic functions for testing whether a point process model 
       is stationary and/or Poisson.
       Methods for ppm, kppm, slrm etc

    o  raster.xy
       raster coordinates of a pixel mask

    o  zapsmall.im
       'zapsmall' for pixel images

SIGNIFICANT USER-VISIBLE CHANGES

    o  density.ppp
       New argument 'diggle' allows choice of edge correction

    o  rotate.owin, affine.owin
       These functions now handle binary pixel masks.
       New argument 'rescue' determines whether rectangles will be preserved

BUG FIXES

    o  rmh, simulate.ppm
       Serious bug - simulation was completely incorrect in the case of 
       a multitype point process with an interaction that does not depend
       on the marks, such as ppm(betacells, ~marks, Strauss(60))
       The calling parameters were garbled.
       Fixed.

    o  effectfun
       Crashed if the covariate was a function(x,y).
       Fixed.

    o  lurking
       Gave erroneous error messages about 'damaged' models.
       Fixed.

    o  envelope.ppm
       Did not recognise when the fitted model was equivalent to CSR.
       Fixed.

    o  plot.ppx
       Crashed in some cases. Fixed.

	CHANGES IN spatstat VERSION 1.22-2

OVERVIEW 

    o  Fitting and simulation of log-Gaussian Cox processes
       with any covariance function

    o  More support for 'kppm' and 'rhohat' objects

    o  K-function for point patterns on a linear network

    o  Metropolis-Hastings algorithm now saves its transition history

    o  Easier control of dummy points in ppm

    o  Convert an 'fv' object to an R function 

    o  spatstat now depends on the package 'RandomFields'

    o  We thank Abdollah Jalilian, Shen Guochun, Rasmus Waagepetersen,
       Ege Rubak and Ang Qi Wei for contributions.

NEW FUNCTIONS

    o linearK
      Computes the Okabe-Yamada network K-function 
      for a point pattern on a linear network.

    o pairdist.lpp
      Shortest-path distances between each pair of points 
      on a linear network.

    o vcov.kppm
      Asymptotic variance-covariance matrix for regression parameters
      in kppm object. 
      [Contributed by Abdollah Jalilian and Rasmus Waagepetersen]

    o rLGCP
      Simulation of log-Gaussian Cox processes
      [Contributed by Abdollah Jalilian and Rasmus Waagepetersen]

    o predict.rhohat
      Method for 'predict' for objects of class 'rhohat'
      Computes a pixel image of the predicted intensity.

    o Kmodel, pcfmodel
      Generic functions that compute the K-function or pair correlation function
      of a point process *model*. 
      So far the only methods are for the class 'kppm'.

    o as.function.fv
      Converts a function value table (class 'fv') to a function in R

    o coef.kppm
      Method for 'coef' for objects of class 'kppm'

    o unitname, unitname<- 
      These generic functions now have methods for fitted model objects
      (classes ppm, slrm, kppm, minconfit) and quadrature schemes (quad).

    o nobs.ppm
      Method for 'nobs' for class 'ppm'.
      Returns the number of points in the original data.

SIGNIFICANT USER-VISIBLE CHANGES

    o kppm
      Can now fit a log-Gaussian Cox process

    o simulate.kppm
      Can now simulate a fitted log-Gaussian Cox process

    o lgcp.estK, lgcp.estpcf
      These functions previously fitted a log-Gaussian Cox process
      with exponential covariance. They can now fit a log-Gaussian Cox process
      with any covariance function implemented by the RandomFields package.

    o rmh
      If track=TRUE, the history of transitions of the Metropolis-Hastings
      algorithm is saved and returned.

    o ppm
      New argument 'nd' controls the number of dummy points.

    o as.fv
      Now handles objects of class kppm or minconfit.

    o rhohat
      If covariate = "x" or "y", the resulting object has the same
      'unitname' as the original point pattern data.

    o rhohat
      Now has arguments 'eps, 'dimyx' to control pixel resolution.

    o MultiStrauss, MultiHard, MultiStraussHard
      Default value of 'types' has been changed to NULL.

    o data(ants)
      The auxiliary data 'ants.extra' now includes a function called 'side'
      determining whether a given location is in the scrub or field region.
      Can be used as a covariate in ppm, kppm, slrm.

    o print.ppm
      Now has argument 'what' to allow only selected information to be printed.

BUG FIXES

    o profilepl
      Crashed in some cases involving multitype interactions.
      Fixed.

    o plot.splitppp
      Behaved incorrectly if 'main' was an expression.
      Fixed.

    o effectfun
      Crashed in trivial cases.
      Fixed.

    o kppm, thomas.estpcf, matclust.estpcf, lgcp.estpcf
      Gave a spurious warning message.
      Fixed.

    o step
      When applied to ppm objects this gave a spurious warning.
      Fixed.
    
	CHANGES IN spatstat VERSION 1.22-1

OVERVIEW 

    o  marked line segment patterns can now be plotted

    o  multitype point process models are now 'self-starting'

    o  new functions to manipulate colour images

NEW FUNCTIONS

    o rgbim, hsvim
      Specify three colour channels.
      These functions convert three pixel images with numeric values
      into a single image whose pixel values are strings representing colours.

    o scaletointerval
      Generic utility function to rescale data (including spatial data)
      to a specified interval

SIGNIFICANT USER-VISIBLE CHANGES

    o plot.im
      Can now plot images whose pixel values are strings representing colours.
      New argument 'valuesAreColours'
  
    o plot.psp
      Now handles marked line segment patterns 
      and plots the marks as colours.

    o MultiHard, MultiStrauss, MultiStraussHard
      The argument 'types' can now be omitted;
      it will be inferred from the point pattern data.

    o rhohat
      Improved mathematical labels (when the result of rhohat is plotted)

    o plot.fv
      Minor improvements in graphics

BUG FIXES

    o  several minor bug fixes and improvements to satisfy R-devel


	CHANGES IN spatstat VERSION 1.22-0

OVERVIEW 

    o  support for point patterns on a linear network

    o  'superimpose' is now generic

    o  improved mathematical labels when plotting functions

NEW CLASSES

    o linnet
      An object of class 'linnet' represents a linear network,
      i.e. a connected network of line segments, such as a road network.
      Methods for this class include plot, print, summary etc.

    o lpp
      An object of class 'lpp' represents a point pattern on a linear network,
      such as a record of the locations of road accidents on a road network.
      Methods for this class include plot, print, summary etc.

NEW FUNCTIONS

    o runiflpp
      Uniformly distributed random points on a linear network

    o rpoislpp
      Poisson point process on a linear network

    o clickjoin
      Interactive graphics to create a linear network
    
    o superimpose
      The function 'superimpose' is now generic, with methods
      for ppp, psp and a default method.

    o as.ppp.psp 
      New method for as.ppp extracts the endpoints and marks
      from a line segment pattern

NEW DATASETS

    o simplenet
      Simple example of a linear network

SIGNIFICANT USER-VISIBLE CHANGES
  
    o superimposePSP 
      This function is now deprecated in favour of 'superimpose'

    o superimpose
      Now handles data frames of marks.

    o plot.fv
      Argument 'legendmath' now defaults to TRUE.
      New argument 'legendargs' gives more control over appearance of legend.
      Increased default spacing between lines in legend.

    o eval.fv, with.fv
      Functions computed using eval.fv or with.fv
      now have better labels when plotted.

    o summary functions
    (Kest, Kest.fft, Kcross, Kdot, Kmulti,
    Kinhom, Kcross.inhom, Kdot.inhom, Kmulti.inhom,
    Lest, Lcross, Ldot, 
    pcf, pcfcross, pcfdot, pcfinhom, pcfcross.inhom, pcfdot.inhom,
    Fest, Gest, Gcross, Gdot, Gmulti,
    Jest, Jcross, Jdot, Jmulti, Iest,
    localL, localK,
    markcorr, markvario, markconnect, Emark, Vmark, 
    allstats, alltypes)
         Improved plot labels.

BUG FIXES

    o superimpose
      If the marks components of patterns consisted of character
      vectors (rather than factors or non-factor numeric vectors)
      an error was triggered.
      Fixed.

    o plot.fv
      The y axis limits did not always cover the range of values
      if the argument 'shade' was used.
      Fixed.

    o plot.rhohat
      The y axis label was sometimes incorrect.
      Fixed.

    o plot.rhohat
      If argument 'xlim' was used, a warning was generated from 'rug'.
      Fixed.


	CHANGES IN spatstat VERSION 1.21-6

OVERVIEW 

    o   A line segment pattern can now have a data frame of marks.

    o	Various minor extensions and alterations in behaviour

NEW FUNCTIONS

    o   nsegments
    	Number of segments in a line segment pattern

SIGNIFICANT USER-VISIBLE CHANGES

    o   psp class
        A line segment pattern (object of class 'psp') can now have a 
	data frame of marks. 

    o   density.ppp
    	New argument 'adjust' makes it easy to adjust the smoothing bandwidth

    o   plot.envelope
    	If the upper envelope is NA but the lower envelope is finite,
	the upper limit is now treated as +Infinity

    o 	msr
        Argument 'continuous' renamed 'density'

BUG FIXES    

    o   [.psp 
        In X[W] if X is a line segment pattern and W is a polygonal window,
	marks were sometimes discarded, leading to an error.
	Fixed.

    o   [.psp 
        In X[W] if X is a line segment pattern and W is a rectangular window,
	if the marks of X were factor values, they were converted to integers.
	Fixed.

    o   superimposePSP
    	If the marks were a factor, they were mistakenly converted to integers.
	Fixed.

    o   is.marked.ppp 
    	Did not generate a fatal error when na.action="fatal" as described
	in the help file. 
	Fixed. 

	CHANGES IN spatstat VERSION 1.21-5

OVERVIEW 

    o	Increased numerical stability.
	
    o	New 'self-starting' feature of interpoint interactions.
	
SIGNIFICANT USER-VISIBLE CHANGES

    o 	ppm
        Interaction objects may now be 'self-starting'
    	i.e. initial parameter estimates can be computed
	from the point pattern dataset. 
	So far, only the LennardJones() interaction 
	has a self-starting feature.

    o   LennardJones
	Increased numerical stability.
	New (optional) scaling argument 'sigma0'.
	Interpoint distances are automatically rescaled
	using 'self-starting' feature. 
		
    o	vcov.ppm
	New argument 'matrix.action' controls what happens when
	the matrix is ill-conditioned.
	Changed name of argument 'gamaction' to 'gam.action'

    o   rmhmodel.ppm
	Default resolution of trend image has been increased.

    o   is.poisson.ppm
	Accelerated.

    o   ppm, kppm, qqplot.ppm
	Improved robustness to numerical error


	CHANGES IN spatstat VERSION 1.21-4

OVERVIEW 

    o	Urgent bug fix

BUGS
 
    o   print.summary.ppm exited with an error message,
    	if the model had external covariates.
    	Fixed.


	CHANGES IN spatstat VERSION 1.21-3

OVERVIEW 

    o	Point process model covariates may now depend on additional parameters.

    o	New class of signed measures, for residual analysis.

    o   Miscellaneous improvements and bug fixes.

NEW FUNCTIONS

    o   clarkevans.test
    	Classical Clark-Evans test of randomness

    o   msr
	New class 'msr' of signed measures and vector-valued measures
	supporting residual analysis.

    o   quadrat.test.quadratcount
	Method for 'quadrat.test' for objects of class 'quadratcount'
	(allows a chi-squared test to be performed on quadrat counts
	rather than recomputing from the original data)

    o   tile.areas
	Computes areas of tiles in a tessellation (efficiently)

SIGNIFICANT USER-VISIBLE CHANGES

    o   ppm
	The spatial trend can now depend on additional parameters.
	This is done by allowing spatial covariate functions
	to have	additional parameters: function(x, y, ...)
	where ... is controlled by the new argument 'covfunargs' to ppm

    o   profilepl
	Can now maximise over trend parameters as well as interaction parameters

    o   residuals.ppm
    	The value returned by residuals.ppm is now an object 
	of class 'msr'. It can be plotted directly.

    o   eval.im
	When the argument 'envir' is used, eval.im() now recognises
	functions as well as variables in 'envir'

    o   colourmap
	The argument 'col' can now be any kind of colour data

    o   persp.im
	The 'colmap' argument can now be a 'colourmap' object

    o   ppm
    	The print and summary methods for 'ppm' objects 
	now show standard errors for parameter estimates
	if the model is Poisson.

    o   quadrat.test
	The print method for 'quadrattest' objects
	now displays information about the quadrats

    o   lurking
    	Improved format of x axis label

    o   distmap.ppp
   	Internal code is more robust.
BUGS

    o  im
	Did not correctly handle 1 x 1 arrays.
	Fixed.

    o   as.mask, pixellate.ppp
    	Weird things happened if the argument 'eps' was set
	to a value greater than the size of the window.
	Fixed.

	CHANGES IN spatstat VERSION 1.21-2

OVERVIEW 

    o   New multitype hardcore interaction.

    o   Nonparametric estimation of covariate effects on point patterns.

    o   Output of 'Kmeasure' has been rescaled.

    o   Numerous improvements and bug fixes.

NEW FUNCTIONS

    o   MultiHard
    	multitype hard core interaction for use in ppm() 

    o   coords<-
    	Assign new coordinates to the points in a point pattern

    o   rhohat
    	Kernel estimate for the effect of a spatial covariate
	on point process intensity

SIGNIFICANT USER-VISIBLE CHANGES

    o   as.ppp.matrix, as.ppp.data.frame
    	These methods for 'as.ppp' now accept a matrix or data frame
	with any number of columns (>= 2) and interpret the additional
	columns as marks.

    o   Kmeasure
    	The interpretation of the output has changed:
	the pixel values are now density estimates.

    o   rmh.ppm, rmhmodel.ppm
    	These functions now accept a point process model
	fitted with the 'MultiHard' interaction

    o   rmh.default, rmhmodel.default
    	These functions now accept the option: cif='multihard'
	defining a multitype hard core interaction.	

    o   markcorr
    	Now handles a data frame of marks

    o   varblock
    	Improved estimate in the case of the K function

    o   colourmap, lut
    	New argument 'range' makes it easier to specify a colour map
	or lookup table

    o   [<-.hyperframe
    	Now handles multiple columns

    o   plot.fv
    	Improved y axis labels

    o   spatstat.options
    	New option 'par.fv' controls default parameters for line plotting

    o   rmhmodel
    	More safety checks on parameter values.

    o   quadratresample
    	New argument 'verbose'

    o   smooth.fv
    	Default value of 'which' has been changed.

BUGS

    o   Kest
    	If the argument 'domain' was used, the resulting estimate
	was not correctly normalised.
	Fixed.

    o   Kest
    	The Lotwick-Silverman variance approximation was incorrectly
	calculated. (Spotted by Ian Dryden and Igor Chernayavsky).
	Fixed.
    	
    o   plot.owin, plot.ppp
    	Display of binary masks was garbled if the window was 
	empty or if it was equivalent to a rectangle.
	Fixed.

    o   plot.bermantest
    	One of the vertical lines for the Z1 test was in the wrong place.
	Fixed.

    o   marks<-.ppx
    	Crashed in some cases.
	Fixed.

    o   is.convex
    	An irrelevant warning was issued (for non-convex polygons).
	Fixed.

	CHANGES IN spatstat VERSION 1.21-1

OVERVIEW 

    o   Confidence intervals for K-function and other statistics

    o   Bug fixes for smoothing and relative risk estimation

NEW FUNCTIONS

    o   varblock
    	Variance estimation (and confidence intervals)
	for summary statistics such as Kest, using subdivision technique

    o   bw.stoyan
    	Bandwidth selection by Stoyan's rule of thumb.

    o   which.max.im
     	Applied to a list of images, this determines which image
	has the largest value at each pixel.

    o   as.array.im
    	Convert image to array

SIGNIFICANT USER-VISIBLE CHANGES

    o   smooth.ppp, markmean, sharpen.ppp, relrisk, bw.relrisk
    	Further acceleration achieved.

    o   Kest
    	Argument 'correction' now explicitly overrides automatic defaults

    o   plot.fv
    	More robust handling of 'shade'

BUGS

    o   relrisk
    	Format of relrisk(at="points") was incorrect.
	Fixed.

    o   bw.relrisk
    	Result was incorrect in the default case method="likelihood"
	because of previous bug.
	Fixed.
    	
    o   Jdot, Jcross, Jmulti
    	Return value did not include the hazard function, when correction="km"
	Fixed.

    o   Jdot, Jcross, Jmulti
    	Format of output was incompatible with format of Jest.
	Fixed.

   
	CHANGES IN spatstat VERSION 1.21-0

OVERVIEW 

    o   Implemented Spatial Logistic Regression

    o   Implemented nonparametric estimation of relative risk
        with bandwidth selection by cross-validation.

    o   Smoothing functions can handle a data frame of marks.

    o   New options in Kinhom; default behaviour has changed.

NEW FUNCTIONS

    o   slrm
    	Fit a spatial logistic regression model

    o   anova.slrm, coef.slrm, fitted.slrm, logLik.slrm, plot.slrm, predict.slrm
    	Methods for spatial logistic regression models

    o   relrisk
    	Nonparametric estimation of relative risk 

    o   bw.relrisk
    	Automatic bandwidth selection by cross-validation

    o   default.rmhcontrol
        Sets default values of Metropolis-Hastings parameters

SIGNIFICANT USER-VISIBLE CHANGES

    o   smooth.ppp, markmean
    	These functions now accept a data frame of marks.

    o   Kinhom
	Default behaviour has changed. 
    	New argument 'renormalise=TRUE' determines scaling of estimator
	and affects bias and variance in small samples.

    o   residuals.ppm
    	Now also computes the score residuals.

    o   plot.im
    	New argument 'ribscale'

    o   plot.listof, plot.splitppp
    	New arguments panel.begin, panel.end and panel.args

    o   ppp
    	Now checks for NA/NaN/Inf values in the coordinates

    o   envelope.ppm
    	Changed default value of 'control' 
    	New argument 'nrep'
    	
    o   qqplot.ppm
    	Changed default value of 'control' 

BUGS

    o   marks<-.ppp, setmarks, %mark%
    	A matrix of marks was accepted by ppp() 
	but not by these assignment functions. 
	Fixed.

    o   density.ppp, smooth.ppp, sharpen.ppp, markmean
    	Crashed if the bandwidth was extremely small.
	Fixed.

	CHANGES IN spatstat VERSION 1.20-5

OVERVIEW 

    o   Accelerated computations of kernel smoothing.

    o	Implemented Choi-Hall data sharpening.

NEW FUNCTIONS

    o   sharpen.ppp
    	Performs Choi-Hall data sharpening of a point pattern

SIGNIFICANT USER-VISIBLE CHANGES

    o   density.ppp, smooth.ppp
    	Computation has been vastly accelerated 
	for density(X, at="points") and smooth.ppp(X, at="points")

    o   Kinhom
    	Accelerated in case where lambda=NULL
	
    o   Vignette 'shapefiles' updated


	CHANGES IN spatstat VERSION 1.20-4

OVERVIEW

    o   New functions for inhomogeneous point patterns
    	and local analysis.

    o   Pair correlation function for 3D point patterns

    o   Minor improvements and bug fixes to simulation code and image functions


NEW FUNCTIONS

    o   pcf3est
    	Pair correlation function for 3D point patterns.

    o   Kscaled, Lscaled
	Estimator of the template K function (and L-function)
	for a locally-scaled point process.
        
    o   localpcf
        Local version of pair correlation function

    o   identify.psp
    	Method for 'identify' for line segment patterns.

    o   as.im.matrix
    	Converts a matrix to a pixel image

SIGNIFICANT USER-VISIBLE CHANGES

    o   rMaternI, rMaternII
	New argument 'stationary=TRUE' controls whether the 
	simulated process is stationary (inside the simulation window).
	Default simulation behaviour has changed.

    o   im
        New arguments 'xrange', 'yrange' 

    o   envelope
	Improvements to robustness of code.

BUGS

   o    quadratcount
   	If V was a tessellation created using a factor-valued image,
	quadratcount(X, tess=V) crashed with the error
	"Tessellation does not contain all the points of X".
	Fixed.

   o	[.im
   	If Z was a factor valued image and X was a point pattern
	then Z[X] was not a factor.
	Fixed.

	CHANGES IN spatstat VERSION 1.20-3

OVERVIEW

    o   minor improvements (mostly internal).

NEW FUNCTIONS

    o   unmark.ppx
    	Method for 'unmark' for general space-time point patterns

SIGNIFICANT USER-VISIBLE CHANGES

    o   plot.ppx
    	Now handles marked patterns, in two-dimensional case

    o   as.psp.psp
    	Default value of argument 'check' set to FALSE

	CHANGES IN spatstat VERSION 1.20-2

OVERVIEW

    o   Extensions to minimum contrast estimation.

    o   Bug fix in simulation of Lennard-Jones model.
	
    o	More support for distance functions.
	
    o	Changes to point process simulations.


NEW FUNCTIONS

    o   thomas.estpcf
    	Fit Thomas process model by minimum contrast using the
	pair correlation function (instead of the K-function).

    o   matclust.estpcf
    	Fit Matern Cluster model by minimum contrast using the
	pair correlation function (instead of the K-function).

    o   lgcp.estpcf
    	Fit log-Gaussian Cox process model by minimum contrast using the
	pair correlation function (instead of the K-function).

    o   contour.distfun,  persp.distfun
    	Methods for 'contour' and 'persp' for distance functions

    o   default.expand
        Computes default window for simulation of a fitted point process model.

SIGNIFICANT USER-VISIBLE CHANGES

    o   kppm
    	Models can now be fitted using either the K-function
	or the pair correlation function.

    o   ppm
    	The list of covariates can now include windows 
	(objects of class 'owin'). A window will be treated
	as a logical covariate that equals TRUE inside the window
	and FALSE outside it.

    o   plot.distfun
    	Pixel resolution can now be controlled.

    o   envelope.ppm, qqplot.ppm
    	The default value of 'control' has changed;
	simulation results may be slightly different.

    o   rmh
    	Slightly accelerated.

BUGS

    o   rmh
    	Simulation of the Lennard-Jones model (cif = 'lennard') was incorrect
	due to an obscure bug, introduced in spatstat 1.20-1.
	Fixed.

    o   thomas.estK, matclust.estK, lgcp.estK
    	The value of 'lambda' (if given) 
	was ignored if X was a point pattern.
	Fixed.

	CHANGES IN spatstat VERSION 1.20-1

OVERVIEW

    o   Further increases in speed and efficiency of ppm and rmh

    o   New pairwise interaction model 


NEW FUNCTIONS

    o   DiggleGatesStibbard
    	Diggle-Gates-Stibbard pairwise interaction for use in ppm()

SIGNIFICANT USER-VISIBLE CHANGES

    o   ppm
    	has been accelerated by a factor of 10 for the BadGey interaction.

    o   rmh
    	simulation of the Lennard-Jones model (cif='lennard')
	has been greatly accelerated.

    o   rmh, rmhmodel.ppm
    	Point process models fitted by ppm() using the DiggleGatesStibbard
	interaction can be simulated automatically using rmh.

BUG FIXES

    o   fitin
    	The plot of a fitted Hardcore interaction was incorrect.
	Fixed.

	CHANGES IN spatstat VERSION 1.20-0

OVERVIEW

    o   spatstat now contains over 1000 functions.

    o   Substantial increase in speed and efficiency 
        of model-fitting code.

    o   Changes to factor-valued images.

SIGNIFICANT USER-VISIBLE CHANGES

    o	ppm
	has been accelerated by a factor of 10,
        and can handle datasets with 20,000 points,
        for the following interactions: 
	DiggleGratton, Fiksel, Geyer, Hardcore, Strauss, StraussHard

    o   predict.ppm 
        accelerated by a factor of 3 (when type = "cif")
	with vastly reduced memory requirements
	for the following interactions: 
	DiggleGratton, Fiksel, Geyer, Hardcore, Strauss, StraussHard

    o   pixel images (class "im")
    	The internal representation of factor-valued images has changed.
	Existing objects in the old format should still work.

    o   im
	The syntax for creating a factor-valued image has changed.
    	Argument 'lev' has been deleted.

    o   ppm 
    	Some warnings have been reworded for greater clarity.

BUG FIXES

    o   [.im
    	Mishandled some factor-valued images.
	Fixed.

    o   hist.im
    	Produced slightly erroneous output for some factor-valued images.
	Fixed.

    o   plot.owin
    	Filled polygons appeared to contain criss-cross lines
	on some graphics drivers.
	Fixed.

    o   deltametric
    	Did not handle windows with different enclosing frames
	(error message: 'dA and dB are incompatible')
	Fixed.

    o   quadratcount
    	Crashed if the pattern was empty and the window was a rectangle.
	(Noticed by Sandro Azaele)
	Fixed.

    o   rNeymanScott
    	Crashed if the parent process realisation was empty.
	(Noticed by Sandro Azaele)
	Fixed.


	CHANGES IN spatstat VERSION 1.19-3

ACKNOWLEDGEMENTS

    o   We thank David Dereudre for contributions.    

OVERVIEW

    o   Urgent bug fix to Metropolis-Hastings for Lennard-Jones model.

    o   Miscellaneous additions to plotting and colour management.

NEW FUNCTIONS

    o   col2hex, rgb2hex, paletteindex, samecolour
    	Functions for converting and comparing colours.

    o   plot.envelope
	New method for plotting envelopes.
	By default the area between the upper and lower envelopes
	is shaded in grey.

SIGNIFICANT USER-VISIBLE CHANGES

    o	plot.fasp
	If the entries in the array are envelopes,
	they are plotted using plot.envelope
	(hence the envelope region is shaded grey).

    o   plot.fv
        Now displays mathematical notation for each curve,
	if legendmath=TRUE.

    o   print.fv
	Now prints the available range of 'r' values
	as well as the recommended range of 'r' values.

BUGS

    o   rmh
        Simulation of Lennard-Jones model was incorrect;
	the simulations were effectively Poisson patterns.
	(Spotted by David Dereudre.)
	Fixed.

    o   plot.fv
	Did not correctly handle formulas that included I( )
	Fixed.

   
	CHANGES IN spatstat VERSION 1.19-2

ACKNOWLEDGEMENTS

    o   We thank Jorge Mateu, Michael Sumner and Sebastian Luque
        for contributions.    

OVERVIEW

    o   More support for fitted point process models and pixel images.

    o   Improved plotting of pixel images and envelopes.
        
    o   Simulation algorithm for Lennard-Jones process.
	
    o   Improvements and bug fixes to envelopes. 
	
    o   Bug fixes to Metropolis-Hastings simulation.

NEW FUNCTIONS

    o   pairs.im
    	Creates a scatterplot matrix for several pixel images.

    o   model.frame.ppm
    	Method for 'model.frame' for point process models.

    o   sort.im
        Method for 'sort' for pixel images.

SIGNIFICANT USER-VISIBLE CHANGES

    o   plot.fv, plot.fasp
 	New argument 'shade' enables confidence intervals
        or significance bands to be displayed as filled grey shading.

    o   LennardJones
    	The parametrisation of this interaction function has been changed.

    o   rmh, rmhmodel
        These functions will now simulate a point process model
	that was fitted using the LennardJones() interaction.

    o   rmh.default, rmhmodel.default
    	These functions will now simulate a point process model
	with the Lennard-Jones interaction (cif='lennard').

    o   ecdf
    	This function now works for pixel images.

    o   dim, row, col
        These functions now work for pixel images.

    o   order
    	This function now works for pixel images.

    o   [.im and [<-.im 
    	The subset index can now be any valid subset index for a matrix.

    o   density.ppp, smooth.ppp
    	The return value now has attributes 'sigma' and 'varcov'
	reporting the smoothing bandwidth.

    o   plot.im
        The argument 'col' can now be a 'colourmap' object.
        This makes it possible to specify a fixed mapping between
	numbers and colours (e.g. so that it is consistent between
	plots of several different images).

    o   rmh, spatstat.options
    	spatstat.options now recognises the parameter 'expand' 
	which determines the default window expansion factor in rmh.

    o   rmh
    	Improved handling of ppm objects with covariates.

    o   kstest
        The 'covariate' can now be one of the characters "x" or "y"
	indicating the Cartesian coordinates.

BUG FIXES

    o   model.matrix.ppm
    	For a fitted model that used a large number of quadrature points,
	model.matrix.ppm sometimes reported an internal error about mismatch
	between the model matrix and the quadrature scheme.
	Fixed.

    o   plot.ppx
    	Minor bugs fixed.

    o   rmh
    	In rare cases, the simulated point pattern 
	included multiple points at the origin (0,0).
	(Bug introduced in spatstat 1.17-0.)
	Fixed.

    o   rmh, rmhmodel.ppm
    	Crashed when applied to a fitted multitype point process model
	if the model involved more than one covariate image.
	(Spotted by Jorge Mateu)
	Fixed.

    o   density.psp
    	If any segment had zero length, the result contained NaN values.
	(Spotted by Michael Sumner and Sebastian Luque.)
	Fixed.

    o   envelope
    	Crashed with fun=Lest or fun=Linhom if the number of points in 
	a simulated pattern exceeded 3000.
	Fixed.

    o   plot.kstest
    	Main title was corrupted if the covariate was a function.
	Fixed.


	CHANGES IN spatstat VERSION 1.19-1

OVERVIEW

    o New dataset: replicated 3D point patterns. 
      
    o Improvements to Metropolis-Hastings simulation code.
      
    o More support for hyperframes. 

    o Bug fixes.

NEW DATASETS

    o  osteo:
       Osteocyte Lacunae data: replicated 3D point patterns
       
NEW FUNCTIONS

    o  rbind.hyperframe:
       Method for rbind for hyperframes.

    o  as.data.frame.hyperframe:
       Converts a hyperframe to a data frame.

SIGNIFICANT USER-VISIBLE CHANGES

    o  Fiksel:
       Fitted point process models (class ppm) with the Fiksel()
       double exponential interaction can now be simulated by rmh.

    o rmh.default: 
       Point processes with the Fiksel interaction can now be
       simulated by specifying parameters in rmh.default.

    o  logLik.ppm:
        New argument 'warn' controls warnings.

    o  profilepl:
        No longer issues spurious warnings.
  
BUG FIXES

    o   Hardcore, rmh:
    	Simulation of the 'Hardcore' process was incorrect.
	The hard core radius was erroneously set to zero 
	so that the simulated patterns were Poisson.
	Fixed.

    o   fitin:
        A plot of the pairwise interaction function of a fitted model,
	generated by plot(fitin(model)) where model <- ppm(...), 
	was sometimes incorrect when the model included a hard core.
	Fixed.


	CHANGES IN spatstat VERSION 1.19-0

OVERVIEW

    o   Numerous bugs fixed in the implementation of
    	the Huang-Ogata approximate maximum likelihood method.

    o   New interpoint interaction model.

NEW FUNCTIONS

    o   Fiksel: 
        new interpoint interaction: Fiksel's double exponential model.

SIGNIFICANT USER-VISIBLE CHANGES

    o   runifpoint, rpoispp, envelope
    	These functions now issue a warning if the number of random points
	to be generated is very large. This traps a common error in
	simulation experiments.

BUG FIXES

    o   predict.ppm, fitted.ppm:
        Predictions and fitted values were incorrect for 
	objects fitted using ppm(..., method="ho").
	Fixed.

    o   logLik, AIC:
        Values of logLik() and AIC() were incorrect for 
    	objects fitted using ppm(..., method="ho").
	Fixed.

    o   profilepl:
    	Results were incorrect if the argument 'method="ho"' was used.
	Fixed.

    o   fitin
        The result of fitin() was incorrect for 
    	objects fitted using ppm(..., method="ho").
	Fixed.

    o   rmhcontrol: 
    	rmhcontrol(NULL) generated an error.
	Fixed.

	CHANGES IN spatstat VERSION 1.18-4

ACKNOWLEDGEMENTS

    o   We thank Michael Sumner for contributions.    

BUG FIXES

    o   pixellate.psp: segments shorter than one pixel width
    	were measured incorrectly if the 'weights' argument was present. 
	Fixed.

NEW FUNCTIONS

    o   pairdist.ppx, crossdist.ppx, nndist.ppx, nnwhich.ppx:
    	Methods for pairdist, crossdist, nndist, nnwhich 
	for multidimensional point patterns (class 'ppx')

    o	runifpointx, rpoisppx:
	Random point patterns in any number of dimensions

    o   boxx:
	Multidimensional box in any number of dimensions

    o   diameter.boxx, volume.boxx, shortside.boxx, eroded.volumes.boxx:
        Geometrical computations for multidimensional boxes

    o   sum.im, max.im, min.im: 
        Methods for sum(), min(), max() for pixel images.

    o   as.matrix.ppx:
	Convert a multidimensional point pattern to a matrix

SIGNIFICANT USER-VISIBLE CHANGES

    o   plot.ppp: New argument 'zap'

    o   diameter: This function is now generic, 
        with methods for "owin", "box3" and "boxx"

    o   eroded.volumes: This function is now generic, 
        with methods for "box3" and "boxx"

	CHANGES IN spatstat VERSION 1.18-3

ACKNOWLEDGEMENTS

    o   We thank Michael Sumner for contributions.    

BUG FIXES

    o   pixellate.psp: segments shorter than one pixel width
    	were measured incorrectly. Fixed.

    o   fv: 'alim' not handled correctly.  Fixed.

NEW FUNCTIONS

    o   smooth.fv:
        Applies spline smoothing to the columns of an fv object.
        

	CHANGES IN spatstat VERSION 1.18-2

ACKNOWLEDGEMENTS

    o   We thank Michael Sumner for contributions.    

NEW FUNCTIONS

    o   Gfox, Jfox:
        Foxall's G and J functions

    o   as.owin.distfun: 
        New method for as.owin extracts the domain of a distfun object.
    

SIGNIFICANT USER-VISIBLE CHANGES

    o   distfun: objects of class 'distfun', when called as functions,
        will now accept either two vectors (x,y) or a point pattern x.

    o   Hest: this function can now compute the	Hanisch estimator. 
        It now has arguments 'r', 'breaks' and 'correction', 
	like other summary functions. 

    o   Hest: new argument 'conditional'.

BUG FIXES

    o   pixellate.psp: Values were sometimes incorrect due to coding error.
    	(Spotted by Michael Sumner)
        Fixed.

    o   kstest: Crashed if the covariate contained NA's.
	Fixed.

    o   kstest: Crashed if X was a multitype point pattern 
	in which some mark values were unrepresented.
	Fixed.

    o   lurking: Minor bug in handling of NA values.
    	Fixed.

    o   Hest: labels of columns were incorrect. 
        Fixed.

	CHANGES IN spatstat VERSION 1.18-1

ACKNOWLEDGEMENTS

    o   we thank Andrew Bevan and Ege Rubak for suggestions.

NEW FUNCTIONS

    o   Hardcore: Hard core interaction (for use in ppm)

    o   envelope.pp3: simulation envelopes for 3D point patterns

    o   npoints: number of points in a point pattern of any kind

SIGNIFICANT USER-VISIBLE CHANGES

    o   rmh.ppm, rmhmodel.ppm:
    	It is now possible to simulate Gibbs point process models
	that are fitted to multitype point patterns using a
	non-multitype interaction, e.g.
	     data(amacrine)
	     fit <- ppm(amacrine, ~marks, Strauss(0.1))
	     rmh(fit, ...)

    o   rmh.ppm, rmhmodel.ppm, rmh.default, rmhmodel.default:
    	Hard core models can be simulated.

    o	rmh.default, rmhmodel.default:
   	The argument 'par' is now required to be a list, in all cases
	(previously it was sometimes a list and sometimes a vector).

    o   Fest:
        Calculation has been accelerated in some cases.

    o   summary.pp3 now returns an object of class 'summary.pp3'
    	containing useful summary information. It is plotted by
	'plot.summary.pp3'.

    o   F3est, G3est, K3est: these functions now accept 
        'correction="best"' 

    o   union.owin, intersect.owin: 
    	these functions now handle any number of windows.

    o   envelope.ppp, envelope.ppm, envelope.kppm: 
        argument lists have changed slightly

BUG FIXES

    o   Fest: The result of Fest(X, correction="rs") had a slightly
    	corrupted format, so that envelope(X, Fest, correction="rs")
	in fact computed the envelopes based on the "km" correction.
	(Spotted by Ege Rubak).
	Fixed.

    o   rmh (rmh.ppm, rmhmodel.ppm):
	rmh sometimes failed for non-stationary point process models,
	with a message about "missing value where TRUE/FALSE needed".
	(Spotted by Andrew Bevan).
	Fixed.

    o   diagnose.ppm, lurking:
        Calculations were not always correct if the model
	had conditional intensity equal to zero at some locations.
	Fixed.

    o   ppm, profilepl:
        If data points are illegal under the model (i.e. if any
        data points have conditional intensity equal to zero)
        the log pseudolikelihood should be -Inf but was sometimes
	returned as a finite value. Thus profilepl did not always 
	work correctly for models with a hard core.
	Fixed.

    o   F3est, G3est: 
    	Debug messages were printed unnecessarily.
	Fixed.

	CHANGES IN spatstat VERSION 1.18-0

ACKNOWLEDGEMENTS

    o   we thank Ege Rubak and Tyler Dean Rudolph for suggestions.

HEADLINES

    o   A point pattern is now allowed to have a data frame of marks
        (previously the marks had to be a vector).

    o   Extended capabilities for 'envelope' and 'kstest'.

NEW FUNCTIONS

    o	pixellate.psp,  as.mask.psp
    	Convert a line segment pattern to a pixel image or binary mask

    o   as.data.frame.im
        Convert a pixel image to a data frame

SIGNIFICANT USER-VISIBLE CHANGES

    o   A point pattern is now allowed to have a data frame of marks
        (previously the marks had to be a vector).

    o   Many functions in spatstat now handle point patterns with 
        a data frame of marks. 
	These include print.ppp, summary.ppp, plot.ppp, split.ppp.

    o   finpines, nbfires, shapley:
        The format of these datasets has changed. 
        They are now point patterns with a data frame of marks.

    o	envelope() is now generic, with methods for "ppp", "ppm" and "kppm".

    o   kstest() now handles multitype point patterns and 
        multitype point process models.

    o   nnclean() now returns a point pattern with a data frame of marks.

    o   plot.ppp() has new argument 'which.marks' to select one column
        from a data frame of marks to be plotted. 

    o   plot.ppp() now handles marks that are POSIX times.

    o   complement.owin now handles any object acceptable to as.owin.

BUG FIXES

    o   erosion(w) and opening(w) crashed if w was not a window.
        Fixed.

    o   diameter() and eroded.areas() refused to work if w was not a window.
        Fixed.

	CHANGES IN spatstat VERSION 1.17-6

ACKNOWLEDGEMENTS

    o   We thank Simon Byers and Adrian Raftery for generous contributions.

OVERVIEW

    o 	Nearest neighbour clutter removal algorithm

    o   New documentation for the 'fv' class.
	
    o	Minor improvements and bug fixes.

NEW FUNCTIONS

    o	nnclean: Nearest neighbour clutter removal for recognising features 
	in spatial point patterns. Technique of Byers and Raftery (1998) 
	[From original code by Simon Byers and Adrian Raftery,
	adapted for spatstat.]

    o	marks.ppx, marks<-.ppx: Methods for extracting and changing marks
	in a multidimensional point pattern

    o   latest.news: print news about the current version of the package

SIGNIFICANT USER-VISIBLE CHANGES

    o   news: spatstat now has a NEWS file which can be printed by
	typing news(package="spatstat").

    o	areaGain, areaLoss: New algorithms in case exact=TRUE.
	Syntax slightly modified.

    o	with.hyperframe: 
		- The result now inherits 'names' from the row names
		of the hyperframe. 

		- New argument 'enclos' controls the environment
		in which the expression is evaluated.

		- The algorithm is now smarter at simplifying the result
		when simplify=TRUE.

    o	update.ppm: Tweaked to improve the ability of ppm objects
	to be re-fitted in different contexts.


ADVANCED USERS ONLY
   
    o	Documentation for the class 'fv' of function value tables

	- fv: Creates an object of class 'fv' 

	- cbind.fv, collapse.fv: Combine objects of class 'fv'		

	- bind.fv: Add additional columns of data to an 'fv' object

		
BUG FIXES

    o	"$<-.hyperframe" destroyed the row names of the hyperframe.
	Fixed.	

    o	model.matrix.ppm had minor inconsistencies.
	Fixed.		

    o	ppm: The fitted coefficient vector had incorrect format
	in the default case of a uniform Poisson process. 
	Fixed.

    o	plot.ppx: Crashed if the argument 'main' was given.
	Fixed.

    o   envelope.ppp: Crashed if the object returned by 'fun' 
    	did not include a column called "theo".
    	Fixed.
