-
Notifications
You must be signed in to change notification settings - Fork 182
Google Summer of Code 2020
FURY is a free and open source software library for scientific visualization. FURY contains many tools for visualing different scientific data like graph network, biology data, diffusion magnetic resonance imaging (dMRI) analysis and tractography but also contains implementations of other computational imaging. FURY is participating in GSoC this year for the first time under the umbrella of the Python Software Foundation (PSF).
GSoC is a program the allows students to learn by contributing to an open-source project while receiving a fellowship from Google, and mentorship from open-source software developers. For details about this year's GSoC, please refer to this page.
Before considering becoming part of the FURY GSoC, please read about our expectations.
All participants should have basic knowledge of computer graphics, scientific computing, and development in Python. For a comprehensive introduction to these topics, please refer to these 2 books:
- Interactive Computer Graphics - 6th / 7th Edition by Edward Angel and Dave Shreiner
- Effective Computation in Physics by Katy Huff and Anthony Scopatz.
However, you should be already familiar with data analysis using Python and Numpy before applying.
Be happy to ask questions directly by subscribing to our mailing list and sending a message to [email protected]
Potential candidates should take a look at the guidelines on how to contribute to FURY. Making a small enhancement/bugfix/documentation fix/etc to FURY already before applying for the GSoC is a requirement from the PSF; it can help you get some idea how things would work during the GSoC. The fix does not need to be related to your proposal. We have and will continue adding some beginner friendly issues in github. You can see some of them here
We currently have 5 project ideas:
- Project 1: Create new user interface widget. (Difficulty: intermediate). More information here
- Project 2: Improve our animation framework via glsl (Difficulty: Advanced). More information here
- Project 3: Create the Fury showcase (Difficulty: easy). More information here
- Project 4: Improve website features via a new sphinx extensions (Difficulty: Intermediate). More information here
- Project 5: Bring your own idea! (Difficulty: Easy/Intermediate/Advanced) If you've got a brilliant idea you'd like to propose, please make a new issue with the 'gsoc2020' tag to discuss it!
Note: Since we want to provides the best mentoring to our students, only 2 or 3 of these projects will be selected. Not more!
-
Create new user interface widget
Description: In this project you will build scifi-like 3D and 2D user interfaces inspired from Guardians of the Galaxy video. FURY provides many visualization capabilities. However we were not happy with interactive capabilities found in existing GUIs. For this reason we built our own UI engine. No Qt! Everything is integrated in the VTK scene. See example below that was generated during our 2016 GSoC participation. This is an example of an orbital orbital menu.
In this project you will extend this work and add more futuristic widgets. The motto of this project is make everything interactive without performance issues. Here are the different steps to achieve:
- Step 1: Get familiar with the library by fixing some issues like #75 #76 #108.
- Step 2: Create ComboBox UI
- Step 3: Select, Explore and develop one of this 3 subjects: Tree UI, Tab UI, Layout management.
Difficulty: intermediate
Skills required: Python, OpenGL and VTK
Mentors: Serge Koudoro and David Reagan
-
Improve our animation framework via glsl
Description: Our new visualization engine supports GLSL shading language. Join our effort to built stunning animation of scientific datasets. You will have to program vertex and fragment shaders to generate different effects on VTK polydata. For examples, see code here. Here is an example without shaders
Here are the different steps to achieve:
- Step 1: Understand and Extend our current animation framework by fixing issues and adding new animation (Blink, Shear, waves... )
- Step 1: Extend the framework to make it easy to combine animations.
- Step 3: Create Demo of complexe animation and generate videos.
Difficulty: high
Skills required: GLSL, Python, OpenGL and VTK
Mentors: Javier Guaje, Serge Koudoro
-
Create the Fury showcase
Description: Fury can be use with multiple different scientific data. As you can see on our gallery, our showcaseis primilary focus in medical
Here are the different steps to achieve:
- Step 1: Understand and Extend our current animation framework by fixing issues and adding new animation (Blink, Shear, waves... )
- Step 1: Extend the framework to make it easy to combine animations.
- Step 3: Create Demo of complexe animation and generate videos.
Difficulty: high
Skills required: GLSL, Python, OpenGL and VTK
Mentors: David Reagan, Serge Koudoro
-
Improve website features via a new sphinx extensions
Description: Our new visualization engine supports GLSL shading language. Join our effort to built stunning animation of scientific datasets. You will have to program vertex and fragment shaders to generate different effects on VTK polydata. For examples, see code here. Here is an example without shaders
Here are the different steps to achieve:
- Step 1: Understand and Extend our current animation framework by fixing issues and adding new animation (Blink, Shear, waves... )
- Step 1: Extend the framework to make it easy to combine animations.
- Step 3: Create Demo of complexe animation and generate videos.
Difficulty: high
Skills required: GLSL, Python, OpenGL and VTK
Mentors: David Reagan, Serge Koudoro