Skip to content

Google Summer of Code 2022 (GSOC2022)

Serge Koudoro edited this page Feb 11, 2022 · 14 revisions

Introduction to FURY

FURY is a free and open source software library for scientific visualization and 3D animations. FURY contains many tools for visualizing a series of scientific data including graph and imaging data. 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 2022

GSoC is a program that allows everyone (students, professional, academic, etc...) to learn 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:

However, you should be already familiar with data analysis using Python and Numpy before applying.

Be happy to ask questions directly by choosing one of the following options:

Getting Started

Potential candidates should follow all these steps before applying for the GSoC:

  1. Take a look at the guidelines on how to contribute to FURY.
  2. Go through the tutorials and examples on the website, make sure you're familiar with the library.
  3. Run the tests. FURY has unit tests that are at about 90% coverage (amount of lines of code tested). Make sure you know how to run them, and if you've never done Python unit tests before you might want to read up on Pytest library.
  4. Figure out how to run a single test! Running one test instead of all of them will speed up your workflow when you are writing your tests! (hint, it's in the contributing docs!)
  5. Make your first contribution to FURY !!! Making a small enhancement/bugfix/documentation fix/etc to FURY is really important! It shows your understanding of the library and your Github knowledge. 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

This is a requirement from the PSF; it can help you get some idea of how things would work during the GSoC.

Project Ideas (5)

Notice: We want to provide the best mentoring to our students, only 2 or 3 of these projects will be selected. Not more!

If you have any questions or if you want to contact a mentor:

Project 1. GTLF Integration

Description:

glTF (GL Transmission Format) is a 3D file format that stores 3D model information in JSON format. The use of JSON minimizes both the size of 3D assets and the runtime processing needed to unpack and use those assets. It was adopted for the efficient transmission and loading of 3D scenes and models by applications. The file format specifications for glTF 2.0 are available online for reference. The candidate will be able to implement a smooth integration of this file format in FURY. The candidate will provide to the user an easy interaction with this file format to load/save/animate/replace effects and textures of the scene / 3D object. This is a great opportunity for candidates who are interested in the 3D models to become members and contributors to the FURY community.

Here are the different steps to achieve:

  • Step 1: Compare existing tools and understand the different GLTF standard
  • Step 2: Complete the full integration of GLTF
  • Step 3: add animated GLTF
  • Step 4: add tutorials and examples

Difficulty: Intermediate

Skills required: Python, blender, 3D model

** Time: Full Time

Potential Mentors: (Serge Koudoro, TBD)