brainhackorg / global2020

Brainhack Global 2020
https://brainhack.org/global2020/
MIT License
13 stars 14 forks source link

Pydesperate times call for Pydrastic measures #122

Open effigies opened 3 years ago

effigies commented 3 years ago

Project info

Title: Pydesperate times call for Pydrastic measures

Project lead: Dorota Jarecka (MM: @dorota) and Chris Markiewicz (T: @effigies, MM: @markiewicz)

Project collaborators:

Registered Brainhack Global 2020 Event: Montreal

Project Description: Nipype is a Python library that provides a uniform interface to existing neuroimaging software and facilitates interaction between these packages within a single workflow. It forms the basis of widely-used pipelines such as C-PAC and fMRIPrep.

Pydra is a new workflow engine, written from scratch for Nipype 2. Pydra is reaching the maturity needed to justify upgrading workflows from Nipype 1, and it is time to build out the remainder of the ecosystem.

In this hackathon, we will focus on building tasks (interfaces) for neuroimaging tools that can be coordinated by Pydra, and workflows, sequences of tasks that meet real needs in neuroimaging.

If you're familiar with Nipype 1 and would like to flesh out a set of tasks (e.g., AFNI), we have a tasks template that you can use. If you would rather focus on a workflow, we encourage you to use the niflow manager to begin to create a workflow.

Please read the contribution guide for tips on getting started and our policies on acknowledging contributions.

Data to use: This project is not focused on any specific dataset, but participants are welcome to bring their own data or public data for testing and demonstrations. For MRI-based workflows, we can recommend OpenNeuro ds000114 for different tasks and modalities.

Link to project repository/sources: https://github.com/nipype/pydra

Goals for Brainhack Global 2020:

Good first issues:

  1. Running and improving tutorial
  2. Improving Documentation
  3. Helper functions to promote Python functions to Pydra tasks
  4. Cli for reading the results
  5. Good first issues (to see live)

Skills:

Tools/Software/Methods to Use:

Communication channels:

Project labels

Project Submission

Submission checklist

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

Optionally, you can also include information about:

We would like to think about how you will credit and onboard new members to your project. If you’d like to share your thoughts with future project participants, you can include information about:

PeerHerholz commented 3 years ago

Ah, sorry @effigies, I think I forgot to mention that the things under Project Labels should have a # for the github bot to find it IIRC.

complexbrains commented 3 years ago

I am on it now editing the issue. Will be ready in a minute !

complexbrains commented 3 years ago

Ok it seems like the issue is ready to be published. I will publish it now but you can make edit and changes as necessary as you want throughout the time! Thank you for submitting the project! :tada:

htwangtw commented 3 years ago

My aim was to understand how to use pydra to create a workflow with python functions, using some code from nilearn to downsample imaging data. Here's the script demo. Passing Nifti1 image is not recommanded. Now I am working on writing some pydra FSL interface, starting with manual creation with fslmaths. Now understood the process, I will try to use the converter for more efficient interface creation.

effigies commented 3 years ago

I've been keeping some notes as we've worked through issues this week. Probably won't be able to make the wrap-up session.

harveyaa commented 3 years ago

I've been working on integrating pydra into nixtract https://github.com/danjgale/nixtract, a command line tool for timeseries generation from preprocessed fMRI data. I've run into an issue with passing a custom class FunctionalImage as input to a task, modifying it and returning it as an output, I haven't succeeded in finding a workaround yet but I will continue with the project after brainhack and will keep in touch :)

axiezai commented 3 years ago

Finally merged the first mrtrix3 pydra task at https://github.com/nipype/pydra-mrtrix3, mrconvert is a fundamental tool in mrtrix3 that manages all sorts of image conversions. The next step is to create a script that translates nipype interfaces for mrtrix3 over while creating unit tests. Will be taking inspirations from https://github.com/nipype/pydra-fsl :)