Giter Site home page Giter Site logo

dev-days-2020's Introduction

Pypi Package PyPI - Python Version Github Actions Build Status Coverage Status Twitter Mastodon Discord

nilearn

Nilearn enables approachable and versatile analyses of brain volumes. It provides statistical and machine-learning tools, with instructive documentation & friendly community.

It supports general linear model (GLM) based analysis and leverages the scikit-learn Python toolbox for multivariate statistics with applications such as predictive modelling, classification, decoding, or connectivity analysis.

Important links

Install

Latest release

1. Setup a virtual environment

We recommend that you install nilearn in a virtual Python environment, either managed with the standard library venv or with conda (see miniconda for instance). Either way, create and activate a new python environment.

With venv:

python3 -m venv /<path_to_new_env>
source /<path_to_new_env>/bin/activate

Windows users should change the last line to \<path_to_new_env>\Scripts\activate.bat in order to activate their virtual environment.

With conda:

conda create -n nilearn python=3.9
conda activate nilearn

2. Install nilearn with pip

Execute the following command in the command prompt / terminal in the proper python environment:

python -m pip install -U nilearn

Development version

Please find all development setup instructions in the contribution guide.

Check installation

Try importing nilearn in a python / iPython session:

import nilearn

If no error is raised, you have installed nilearn correctly.

Drop-in Hours

The Nilearn team organizes regular online drop-in hours to answer questions, discuss feature requests, or have any Nilearn-related discussions. Nilearn drop-in hours occur every Wednesday from 4pm to 5pm UTC, and we make sure that at least one member of the core-developer team is available. These events are held on Jitsi Meet and are fully open, anyone is welcome to join! For more information and ways to engage with the Nilearn team see How to get help.

Dependencies

The required dependencies to use the software are listed in the file pyproject.toml.

If you are using nilearn plotting functionalities or running the examples, matplotlib >= 3.3.0 is required.

Some plotting functions in Nilearn support both matplotlib and plotly as plotting engines. In order to use the plotly engine in these functions, you will need to install both plotly and kaleido, which can both be installed with pip and anaconda.

If you want to run the tests, you need pytest >= 6.0.0 and pytest-cov for coverage reporting.

Development

Detailed instructions on how to contribute are available at https://nilearn.github.io/stable/development.html

dev-days-2020's People

Contributors

bthirion avatar emdupre avatar gaelvaroquaux avatar jeromedockes avatar kchawla-pi avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dev-days-2020's Issues

Contact speakers with schedule, platform

We should re-contact our speakers with (1) the newest schedule and (2) our finalized platform.

This will serve to confirm their availability and communicate how we expect their handle their presentations; for example, will every speaker be able to share their screen ? Should we test connections beforehand ?

EDIT: @GaelVaroquaux contacted speakers with the current schedule on 30 April !

Making the events engaging

I fear a bit that the conference days will lack interactivity.
Same during the sprint, everyone might not feel as welcome as he would if we were hosting a physical event, introducing people to each other offering food and groups breaks and so on.

Also this overall feeling will be directly related to what new people think of nilearn and it's community so I think it's important.

I did not participate in many virtual events, but I guess some people will have some ideas ?

Create list of places to advertise

After we re-confirm with speakers (see #7 ) we should do a bigger advertising push of the finalized website (potentially, also see #8). It'd be nice to collect a list of places beforehand such that we can get this out quickly. Here's an initial list; please add as many other resources as you can think of !

  • NITRC calendar (done by @kchawla-pi on 29/4)
  • Pinned Nilearn GitHub issue
  • Twitter with the #nilearn hashtag
  • NeuroStars
  • NiPy mailing list
  • BIC mailing list (internal to the MNI)

Consider updating event name

@kchawla-pi suggested that the name of the event could be amended to:

Nilearn Dev Days: Science And Software 2020

If a majority are in agreement, we should update our materials accordingly !

Finalize website theme

@GaelVaroquaux was kind enough to create the current website; I misunderstood its framework and so created a fork at: https://emdupre.github.io/bulma-clean-theme.

It might be worth either updating the current theme such that individual events are better delineated on separate pages or porting over the Bulma Clean theme. This should help in advertising -- and archiving, as recordings are uploaded -- individual events !

Decide on sprint infrastructure

There's still a bit of infrastructure that remains undecided for the sprint. In particular:

  1. Hub locations: Since this is a global sprint, we'll likely need several key "hubs" to coordinate nearby time zones. Paris and Montreal are logical hubs for Europe and the Americas. Do we have any other locations with at least one long-term Nilearn contributor that could act as a hub ?
  2. Sprint hosts: For each of the hubs, ideally we would have several "hosts" online throughout the sprint. Hosts could help to troubleshoot contributor issues and keep development moving forward. We should likely pool from our organizing team, here, but this could be anyone with a good understanding of the Nilearn code base ! It'd be great to have several folks identified so that hosts could work in shifts within a given hub.
  3. Chat rooms: It'd be great to have a chat room where contributors could ask questions during the sprint and to keep a social aspect to the event. We should decide on a platform to host the chat.

Finalize platform for streaming talks

We've discussed using CrowdCast as the streaming platform for the Software and Scientific days, modelling after Neuromatch. It has a 200 USD licensing fee for one month, and it's unclear if we can get that cost covered by UNIQUE (or use their soon-to-be-purchased subscription).

One alternative would be to use BlueJeans as @GaelVaroquaux already has a subscription available through MILA. Blake Richards used that to stream the course I was taking with him (once McGill went remote) so I know they have a chat window, but I'm not sure how many other features (like polls, or pulling people "on stage") are supported.

We need to finalize this quickly, though, and we may decide those features aren't worth the associated cost. For some streaming platforms, it would likely be best if we could have one or two moderators who would stay on for several hours at a time to introduce speakers, transition between talks, and ask audience questions. In which case, we'll need to distribute moderation responsibilities amongst the organizers.

Update timing on software day

@GaelVaroquaux, you're currently scheduled to give a half-hour intro to the software development day. Based on conversations in #4, it sounds like folks are generally concerned about avoiding long intros.

Do you want to drop it to 15 mins and shift the schedule up, Gaël ? We could re-contact all speakers at once with both days's schedules.

Decide where to host recordings of talks

We've discussed recording the talks and posting them online so that they're easily accessible after the event. We should agree on the exact platforms to post the recordings (keeping in mind that the exact platform decided in #6 may have different integrations available).

The most obvious English-language streaming site is Youtube. @Vincent-wq had suggested Bilibili as a Chinese-language streaming site that we could also upload recordings on.

Any feedback on these platforms, or other suggestions ?

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.