# RELEASE NOTES
## spatstat 1.64-0
### 27 April 2020
We thank Robert Aue, Tilman Davies, Greg McSwiggan, Tyler Rudolph
and Rasmus Plenge Waagepetersen for contributions.
### OVERVIEW
* Interactive graphics functions have been removed to a separate package.
* spatstat no longer needs the packages 'tcltk' and 'rpanel'.
* The suggested package 'maptools' should be version 0.9-9 or later.
* Important bug fix in density.ppp.
* Add new vertices to a linear network.
* Relative risk estimation on a network.
* Leave-one-out density estimation on a network.
* Improvements and extensions to linear networks code.
* Improvements to 'nndist' methods.
* Function lengths.psp has been renamed lengths_psp.
* Bug fixes related to mppm.
* Stability improvements.
* Version nickname: 'Susana Distancia'
### NEW FUNCTIONS
* relrisk.lpp
Method for 'relrisk' for point patterns on a linear network.
* bw.relrisklpp
Bandwidth selection for relative risk on a network.
* densityfun.lpp
Method for 'densityfun' for point patterns on a linear network.
* addVertices
Add new vertices to a network, at locations outside the existing network.
* lengths_psp
This is the new name of the function 'lengths.psp',
which had to be changed because of a conflict with the generic 'lengths'.
* densityEqualSplit
The equal-split algorithm for kernel density estimation on a network
is now visible as a separate function.
* densityHeat
The heat-equation algorithm for kernel density estimation on a network
is now visible as a separate function. It has also been extended
to computing leave-one-out density estimates at the data points.
* hotrod
Compute the heat kernel kappa(u,v) on a one-dimensional line segment.
* heatkernelapprox
Calculate an approximation to the value of the heat kernel
on a network evaluated at the source point, kappa(u,u).
### SIGNIFICANT USER-VISIBLE CHANGES
* nndist.pp3, nndist.ppx, nndist.lpp
These functions now recognise the argument 'by'
allowing computation of the nearest distance to each group of points.
* pairdist.lpp, crossdist.lpp
These functions can now handle large networks,
using the sparse representation.
* density.lpp, densityQuick.lpp
Infinite bandwidth (sigma=Inf) is now permitted,
and results in a density estimate that is constant over all locations.
* as.linnet.psp
The resulting network now has an attribute 'camefrom'
indicating the provenance of each line segment in the network.
* as.linnet.linnet
New argument 'maxsize'.
* repairNetwork
Increased capability of detecting and repairing inconsistencies.
* joinVertices
New argument 'marks'.
* insertVertices
Marks attached to the lines of the network are now retained.
* as.lpp
Accepts more data formats.
* iplot, iplot.ppp, iplot.layered, iplot.linnet, iplot.default
These interactive plotting functions have been removed from spatstat
into a new package 'spatstat.gui'
* istat
This interactive analysis function has been removed from spatstat
into a new package 'spatstat.gui'
* crossdist.lpp
New argument 'check'.
* lengths.psp
This function will soon be Deprecated,
in favour of the new name 'lengths_psp'
* density.lpp
Formal arguments changed. No effect on usage.
* integral.linim
Now handles complex-valued functions.
* transect.im
New argument 'nsample'.
* bw.lppl
Accelerated when distance="path".
* collapse.fv
Recognises the abbreviations used by fvnames()
### BUG FIXES
1. density.ppp
Edge correction factors were calculated incorrectly when the
window was not a rectangle, causing a negative bias in the
estimated intensity. [Spotted by Tilman Davies.]
Bug introduced in spatstat 1.57-0, october 2018.
Fixed.
2. mppm
Internal data were malformed if the interaction was Hardcore()
or MultiHard() or a hybrid involving these interactions.
This caused various errors when the fitted model was used.
Fixed.
3. mppm
Ignored the arguments 'nd' and 'eps' controlling the quadrature scheme.
Fixed.
4. "[.linnet", "[.lpp"
In X[W] where W is a window, if a vertex of the network
lay exactly on the boundary of W, an edge of length zero was created.
Fixed.
5. valid.ppm
Crashed sometimes when applied to the result of subfits().
Fixed.
6. as.im.densityfun
Crashed if argument W was missing.
Fixed.
7. as.linnet.linnet
This code could crash the R session, when sparse=FALSE, if there was
insufficient memory available to create the matrix of distances
between all pairs of network vertices.
Fixed.
8. Summary.linim
A spurious warning was generated when the operation any() or all()
was applied to a logical-valued image on a network.
Fixed.
9. "[<-.linim"
Crashed if the assignment would have replaced some existing NA values.
Fixed.