ohbm / hackathon2020

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

Tutorial for cross decomposition algorithms (e.g. CCA, PLS) in Python #149

Open LeonieBorne opened 4 years ago

LeonieBorne commented 4 years ago

Project info

Title: Tutorial for cross decomposition algorithms (e.g. CCA, PLS) in Python

Project lead: Léonie Borne @LeonieBorne

Timezone: Sydney UTC+10

Hub: Asia and Pacific

Description: Cross decomposition algorithms look for the relations between two (or more) blocks of variables. These methods are particularly used in neuroimaging to analyze associations between physiological/behavioral variables and brain structure/function. Between unsupervised and supervised modeling, this family of algorithms has many members (e.g. CCA, PLS regression, PLS canonical, PLS-PM, etc.) and many approaches are possible to validate the trained model (e.g. cross validation, bootstrapping, permutation test, etc.). In this project, I propose to write several Python tutorials to help the application and interpretation of these models in practice.

Link to project: https://github.com/LeonieBorne/plstuto

Mattermost handle: leonie.borne

Goals for the OHBM Brainhack Creation of a set of tutorials to facilitate the use of cross decomposition methods for neuroimaging studies in python.

Good first issues: Wang, Hao-Ting, et al. "Finding the needle in a high-dimensional haystack: Canonical correlation analysis for neuroscientists." NeuroImage (2020): 116745. From the above article, several tutorials can be considered: the first one on data preprocessing, the second one on data reduction and the third one on model selection.

Skills: Python (beginner), Jupyter notebook, Github (Git - 1) Any knowledge/interest in cross decomposition methods is very welcome!

Chat channel:

Video channel: Please have a look at the mattermost channel to know the video channel.

Kanban board: Check here.

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):

htwangtw commented 4 years ago

Hey I am the first author of the referenced paper. I will be at brainhack (Europe time zone) and can help if it's needed.

complexbrains commented 4 years ago

Dear @LeonieBorne, thank you very much for submitting your exciting project!

We are going through the review process at the moment, but before that we were wondering would you like to provide us a project snippet that we can use it in advertising your project on the OHBM website https://ohbm.github.io/hackathon2020/hackathon/, please?

Thank you very much in advance!

LeonieBorne commented 4 years ago

@htwangtw That's awesome! It's definitely gonna be helpful to have an expert opinion :)

@complexbrains Thanks for supporting my project! But I'm not sure I understand what you need: is the description I provided too long or do you need a picture to illustrate the project?

DorienHuijser commented 4 years ago

Hi @LeonieBorne,@complexbrains meant an image that will accompany your project description on the website 😄

LeonieBorne commented 4 years ago

Thanks @DorienHuijser! I don't have a specific image in mind for the project, is a standard image like this one suitable? I got it from giphy.com

giphy3

SaraMorsy commented 4 years ago

Wow, I like this project and want to enroll during Hackathon, the paper is very good. Does it need a high-level of experience in python Dr @LeonieBorne

DorienHuijser commented 4 years ago

@LeonieBorne Of course! I will include it in the next website update :)

kimsin98 commented 4 years ago

Hello! I have also been interested in applying CCA to datasets, and I am in APAC time zone. We should aim to make a Jupyter book (Neurolibre examples) for this tutorial!

Do you already have some datasets in mind to showcase in the tutorial? If not, I could start brainstorming on OpenNeuro.

LeonieBorne commented 4 years ago

@SaraMorsy Your help is welcome of course! This project does not require a high level of Python, we will mainly use libraries that already exist. And it will be a perfect opportunity to gain some Python experience ;)

@AKSoo Great ideas! I didn't have time to start the project before I proposed it here, you're more than welcome to start looking at the databases on OpenNeuro. I look forward to discussing this further next week :)

@ohbm/project-monitors I have provided the 'required' items!

jhlegarreta commented 4 years ago

@LeonieBorne I removed the video link to avoid unexpected events in the video channel. Would you add and pin that information to the mattermost channel, please? Thanks.

LeonieBorne commented 4 years ago

@jhlegarreta Done, thanks!

complexbrains commented 4 years ago

Dear @LeonieBorne Thank you very much for your project submission. Your project looks ready. Welcome aboard! 🤗 🎊

derekbeaton commented 4 years ago

Hi there,

I'm not at BrainHack this year (unfortunately) but will be OHBM. I have a bunch of data, code, and examples in R on PLS, CCA, and some additional related methods. Please feel free to use anything you want in either of these repos if you feel they might be helpful:

https://github.com/derekbeaton/GPLS

https://github.com/derekbeaton/GSVD/

If you have any questions please also feel free to ask. I'm happy to help and I think you're project will be very useful & helpful to a lot of people!

LeonieBorne commented 4 years ago

Hi @derekbeaton, Thank you very much for sending these repos, that could be really useful for us indeed! Too bad you're not at BrainHack this year :(