Research

Accelerometry, NHANES, neuroimaging, machine learning, and reproducible reporting.

A few threads run through my work: get messy biomedical data into a form people can analyze, write open-source software so others can do the same, and check that the methods hold up. Below are the projects I’m working on now, the papers I’d point someone to first, and the repositories I find most useful. Everything else is on the Software and Publications pages and on GitHub.

Accelerometry & wearables

Most of my current work is on wrist-worn accelerometers: turning raw, sub-second data into steps, sleep, non-wear, and activity measures that can be compared across devices and studies. With the JHU Wearables group I maintain a family of R packages, collected in activerse, that read data from many devices and run open-source algorithms, such as the Oxford step-count model, directly from R. A big part of this is benchmarking: we compare step-counting algorithms on publicly available data and in older adults in the ARIC study.

activerse

The JHU Wearables family of actigraphy packages, attached together.
R packageGitHub

stepcount

Run the OxWearables step-count models from R.
R packageCRAN downloads for stepcount

swan

Estimate sleep-wear, wake-wear, and non-wear from raw wrist accelerometry.
R packageGitHub

accel_in_r

Course materials on working with accelerometer data in R.
courseGitHub
No matching items

NHANES & population cohorts

NHANES is a nationally representative US sample with wrist accelerometry, and a lot of my time goes into making it usable. The 2011–2014 waves and the National Youth Fitness Survey released raw 80 Hz data, which is large and awkward to work with; nhanes_80hz is the pipeline we use to process it. We have used these data to compare step-counting algorithms across the US population and to study physical activity as a predictor of mortality, alongside similar work in the UK Biobank.

nhanes_80hz

Pipeline for the raw 80 Hz NHANES 2011–2014 and NNYFS accelerometry.
pipelineGitHub

mapnhanespa

Map physical activity to NHANES population quantiles.
R packageCRAN downloads for mapnhanespa

stepcadence

Compute cadence metrics from NHANES step-count data.
R packageGitHub

biobankr

UK Biobank accelerometry analysis.
analysisGitHub
No matching items

Neuroimaging

Much of my earlier work was on CT imaging of stroke: extracting the brain from head CT and segmenting intracerebral hemorrhage. Along the way I built R infrastructure for medical imaging, including Neuroconductor, a platform for imaging packages in R, and interfaces such as fslr and freesurfer that let you call the standard imaging tools from R. I still maintain these, and the CT work produced open methods and data, including a public high-resolution CT brain template.

No matching items

fslr

Call FSL from R; the base of much of my imaging work.
R packageGitHub

ichseg

Intracerebral hemorrhage segmentation of head CT.
R packageGitHub

high_res_ct_template

Paper, code, and images for a public high-resolution CT brain template.
dataGitHub

Neurohacking

Materials for the Neurohacking Coursera course on imaging in R.
courseGitHub

imaging_in_r

Neuroimaging analysis in R short course (ISBI 2017, ENAR 2018).
courseGitHub
No matching items

Machine learning & AI

Machine learning runs through all of this. For hemorrhage on CT we went from random-forest classification of each voxel to 3D deep neural networks, and then to Bayesian deep learning that outperformed the volume estimators used in clinical trials. In wearables, many of the best step, activity, and sleep models are deep-learning models written in Python; I wrap them in R so they can be run on large cohorts and compared fairly. I also care about how models are evaluated: ROC and AUC can mislead when the predictor is binary. More recently I’ve written opendataloader to turn PDFs into structured text from R.

actinet

Deep-learning activity recognition from accelerometry, from R.
R packageCRAN downloads for actinet

asleep

Estimate sleep from accelerometry data.
R packageCRAN downloads for asleep

cforward

Forward selection using concordance / C-index.
R packageCRAN downloads for cforward

opendataloader

Convert PDFs to Markdown, JSON, and HTML from R.
R packageGitHub
No matching items

Reproducible reporting

I want analyses that can be rerun and teaching materials that rebuild themselves. ari, the Automated R Instructor, turns slides and a script into narrated lecture videos, so a course can be regenerated when the material changes, and didactr builds on it to automate whole courses. Most of my papers ship with public code and data, and this site is itself built with Quarto from plain data files.

No matching items

ari

Turn slides and a script into narrated lecture videos.
R packageCRAN downloads for ari

didactr

Tools for building automated, regenerable courses.
R packageGitHub

diffr

Side-by-side diffs of code and text in HTML reports.
R packageCRAN downloads for diffr

biostatmethods

Data and code for Methods in Biostatistics with R.
bookGitHub
No matching items