The SOFA consortium is taking part in the Google Summer of Code 2018!
Two students accepted for the GSoC with SOFA!
Selected projects
SOFA + Pulse
Objectives
The objective of this project is to create an open-source plugin for SOFA building an interface with the open-source library Pulse platform. This engine provides comprehensive models for the human physiology. Both API are very close to each other: C++, Cmake, a core library with optional plugins. The integration will be helped with two mentors: one from the SOFA community and another one from the Pulse community.This project will therefore bring a new open-source technology to drive medical education, research, and innovation.
Contact
Communication plugin improvement
Objectives
The purpose of this project is to improve the communication plugin by adding more protocols in it such as vrpn, serial bus communication, and also improve the way it works. This plugin has an abstract base to run and implement different protocols asynchronously to the main sofa-framework thread. In a near future it has to be the default base for communicating with SOFA.
The motivation is to prevent multiple outdated network/protocol communication plugins and group all of them in a single abstract plugin.
The objective is to improve the communication plugin, add protocols such as vrpn, serial bus, etc.
Contact
Other project(s)
Emscriptening Sofa
Objectives
SOFA is an open-source framework to simulate in real-time a wide range of object behaviors in complex contacts situations. The kind of situation that are common in medical simulation, robot interacting with soft material and soft-robotics.
We now would like to be able to execute SOFA in the browser to promote the development of simulation based web-based applications. As SOFA a implemented in C++ this is not straightforward.
The purpose of this GSOC is to adapt the core of the SOFA simulation framework so that it can be compiled with Emscripten. Emscripten is a compiler that takes C/C++ code and compiles it to efficient subsets of JavaScript as asm.js and webassembly.
Difficulty
Hard
Desirable skills
C++, webassembly, asm.js,