Skip to content

Google Summer of Code 2018

Serge Koudoro edited this page Oct 31, 2019 · 3 revisions

Introduction to FURY

FURY is a free and open source software library for scientific visualization. FURY contains many tools for visualing different scientific data like 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).

How to become a part of FURY's Google Summer of Code 2018

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 this 2 books:

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 fury@python.org

Advice

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

Projects

  1. Focus in UI - Add interactive plot

    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. See also figure of Project 2.

    Difficulty: intermediate

    Skills required: Python, OpenGL and VTK

    Mentors: Serge Koudoro and Eleftherios Garyfallidis

  2. Focus in GLSL

    Description: Our new visualization engine supports GLSL shading language. Join our effort to built stunning visualizations 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

    You will have to update the code to enable shading when needed and if supported by the current computing system. Please also check tutorials starting with viz here

    Difficulty: high

    Skills required: GLSL, Python, OpenGL and VTK

    Mentors: David Reagan, Serge Koudoro and Eleftherios Garyfallidis