README.md

circuitscaper circuitscaper website

R-CMD-check

circuitscaper provides a streamlined R interface for Circuitscape.jl and Omniscape.jl. It allows you to run these high-performance landscape connectivity models entirely from R, while Julia handles the heavy lifting under the hood.

Note: circuitscaper is an independent R package and is not affiliated with the Circuitscape development team. It is a lightweight wrapper to the excellent Julia tools developed by Brad McRae, Viral Shah, Tanmay Mohapatra, Ranjan Anantharaman, and collaborators.

Installation

# 1. Install the R package
remotes::install_github("matthewkling/circuitscaper")

# 2. Let the package install Julia and the necessary Julia libraries
library(circuitscaper)
cs_install_julia()

Example

library(circuitscaper)
library(terra)

# Load an example resistance raster
resistance <- rast(system.file("extdata/resistance.tif", package = "circuitscaper"))

# Pairwise Circuitscape
# (result is a list containing the pairwise resistance matrix and current maps)
focal_sites <- matrix(c(10, 40, 40, 40, 25, 10), ncol = 2, byrow = TRUE)
result <- cs_pairwise(resistance, focal_sites)
plot(result$current_map)


# Omniscape -- wall-to-wall moving-window connectivity
# (result is a multi-layer raster of current flow variables)
result <- os_run(resistance, radius = 10)
plot(result$normalized_current)

Functions

| Function | Description | Julia backend | |--------------------------|-------------------------------------------------|--------------------------------------------------------------------| | cs_pairwise() | Pairwise effective resistance and current flow | Circuitscape.compute() | | cs_one_to_all() | One-to-all connectivity analysis | Circuitscape.compute() | | cs_all_to_one() | All-to-one connectivity analysis | Circuitscape.compute() | | cs_advanced() | Advanced mode with custom sources and grounds | Circuitscape.compute() | | os_run() | Omniscape moving-window connectivity | Omniscape.run_omniscape() | | cs_setup() | Initialize Julia session (called automatically) | JuliaCall::julia_library() | | cs_install_julia() | Install Julia and required packages | JuliaCall::install_julia(), JuliaCall::julia_install_package() |

Requirements

Learn More



Try the circuitscaper package in your browser

Any scripts or data that you put into this service are public.

circuitscaper documentation built on April 9, 2026, 5:09 p.m.