ohbm / hackathon2020

Website for the 2020 OHBM Hackathon (Location: 3rd planet from the Sun)
https://ohbm.github.io/hackathon2020/
MIT License
67 stars 68 forks source link

Vector Embeddings of Brain Dynamics #140

Open JacobCWBillings opened 4 years ago

JacobCWBillings commented 4 years ago

Project info

Title: Vector Embeddings of Brain Dynamics

VectorizeBrainDynamics_00

Project lead: Jacob Billings github.com/JacobCWBillings

[Timezone]: Montreal, UTC -4

Hub: The Americas

Description: Whereas we can build time-varying functional connectivity (TVFC) graphs easily and efficiently using instantaneous wavelet coherence. And whereas we can compare TVFC graphs using a host of graph-graph metrics---from simple edge-wise overlap, to more robust methods from topological data analysis. The capacity to understand how TVFC states compare among volunteers is limited by the transductive nature of state-of-the-art manifold embedding algorithms such as tSNE and UMAP. Transductive methods tend to overweight the temporal adjacencies of graph-graph distances measured within single volunteers, and thereby ignore the large-scale graph-graph similarities measured across volunteers. To address this issue, this project aims to build vector embeddings of several matrices of TVFC graph-graph distances. One class of inductive and vectorized embedding that may work well is the Siamese neural network. We should try to look at some other techniques too.

Link to project: https://github.com/users/JacobCWBillings/projects/1

Mattermost handle: channels/vectorize_dynamics @jacob.billings

Goals for the OHBM Brainhack Vectorize distances between time-varying functional connectivity graphs. Vectorize several graph-graph distances to compare the properties of each metric space.

Good first issues: 0) Project provides graph-graph distances using several metrics as numpy matrices. 1) Hack together a Siamese NN. Possibly use the code from git/UGraphEmb. 2) Test vector embedding distance against metadata scores: volunteer #, experimental condition, etc. (Some code for sample tests exist). 3) Hack and train other embeddings, transductive and/or inductive, and test statefulness. 4) Visualize brain states.

Skills: Python Neural networks Dimensionality reduction Scientific writing Data visualization Functional connectivity dynamics

Chat channel: https://mattermost.brainhack.org/brainhack/channels/vectorize_dynamics

Acknowledging contributions: Our goal is publication of a novel manuscript describing how the interpretation of spontaneous brain dynamics and brain states is affected by the type of embedding technique used. We'll generate and share our code for comparing graph-graph distances as a git repo.

Project submission

Submission checklist

Once the issue is submitted, please check items in this list as you add under 'Additional project info'

Please include the following above (all required):

You can also include information about (all optional):

We would like to think about how you will credit and onboard new members to your project. We recommend reading references from this section. If you'd like to share your thoughts with future project participants, you can include information about (recommended):

anibalsolon commented 4 years ago

Hi @JacobCWBillings

The project seems exciting! Thank you for submitting it.

If you could please try to delineate the current issue and add one more, so for the newcomers. And put them on your project board 👌

Please, let us know if you need a hand on setting up the communication channels. @complexbrains added some labels too, take a look if they are enough to cover your project.

One more thing: let us know if there is an image for your project, so we can add to the website!

complexbrains commented 4 years ago

Dear @JacobCWBillings, the link to your chat channel seems either broken or the channel is private therefore it is not open to the access. We know in such cases it requires admin rights to be made public so please do let us know if this is the case for your channel please. Otherwise please have a look at what is the problem with your channel link please.

Also we will ask you to create a video chat link and share and pin it in your channel please. Once you are done with these all, could you please let us know so we will finalize the review of your project!

Thank you!

tashrifbillah commented 4 years ago

@JacobCWBillings , did you start working on it already?

JacobCWBillings commented 4 years ago

Hey. Does this email find Tashrif Billah?

On Tue, Jun 16, 2020 at 3:20 PM Tashrif Billah notifications@github.com wrote:

@JacobCWBillings https://github.com/JacobCWBillings , did you start working on it already?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ohbm/hackathon2020/issues/140#issuecomment-644964203, or unsubscribe https://github.com/notifications/unsubscribe-auth/AI2QN2NGRF3N5MFEMFG6NTLRW7AZLANCNFSM4NXH7XMQ .

tashrifbillah commented 4 years ago

It does!

JacobCWBillings commented 4 years ago

Right on! We did meet already, but feel free to jump onboard

-Jacob

On Tue, Jun 16, 2020, 16:44 Tashrif Billah notifications@github.com wrote:

It does!

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ohbm/hackathon2020/issues/140#issuecomment-645001713, or unsubscribe https://github.com/notifications/unsubscribe-auth/AI2QN2J3VMRKJGX2XYRWXWDRW7KRVANCNFSM4NXH7XMQ .

tashrifbillah commented 4 years ago

Can we chat on Zoom?

JacobCWBillings commented 4 years ago

Sure

-Jacob

On Tue, Jun 16, 2020, 17:12 Tashrif Billah notifications@github.com wrote:

Can we chat on Zoom?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ohbm/hackathon2020/issues/140#issuecomment-645014807, or unsubscribe https://github.com/notifications/unsubscribe-auth/AI2QN2KPHEDQC64NY7YGBS3RW7N47ANCNFSM4NXH7XMQ .

JacobCWBillings commented 4 years ago

https://zoom.us/j/7147821059?pwd=WE5tZThtU2UwZ1U2WXBTUEdsN0pidz09

-Jacob

On Tue, Jun 16, 2020, 17:12 Tashrif Billah notifications@github.com wrote:

Can we chat on Zoom?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ohbm/hackathon2020/issues/140#issuecomment-645014807, or unsubscribe https://github.com/notifications/unsubscribe-auth/AI2QN2KPHEDQC64NY7YGBS3RW7N47ANCNFSM4NXH7XMQ .

tashrifbillah commented 4 years ago

Asks for a password :(

JacobCWBillings commented 4 years ago

Okay, some good sample data. (I'll upload the metadata shortly): https://www.dropbox.com/t/LLl37lq9vRHDcqEl

It's two numpy matrices in a struc. The number of time points, T, is ~13000. And the number of features,V (vertices), is 328.

inData are the TxV vector inputs, distdata is the distance matrix. Distances are calculated as a function (weighted Jaccard) over the weighted degree of connectivity matrices

On Tue, Jun 16, 2020 at 5:17 PM Tashrif Billah notifications@github.com wrote:

Asks for a password :(

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ohbm/hackathon2020/issues/140#issuecomment-645016675, or unsubscribe https://github.com/notifications/unsubscribe-auth/AI2QN2JCHTFN6VC7CKNTWZLRW7ONPANCNFSM4NXH7XMQ .