# RELEASE NOTES
## spatstat 1.39-0
### 23 October 2014
We thank Shane Frank, Shaaban Ghalandarayeshi, Ute Hahn,
Mahdieh Khanmohammadi, Nicoletta Nava, Jens Randel Nyengaard,
Sebastian Schutte, Rasmus Waagepetersen and Carl G. Witthoft
for contributions.
### OVERVIEW
* ANOVA extended to Gibbs models.
* Improved algorithm for locally-scaled K-function.
* Leave-one-out calculation of fitted values in ppm objects.
* New dataset: presynaptic vesicles.
* Geometrical operations with windows and images.
* More edge corrections for K-function.
* Improved handling and plotting of 'fv' objects.
* Utilities for perspective views of surfaces.
* New classes 'anylist', 'solist' will ultimately replace 'listof'.
* Bug fixes.
* Version nickname: 'Smoke and Mirrors'
### NEW DATASETS
* vesicles
Synaptic vesicles
(includes raw data files for training purposes)
### NEW CLASSES
* anylist
List of objects.
(A replacement for 'listof')
* solist
List of two-dimensional spatial objects.
(A replacement for some uses of 'listof')
### NEW FUNCTIONS
* perspPoints, perspLines, perspSegments, perspContour
Draw points and lines on a surface, as seen in perspective view.
* hopskel.test
Hopkins-Skellam test of CSR
* project2set
For each data point in a point pattern X, find the nearest
spatial location in a given window W.
* stienen, stienenset
Stienen diagrams
* dirichlet.vertices
Vertices of the Dirichlet tessellation
* discs
Union of discs.
Given a point pattern dataset recording the locations and diameters
of objects, find the region covered by the objects.
* increment.fv
Increments of a summary function: g(x) = f(x+h)-f(x-h).
* rotmean
Rotational average of pixel values in an image
* fardist
Distance from each pixel/data point to farthest part of window boundary
* circumradius.owin
Circumradius of a window
* rmax.Trans, rmax.Ripley
Compute the maximum distance 'r' for which the
translation edge correction and isotropic edge correction
are valid.
* is.grey
Determines whether a colour value is a shade of grey.
* harmonise
Convert several objects of the same class to a common format.
(New generic function with existing methods harmonise.im and harmonise.fv)
* area
New generic function, with methods for 'owin' and 'default'.
* Fhazard
Hazard rate of empty space function
* anylist, as.anylist, [.anylist, [<-.anylist, print.anylist, summary.anylist
Support for new class 'anylist'
* solist, as.solist, [.solist, [<-.solist, print.solist, summary.solist
Support for new class 'solist'
* plot.anylist, plot.solist
Plot methods for the classes 'anylist' and 'solist'
(Currently identical to 'plot.listof')
### SIGNIFICANT USER-VISIBLE CHANGES
* anova.ppm
Now applies to Gibbs models as well as Poisson models,
using adjusted composite likelihood ratio test statistic.
* persp.im
If visible=TRUE, the algorithm will also calculate which pixels of x
are visible in the perspective view. This is useful for drawing
points or lines on a perspective surface.
* Kest
New option: correction="rigid" computes the rigid motion correction.
* pairwise interactions
Fitted parameters and other calculations for pairwise interaction models
DiggleGatesStibbard, DiggleGratton, Fiksel, Geyer, Strauss
may change slightly due to a change in handling numerical rounding effects.
* eval.fv
Functions no longer need to have exactly the same sequence of 'r' values.
They will now be made compatible using 'harmonise.fv'.
* fitted.ppm
New argument 'leaveoneout' allows leave-one-out calculation
of fitted intensity at original data points.
* Kinhom, Linhom
New argument 'leaveoneout' specifies whether the leave-one-out rule
should be applied when calculating the fitted intensities.
* crosspaircounts
Results may change slightly due to a change in handling numerical
rounding effects.
* Fest, Gest
New argument 'domain' supports bootstrap methods.
* plot.fv
New argument 'mathfont' determines the font (e.g. plain, italic, bold)
for mathematical expressions on the axes and in the legend.
Defaults to italic.
* scanpp
Upgraded to handle multiple columns of mark data.
* circumradius
The function 'circumradius' is now generic, with methods
for the classes 'owin' and 'linnet'.
* edge.Trans
New argument 'give.rmax'
* fvnames, plot.fv
The symbol '.a' is now recognised. It stands for 'all function values'.
* as.function.fv
Argument 'extrapolate' can have length 1 or 2.
* varblock
New argument 'confidence' determines the confidence level.
* $<-.fv
This can now be used to add an extra column to an 'fv' object
(previously it refused).
* minnndist, maxnndist
New argument 'positive'. If TRUE, coincident points are ignored:
the nearest-neighbour distance of a point is the distance to the
nearest point that does not coincide with the current point.
* plot.fv
Improved handling of 'shade' argument.
* Kmeasure
Now passes '...' arguments to as.mask()
* Ksector
Now allows start < 0.
New arguments 'units' and 'domain'.
* pairorient
New arguments 'units' and 'domain'.
* eroded.areas
New argument 'subset'
* disc
New argument 'delta'
* plot.plotppm
New argument 'pppargs'
* harmonise.fv, harmonise.im
These are now methods for the new generic 'harmonise'
* Fest, Gest
These functions now also compute the theoretical value of hazard
for a Poisson process, if correction = "km".
* with.fv
Improved mathematical labels.
* Gfox, Jfox
Improved mathematical labels.
* area.owin
This function is now a method for the new generic 'area'
* edges
Default for argument 'check' changed to FALSE.
### BUG FIXES
1. varblock
Calculations were incorrect if more than one column of
edge corrections was computed.
[Bug introduced in spatstat 1.21-1, november 2010.]
Fixed.
2. varblock
Crashed if one of the quadrats contained no data points.
Fixed.
3. lohboot
Interval was calculated wrongly when global=TRUE and fun="Lest" or "Linhom".
Fixed.
4. nnmark
Crashed when at="points" if there was only a single column of marks.
[Spotted by Shane Frank.]
Fixed.
5. plot.msr
Some elements of the plot were omitted or cut off.
Fixed.
6. plot.msr
Did not work with 'equal.scales=TRUE'.
Fixed.
7. plot.msr, augment.msr
Crashed if every data point was duplicated.
Fixed.
8. as.im.owin
Crashed if X was a 1 x 1 pixel array.
Fixed.
9. owin
Coordinates of polygon data were altered slightly when fix=TRUE.
[Spotted by Carl Witthoft.]
Fixed.
10. objects of class 'fv'
Assigning a new value to names(x) or colnames(x) or dimnames(x)
would cause the internal data format to become corrupted.
Fixed.
11. to.grey, complementarycolour
Did not work properly on 'colourmap' objects.
Fixed.
12. Kest
Ignored argument 'var.approx' if the window was a rectangle.
Fixed.
13. rmh.ppm, rmhmodel.ppm
Ignored the argument 'new.coef'.
[Spotted by Sebastian Schutte]
Fixed.
14. as.function.fv
The meanings of 'extrapolate=TRUE' and 'extrapolate=FALSE' were swapped.
Fixed.
15. varblock
Handled the case 'fun=Lest' incorrectly.
Fixed.
16. [.fv
Sometimes garbled the internal data format, causing plot.fv to crash.
Fixed.
17. range.fv
Sometimes returned NA even when na.rm=TRUE.
Fixed.
18. Fest
Argument 'eps' was not interpreted correctly.
Fixed.
19. plot.fv
Argument 'lwd' was not passed to legend()
20. flipxy.owin
Sometimes deleted the name of the unit of length.
Fixed.