Giter Site home page Giter Site logo

jstaph / coinstac Goto Github PK

View Code? Open in Web Editor NEW

This project forked from trendscenter/coinstac

0.0 1.0 0.0 83.42 MB

Collaborative Informatics and Neuroimaging Suite Toolkit for Anonymous Computation

License: MIT License

JavaScript 95.82% Python 0.81% HTML 0.38% CSS 0.98% Dockerfile 0.14% Shell 0.33% Roff 0.13% SCSS 1.42%

coinstac's Introduction

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.

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.

coinstac's People

Contributors

cdaringe avatar chrisgorgo avatar dependabot[bot] avatar everner avatar everner-ds avatar hvgazula avatar kalitopix avatar pixelsaurus avatar rochaeb avatar rssk avatar swashcap avatar swiftkiii avatar tkah avatar xinyou90 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.