A package and a Shiny web application to create simulated gastric emptying data, and to analyze gastric emptying from clinical studies using a population fit with R and package
nlme. In addition, Bayesian fits with Stan to handle critical cases are implemented.
Part of the work has been supported by section GI MRT, Klinik für Gastroenterologie und Hepatologie, Universitätsspital Zürich; thanks to Werner Schwizer and Andreas Steingötter for their contributions.
Compilation of the Stan models needs several minutes.
The web interface can be installed on your computer, or run as web app.
Two models are implemented in the web interface
linexp, vol = v0 * (1 + kappa * t / tempt) * exp(-t / tempt):Recommended for gastric emptying curves with an initial volume overshoot from secretion. With parameter kappa > 1, there is a maximum after t=0. When all emptying curves start with a steep drop, this model can be difficult to fit.
powexp, vol = v0 * exp(-(t / tempt) ^ beta):The power exponential function introduced by Elashof et. al. to fit scintigraphic emptying data; this type of data does not have an initial overshoot by design. Compared to the
powexpis more reliable and rarely fails to converge in the presence of noise and outliers. The power exponential can be useful with MRI data when there is an unusual late phase in emptying.
nlmein package R
Program with simulated data (needs about 40 seconds till plot shows):
library(gastempt) dd = simulate_gastempt(n_records = 6, seed = 471) d = dd$data ret = stan_gastempt(d) print(ret$coef) print(ret$plot)
The image cannot be compiled on the Docker hub because the build runs out of memory in the standard configuration.
docker run --name gastempt --restart unless-stopped -p 3838:3838 -d dmenne/gastempt