← Back to all sparks
S

spatstat.geom

ANALYTICS
Velocity2.5

Sub-package of spatstat defining spatial data and spatial/geometrical operations

The geometry layer under spatstat, steadily absorbing 3D patterns and missing-data semantics

spatial-statisticscomputational-geometryr-packagethree-dimensionalvisualisation
Current state
spatstat.geom holds the spatial data structures and geometric operations the rest of the spatstat family builds on — windows, tessellations, images, point patterns and the operations that move between them. Recent releases split their attention between extending those structures to three dimensions and hardening the discretisation code where polygonal geometry meets a pixel grid. 3.8-2 adds more capabilities for three-dimensional point patterns.
Where it's heading
Two threads run through this window. The first is a family-wide push into 3D that originated in the simulation package and has now reached the geometry layer. The second is a slower semantic change: 3.5-0 introduced missing or unavailable (NA) spatial objects, and 3.6-0 followed with more facilities for handling them, meaning an absent window or image became a representable value rather than an error. Around both, the plotting and discretisation code accretes steadily — nonlinear colour maps, plot backgrounds, transparency control, signed distance transforms, and repeated attention to boundary pixels.
Prediction
Expect the 3D surface here to keep filling in behind the simulation package rather than leading it, given that 3.8-2 follows the 3D simulation release by two months. The entries give no indication that the NA work is finished, since it has already spanned two releases.

Recent moves

  1. 20d ago

    More three-dimensional point pattern capabilities

    More capabilities for three-dimensional point patterns, plus minor improvements and bug fixes. This is the geometry layer catching up to the 3D simulation work that landed in spatstat.random two months earlier — the same arc moving from generating volumetric patterns to manipulating them.

    View source ↗
  2. 2mo ago

    Better boundary pixel handling when discretising windows

    Improved handling of boundary pixels when discretising a polygonal window, and of rejected points. Boundary pixel treatment decides which cells fall inside a window when a polygon is rasterised, so it quietly shifts the results of anything computed on the discretised version.

    View source ↗
  3. 6mo ago

    Analytic level sets and signed distance transforms

    Level sets computed by analytic geometry for some functions rather than by pixel approximation, plus signed distance transforms and functions. Alongside these come presentation options — more perspective plot settings, easier image transparency control, and colour scrambling for point and segment patterns.

    View source ↗
  4. 10mo ago

    NA object handling extended; clickpoly gains grid snapping

    Extends the NA object work started in 3.5-0 with more facilities for handling missing spatial objects, and adds plot backgrounds, grid snapping for `clickpoly` vertices, better perspective image views and more disc window options.

    View source ↗
  5. 1y ago

    NA spatial objects, hole removal and connected components

    Introduces missing or unavailable (NA) spatial objects, making an absent window or image a representable value rather than an error — a semantic change the next release then extends. The same release adds interactive tessellation tile identification, small hole removal from windows, new nearest-neighbour definitions, vector-valued `im.apply`, layered object concatenation and connected components of polygonal windows.

    View source ↗
  6. 1y ago

    Nonlinear colour and symbol maps; half-open quadrat tiles

    Nonlinear colour maps and symbol maps arrive, letting a plot's scale follow a skewed intensity rather than stretching linearly across it. `im.apply` handles larger datasets and `quadratcount.ppp` supports left-closed, right-open rectangular tiles, which fixes how points on a tile boundary get counted.

    View source ↗