Skip to content

For-a-few-DPPs-more/spatstat-interface

Repository files navigation

spatstat-interface

Build PyPi version codecov Code style: black

Simple Python interface with the spatial statistics R package spatstat using rpy2.

Dependencies

Installation

You may consider using poetry to manage your whole project as described here https://github.com/guilgautier/template-python-project.

Install the project as a dependency

  • Install the latest version published on PyPi version

    # activate your virtual environment an run
    poetry add spatstat-interface
    # pip install spatstat-interface
  • Install from source (this may be broken)

    # activate your virtual environment an run
    poetry add git+https://github.com/For-a-few-DPPs-more/spatstat-interface.git
    # pip install git+https://github.com/For-a-few-DPPs-more/spatstat-interface.git

Install in editable mode and potentially contribute to the project

You may consider forking the repository.

In any case, your can clone the repository

  • if you have forked the repository

    git clone https://github.com/your_user_name/spatstat-interface.git
  • if you have not forked the repository

    git clone https://github.com/For-a-few-DPPs-more/spatstat-interface.git

Editable install with poetry

The package can be installed in editable mode along with

  • main (non-optional) dependencies, see [tool.poetry.dependencies] in pyproject.toml
  • development dependencies, [tool.poetry.group.dev.dependencies] in pyproject.toml
cd spatstat-interface
# poetry shell  # to create/activate local .venv (see poetry.toml)
poetry install
# poetry install --with dev
# poetry install --with dev --extras "notebook"

Editable install with pip

Consider using pip>=21.3.1, when installing packages defined by a pyproject.toml file.

cd spatstat-interface
# activate your virtual environment and run
pip install --editable .
# pip install --editable ".[notebook]" to install notebook dependencies

See also the pip install optional commands.

Documentation

Main resources

Notes about spatstat

The spatstat package has recently been split into multiple sub-packages and extensions. Warning: potential new splits may break your code!

Using spatstat-interface, sub-packages and extensions are accessible in the following way

from spatstat_interface.interface import SpatstatInterface

spatstat = SpatstatInterface()
# spatstat.spatstat is None
# spatstat.model is None
# spatstat.explore is None
# spatstat.geom is None

# load/import sub-packages or extensions
spatstat.import_package("model", "explore", "geom", update=True)
spatstat.model
spatstat.explore
spatstat.geom

Calling functions

Calling function.variant

To call the R function.variant

# R code pcf.ppp
spatstat.explore::pcf.ppp(X)

Replace . by _ to call function_variant in Python

# Python code pcf_ppp
spatstat.explore.pcf_ppp(X)

Keyword arguments

Consider using Python dictionaries to pass keyword arguments. Below are a few examples.

  • dot keywords, for example passing var.approx keyword argument won't work in Python

    # R code
    spatstat.explore::pcf.ppp(X, kernel="epanechnikov", var.approx=False)
    # Python code
    params = {"kernel": "epanechnikov", "var.approx": False}
    spatstat.explore.pcf_ppp(X, **params)
  • reserved keywords, for example lambda is a reserved Python keyword; it can't be used as a keyword argument

    # R code
    spatstat.model::dppGauss(lambda=rho, alpha=alpha, d=d)
    # Python code
    params = {"lambda": rho, "alpha": alpha, "d": d}
    spatstat.model.dppGauss(**params)

About

Simple Python interface with the spatstat R package using rpy2

Resources

License

Stars

Watchers

Forks

Packages

No packages published