I am delighted to inform you about a set of software tools I have been working on for the HABITUS project led by Jasper Schipperijn. I already mentioned this project in a blog post from 2020, so I think it is time for an update. The tools I worked on, named hbGPS, hbGIS, and HabitusGUI, aid the combined analysis of wearable accelerometer and GPS data. Here, I focussed on data collected with GPS sensors from the brand Qstartz. However, the accelerometer part of the functionality should be applicable to any accelerometer brand.
Earlier this year, Teun Remmers and Dave van Kann at Fontys University, who co-funded the development, successfully used the tools in a research publication. Nonetheless, we think ongoing community efforts are needed to improve the tools for use in the wider research community. In this blog post I summarise to you:
- The work that has been done.
- The additional work that we think is needed.
- How you as research community can help move the project forward.
A short history
Using GPS and accelerometer data for tracking human behaviour is not new. In fact, the research community has explored various tools and algorithms. Unfortunately, many of the tools that have been used have not been well preserved. For example, the PALMS software for detecting trips from GPS data and the software named palmsplus for matching PALMS output with GIS data are no longer maintained and available.
Efforts have been made to address this by the Python library PALMSpy which aims to reimplement PALMS and by R package palmsplusr which aims to replace palmsplus. Although this has been a great work, a couple of challenges remained:
- PALMSpy has primarily been developed to work in a cloud environment and not on desktop computers, which small scale usage. Further, PALMSpy has been tailored to older count-based activity monitor data that is no longer collected, has no functionality to estimate indoor versus outdoor, and is only functional for a limited number of GPS file formats.
- palmsplusr has been developed to be used interactively by the user and not as a dependency inside another software.
Additionally, the need for working with multiple tools written in Python and R complicates the local installation and usage for health researchers.
Initial efforts to address the limitations led me to the development of a set of new tools:
hbGPS
R package hbGPS aims to replace PALMSpy. Just like PALMSpy, hbGPS identifies trips from GPS data and fuses this with accelerometer data. However, instead of having its own accelerometer data processing functionality it fully relies on R package GGIR. As you may know, GGIR facilitates both historic and modern data formats and offers wide variety of data processing options. Another advantage of hbGPS over PALMSpy, is that hbGPS is much faster and can run on a laptop.
Please note that hbGPS does not attempt to replicate PALMS but has its own new algorithm for trip detection. It is a simple knowledge-driven algorithms to offer an intuitive base functionality. Although, we do not exclude adding data-driven techniques in the future.
hbGIS
This is a re-implementation of R package palmsplusr, developed by Tom Stewart, to ease using it as dependency inside other software. For example, the package now offers a single function interface and allows for configuration files. hbGIS is primarily intended to facilitate the analyses of the following scenarios:
- Time spent in and travel in between locations that participants are affiliated with (e.g. children and their school) and base locations participants (e.g. home).
- Time spent in and travel in between public location participants are not affiliated with (e.g. central park and beach park), or categories of locations (e.g. parks).
- Combinations of 1 and 2.
In the output you will find a summary of travel and physical behaviour per time point, per day, per trip and per recording. This part is most based on code provided by Tom Stewart, which I restructured to fit inside the new package.
HABITUSGUI
HABITUSGUI is a Shiny app as graphical user interface to configure and start the analyses of wearable sensor data with GGIR, hbGPS, and/or hbGIS. Originally the app was developed with a cloud environment in mind as PALMSpy could only run in the cloud. However, now hbGPS and hbGIS can both run fast on a desktop computer it may be considered less essential to use the Shiny app as all tools can also be used from the R environment directly.
Documentation
Each of the above mentioned packages has its own documentation, but additionally Josef Heidler, PhD-student at SDU, created a more high-level documentation overview page.
Acknowledgements
I would like to thank a number of people:
- Josef Heidler and Jasper Schipperijn for the productive brainstorm sessions that helped me develop this tool.
- Teun Remmers, Line Matthiesen and Josef Heidler for helping with testing.
- Tom Stewart for developing palmsplusr on which hbGIS is based and for guiding me through the code.
- Dave van Kann and Jasper Schipperijn for trusting my service as a consultant.
Interested in using the tools in research?
If you are interested in the potential of these tools then I would like to invite you to help me continue the development via any of the following routes. Please let me know if you want to brainstorm about any of these options.
- Test the software tools and let me know your observations and problems.
- Collect or share data to help formally evaluate the tools in a publications.
- Volunteer to help evaluate and describe the software in a publication. To facilitate such effort I included a narrative description inside the software here and here.
- Help review and improve taxonomy.
- Volunteer to help continue the development and maintenance of the software.
- Find funding to sponsor my ongoing involvement in the development. I am happy for someone else to partly take over my role as developer, but if you want me to continue this work then I am in need for funding for my time. I am not an academic and I am self-employed, by which I depend on the research community to find funding for my time investment. A few thousand euros would enable me to provide some limited coordination and maintenance work, while a larger amount would allow for a more active involvement. The software is free, which means that I need an alternative source of income. Please contact me if you are interested to help with this.