BayesBD: An R Package for Bayesian Inference on Image Boundaries

We present the BayesBD package providing Bayesian inference for boundaries of noisy images. The BayesBD package implements flexible Gaussian process priors indexed by the circle to recover the boundary in a binary or Gaussian noised image. The boundary recovered by BayesBD has the practical advantages of guaranteed geometric restrictions and convenient joint inferences under certain assumptions, in addition to its desirable theoretical property of achieving (nearly) minimax optimal rate in a way that is adaptive to the unknown smoothness. The core sampling tasks for our model have linear complexity, and are implemented in C++ for computational efficiency using packages Rcpp and RcppArmadillo. Users can access the full functionality of the package in both the command line and the corresponding shiny application. Additionally, the package includes numerous utility functions to aid users in data preparation and analysis of results. We compare BayesBD with selected existing packages using both simulations and real data applications, demonstrating the excellent performance and flexibility of BayesBD even when the observation contains complicated structural information that may violate its assumptions.

Nicholas Syring , Meng Li

CRAN packages used

BayesBD, RcppArmadillo, shiny

CRAN Task Views implied by cited packages

NumericalMathematics, WebTechnologies


Text and figures are licensed under Creative Commons Attribution CC BY 4.0. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".


For attribution, please cite this work as

Syring & Li, "The R Journal: BayesBD: An R Package for Bayesian Inference on Image Boundaries", The R Journal, 2017

BibTeX citation

  author = {Syring, Nicholas and Li, Meng},
  title = {The R Journal: BayesBD: An R Package for Bayesian Inference on Image Boundaries},
  journal = {The R Journal},
  year = {2017},
  note = {},
  doi = {10.32614/RJ-2017-052},
  volume = {9},
  issue = {2},
  issn = {2073-4859},
  pages = {149-162}