Brain Predictability Toolbox

The Brain Predictability toolbox (BPt) represents a unified framework of machine learning (ML) tools designed to work with both tabulated data (e.g. brain derived, psychiatric, behavioral and physiological variables) and neuroimaging specific data (e.g. brain volumes and surfaces). This package is suitable for investigating a wide range of different neuroimaging-based ML questions, in particular, those queried from large human datasets. Also check out the related GUI version of this project here.

The project source code is hosted through github, as well as the project documentation. A paper describing this work was published in Bioinformatics in 2021, and is also avaliable on arvix.

This project represents the largest and most consistent of any project I have worked on. In the process of developing the library, I learned a great deal about how to generally structure growing code-bases - and more important, learned what not to do… (the first iteration of the project may or may not have grown into a giant god class that I had to spend two weeks de-fusing into its current state). The current version of the library has all sorts of other nice things built in too, like automatically generated documentation, CI testing across devices through GitHub Actions and more.

A number of talks / presentations have been given around this project, including for the OHBM 2022 Educational session, ABCD 2021 annual meeting and ENIGMA 2020 annual meetings.

Screenshot from github
Example 1
Example of loading data into Dataset object
Screenshot from documentation
Example 2
Example of running default ML Pipeline