Fast C++ Primitives for the 'NeuroAnatomy Toolbox'

Fast functions implemented in C++ via 'Rcpp' to support the 'NeuroAnatomy Toolbox' ('nat') ecosystem. These functions provide large speed-ups for basic manipulation of neuronal skeletons over pure R functions found in the 'nat' package. The expectation is that end users will not use this package directly, but instead the 'nat' package will automatically use routines from this package when it is available to enable large performance gains.


natcpp

natverse Docs R-CMD-check Lifecycle: experimental CRAN status Codecov test coverage

The goal of natcpp is to provide accelerated routines through compiled C++ code for basic functions to support the natverse computational neuroanatomy ecosystem. natcpp is not designed to be used by end users but instead the nat package will use it when available to enable large speed-ups for some primitive operations. End users should therefore not count on the natcpp functions/interface being stable, especially during its initial development.

Our plan is to get this onto CRAN quite quickly so that binary packages will be available to Mac/Windows users who do not have a full C compiler toolchain installed. Once on CRAN, we will try to keep the package simple and stable, with infrequent updates. A development version will be available via the relevant github repository (see below). We do not intend to specify a GitHub remote so these updates will not be installed by default i.e. we will prefer CRAN binaries unless the user intervenes.

Installation

Install the released version of natcpp from CRAN with:

install.packages("natcpp")

For the development version, please do:

install.packages("natmanager")
natmanager::install(pkgs = 'natverse/natcpp')

Example

As already noted, the intention is that end users will only use the nat package (and that will automagically use natcpp when available). However to prove that everything is set up properly, you could do:

library(nat)
library(natcpp)
topntail(as.seglist(Cell07PNs[[1]]))

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("natcpp")

0.3.2 by Gregory Jefferis, 19 days ago


https://github.com/natverse/natcpp, https://natverse.org/natcpp/


Report a bug at https://github.com/natverse/natcpp/issues


Browse source code at https://github.com/cran/natcpp


Authors: Gregory Jefferis [aut, cre] (ORCID: , libigl contributors [ctb, cph] (bundled libigl fast winding number code (MPL-2.0); see src/vendor/README.md)


Documentation:   PDF Manual  


GPL (>= 3) license


Imports Matrix, methods, Rcpp

Suggests spelling, testthat

Linking to Rcpp, RcppEigen, RcppThread


See at CRAN