Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
img
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Collaborative Informatics and Neuroimaging Suite Toolkit for Anonymous Computation (COINSTAC)

CircleCI DOI DOI

A federated learning solution by your friends at the Center for Translational Research in Neuroimaging and Data Science (TReNDS).

Table of Contents

Introduction

COINSTAC is software to foster collaborative research, removing large barriers to traditional data-centric collaboration approaches. It enables groups of users to run common analyses on their own machines over their own datasets with ease. The results of these analyses are synchronized to the cloud, and undergo aggregate analyses processes using all contributor data. Federated (decentralized) pipelines allow for distributed, iterative, and feature rich analyses to be run, opening new and exciting capabilities for collaborative computation. It also offers data anonymity through differentially private algorithms, so members do not need to fear PHI traceback.

Let's do research!

Deep Dive

📖 For a deep dive, you can read the project’s paper, COINSTAC: A Privacy Enabled Model and Prototype for Leveraging and Processing Decentralized Brain Imaging Data on Frontiers in Neuroscience.

We also curate a list of conference and journal papers on methods and studies related to federated learning and COINSTAC.

Quick Start Guide

  • If you want to run COINSTAC as an end user

    • Download the latest release for your operating system.
    • You can download sample data of volumes of regions of interest in the brain, in a format typically produced by FreeSurfer, which can be used in a federated regression.
    • You can also download sample neuroimages (structural MRI preprocessed with voxel-based morphometry (VBM)), which can be used in a federated regression.
  • For more guidance, please see these detailed instructions on how to install and run COINSTAC.

Description

The Problem

You want to do research, and you want to include data from around the world. Unfortunately, orchestrating such an event is anything but trivial.

  • Coordinating data-driven research can be difficult. Who's going to collect all of the files? Who is going to actually "run" all of the data?

  • Ensuring privacy can be difficult. Can I trust other people or institutions with my research participants' data? Am I even allowed to share it?

  • Large datasets can be expensive to transfer. When file sets are in the GB and TB range, network transfers are not immediately trivial or even practical.

  • Valuable research data may often not be shared due to privacy or IRB constraints.

  • "Smart bullies" have demonstrated ability to extract personal information from various aggregated, anonymized datasets. How can we share data without revealing confidential information?

Bottom line--collaborative group research requires a great deal of coordination. Human and business factors can hamper research from happening at a pace that we are able to handle! Constraints may even forbid group research to occur at all.

The Solution

Let's remove these barriers. The best usage of research data is to apply it everywhere it can be useful. Our strategy enables otherwise "locked-down data" to become useful again.

COINSTAC removes the barriers to collaborative analysis by:

  • decentralizing analyses and computation
    • each user performs analyses/pipelines/etc all on their own computers. Bits and pieces of each users' output may be sent to a central compute node
    • a central compute node performs a complimentary component of the group analysis, generally a Machine Learning algorithm. This node may trigger adjusted computations on users' machines, generally in effort to improve a model, which the research is trying to predict!
  • not synchronizing full datasets. instead, synchronizing only resultant analysis metrics
    • as previously discussed, central compute nodes aggregate these metrics, and attempt to draw conclusions from the contributor swarm
    • because machine learning algorithms can be designed to model outcomes via artifacts of your analysis Pipelines, we keep your data safely and conveniently on your own machine, untouched.
  • applying differential privacy strategies to truly anonymize private data, whilst still permitting collaboration.

You may wonder why we haven't been doing this before! Us too. Let's get started!

For Developers and Contributors

  • If you are a developer or scientist and want to design a decentralized computation, please see:

  • If you would like to run your own COINSTAC remote server or contribute to development, please see the setup instructions.

  • We would love for you to contribute to development. Please see our contribution guidelines.

  • Developer documentation and system design information may be found over in our technical docs.

Security

Releases

Binary releases for several platforms can be found here, under each version's assets tab.

Acknowledgements

COINSTAC is supported by the following grants:

  • NSF 1631838/1631819, 1453432, 1539067
  • NIH 1R01DA040487, R01MH121246, R01MH121246-02S1, R01DA049238, R01MH120482

License

MIT. See LICENSE for details.