Job opportunities
Centres Inria associés
Type de contrat
Contexte
<p style="font-weight: 400;">In the <a href="https://team.inria.fr/simbiotx/" target="_blank">Simbiotx</a> team, we build virtual human twins for advancing disease understanding and treatment planning. Our software can simulate the entire blood circulation. Our next step is to build it into a package that is usable for many user types, fast to personalize it for each patient, and flexible to support more use cases.</p>
<p style="font-weight: 400;">In particular we have been developing 0D physics-based models of the entire cardiovascular system, including the lungs, heart, and other organs and components such as artificial shunts, depending on the biomedical question at hand [<a href="https://www.sciencedirect.com/science/article/pii/S0021929016312143?casa_token=EPIvvarC2-YAAAAA:Ezn5VWhQ694ZxNAoiukuNJFFnIneoMRTR6h0Rv2nhnuZoYjTQrvwAC8Pwsjc_v1A-iM8RlzIYjM" target="_blank">Audebert</a>]. These models are typically personalized for each patient, with automatic parameter estimation [<a href="https://www.tandfonline.com/doi/full/10.1080/10255842.2020.1713501" target="_blank">Pant</a>] from data. The code needs to run fast for sensitivity analysis <a href="https://link.springer.com/article/10.1007/s10439-022-03098-6" target="_blank">[Sala]</a> and uncertainty quantification.</p>
<p><span style="font-weight: 400;">These models have been primarily run by researchers and surgeons to predict physiological variables following <a href="https://ieeexplore.ieee.org/abstract/document/8269375/?casa_token=7dVngmsg7ZQAAAAA:IVlsBXP_zS82C0HjlnT9WgptDxQZctFPKJSJAhJ7P3GuheI1wueHy8fOWeuhf0S8--PnlL1BzOU" target="_blank">congenital heart disease palliation</a>, <a href="https://link.springer.com/article/10.1007/s10237-021-01545-2">pulmonary hypertension treatment</a>, and liver surgery (<a href="https://www.sciencedirect.com/science/article/pii/S0168827820337612?casa_token=4z4BqiGOPQEAAAAA:KyNe3FpQmhTCRLQ5u5XNYSXai7COonMqFBo-tH8LtwcfeKps2B9ffU7rOUxaiQxX1m_NRrGEjA" target="_blank">resection</a>, <a href="https://www.sciencedirect.com/science/article/pii/S0268003320300462?casa_token=XPeohtQdLnoAAAAA:M8OcHdLf58EVvFqeeiIDDgjGkCLcwuNLYrWKeXid8sN8EsPP4cfO9zJydH_GzE5boKAlffH6VoU" target="_blank">novel surgery type</a>,…</span><span style="font-weight: 400;">). To consolidate these different models, and improve development possibilities, modularity, and ease of use by a diversity of users, we have decided to refactor the main software. This software is an important part of the <a href="https://cordis.europa.eu/project/id/864313">European project ERC MoDeLLiver</a> to be able to deliver to the clinics, in collaboration with several hospitals.</span></p>
<p style="font-weight: 400;">In particular we have been developing 0D physics-based models of the entire cardiovascular system, including the lungs, heart, and other organs and components such as artificial shunts, depending on the biomedical question at hand [<a href="https://www.sciencedirect.com/science/article/pii/S0021929016312143?casa_token=EPIvvarC2-YAAAAA:Ezn5VWhQ694ZxNAoiukuNJFFnIneoMRTR6h0Rv2nhnuZoYjTQrvwAC8Pwsjc_v1A-iM8RlzIYjM" target="_blank">Audebert</a>]. These models are typically personalized for each patient, with automatic parameter estimation [<a href="https://www.tandfonline.com/doi/full/10.1080/10255842.2020.1713501" target="_blank">Pant</a>] from data. The code needs to run fast for sensitivity analysis <a href="https://link.springer.com/article/10.1007/s10439-022-03098-6" target="_blank">[Sala]</a> and uncertainty quantification.</p>
<p><span style="font-weight: 400;">These models have been primarily run by researchers and surgeons to predict physiological variables following <a href="https://ieeexplore.ieee.org/abstract/document/8269375/?casa_token=7dVngmsg7ZQAAAAA:IVlsBXP_zS82C0HjlnT9WgptDxQZctFPKJSJAhJ7P3GuheI1wueHy8fOWeuhf0S8--PnlL1BzOU" target="_blank">congenital heart disease palliation</a>, <a href="https://link.springer.com/article/10.1007/s10237-021-01545-2">pulmonary hypertension treatment</a>, and liver surgery (<a href="https://www.sciencedirect.com/science/article/pii/S0168827820337612?casa_token=4z4BqiGOPQEAAAAA:KyNe3FpQmhTCRLQ5u5XNYSXai7COonMqFBo-tH8LtwcfeKps2B9ffU7rOUxaiQxX1m_NRrGEjA" target="_blank">resection</a>, <a href="https://www.sciencedirect.com/science/article/pii/S0268003320300462?casa_token=XPeohtQdLnoAAAAA:M8OcHdLf58EVvFqeeiIDDgjGkCLcwuNLYrWKeXid8sN8EsPP4cfO9zJydH_GzE5boKAlffH6VoU" target="_blank">novel surgery type</a>,…</span><span style="font-weight: 400;">). To consolidate these different models, and improve development possibilities, modularity, and ease of use by a diversity of users, we have decided to refactor the main software. This software is an important part of the <a href="https://cordis.europa.eu/project/id/864313">European project ERC MoDeLLiver</a> to be able to deliver to the clinics, in collaboration with several hospitals.</span></p>
Mission confié
<p>We are looking for a software engineering intern to develop a graphical user interface (GUI) for our cardiovascular modeling software. Your mission will be to choose a technology stack, design, and implement the GUI.</p>
<p>Our software (currently under development) consists of a C++ calculation engine and an upper layer providing higher-level abstractions in Python. The GUI layer will need to interface with the Python code. Apart from this constraint, no specific technology has been chosen yet.</p>
<p>Our software is designed for two distinct user groups, each with its own workflow:</p>
<ul>
<li>Researchers/modelers construct a model by first arranging basic elements in the form of an electrical circuit, similar to many commercial solutions, and then configuring this circuit by associating equations and parameters with the different elements. The mathematical properties of the models are also analysed and represented graphically, generally as 2D graphs and heatmaps.</li>
<li>Healthcare professionals use such predefined models to simulate various clinical interventions. The graphical interface must allow them to extract the variables of interest from simulation results (simple arrays of values, eg, CSV files) and quickly compare the results of several simulations representing different interventions. The interface must be sufficiently customisable so that clinicians can adapt it to the needs of their inidividual specialty.</li>
</ul>
<p>You will be integrated into a biomechanics research team—the majority of your colleagues will be researchers, not software specialists. No specific knowledge of mathematics, physiology, or biomechanics is required, but an interest in these disciplines will be viewed positively.</p>
<p>You will be supported by the engineer in charge of developing the aforementioned modeling software. Technical choices and interface design will be made collaboratively, then you will do the coding work mostly alone.</p>
<p>If the GUI is completed ahead of schedule, you will be asked to work on other components of the software. </p>
<p>Our software (currently under development) consists of a C++ calculation engine and an upper layer providing higher-level abstractions in Python. The GUI layer will need to interface with the Python code. Apart from this constraint, no specific technology has been chosen yet.</p>
<p>Our software is designed for two distinct user groups, each with its own workflow:</p>
<ul>
<li>Researchers/modelers construct a model by first arranging basic elements in the form of an electrical circuit, similar to many commercial solutions, and then configuring this circuit by associating equations and parameters with the different elements. The mathematical properties of the models are also analysed and represented graphically, generally as 2D graphs and heatmaps.</li>
<li>Healthcare professionals use such predefined models to simulate various clinical interventions. The graphical interface must allow them to extract the variables of interest from simulation results (simple arrays of values, eg, CSV files) and quickly compare the results of several simulations representing different interventions. The interface must be sufficiently customisable so that clinicians can adapt it to the needs of their inidividual specialty.</li>
</ul>
<p>You will be integrated into a biomechanics research team—the majority of your colleagues will be researchers, not software specialists. No specific knowledge of mathematics, physiology, or biomechanics is required, but an interest in these disciplines will be viewed positively.</p>
<p>You will be supported by the engineer in charge of developing the aforementioned modeling software. Technical choices and interface design will be made collaboratively, then you will do the coding work mostly alone.</p>
<p>If the GUI is completed ahead of schedule, you will be asked to work on other components of the software. </p>
Principales activités
<p>Activities:</p>
<ul>
<li>Design a graphical user interface (GUI) in close collaboration with future users;</li>
<li>Choose and implement a technology stack – it should be noted that this GUI will probably not enjoy long-term active maintenance; therefore, technical simplicity and robustness will be favoured over sophistication. The use of third-party solutions, provided they have a permissive open-source license, is strongly encouraged – our code will be open source, and we have no interest in rewriting existing code;</li>
<li>Expectations for technical quality are high – the interface will be carefully coded and rigorously tested;</li>
<li>Technical choices and, if necessary, complex parts of the GUI will be documented;</li>
<li>Development will continuously incorporate user feedback;</li>
<li>If the graphical interface is completed before the end of the internship, you will contribute to other elements of our modeling software, in C++ and/or Python.</li>
</ul>
<ul>
<li>Design a graphical user interface (GUI) in close collaboration with future users;</li>
<li>Choose and implement a technology stack – it should be noted that this GUI will probably not enjoy long-term active maintenance; therefore, technical simplicity and robustness will be favoured over sophistication. The use of third-party solutions, provided they have a permissive open-source license, is strongly encouraged – our code will be open source, and we have no interest in rewriting existing code;</li>
<li>Expectations for technical quality are high – the interface will be carefully coded and rigorously tested;</li>
<li>Technical choices and, if necessary, complex parts of the GUI will be documented;</li>
<li>Development will continuously incorporate user feedback;</li>
<li>If the graphical interface is completed before the end of the internship, you will contribute to other elements of our modeling software, in C++ and/or Python.</li>
</ul>
Compétences
<ul>
<li>Master's student in information technology or similar.</li>
<li>Specialisation or at least interest in UX/UI or front-end development.</li>
<li>Spoken English.</li>
<li>Experience in C++ and Python will be a plus. </li>
</ul>
<li>Master's student in information technology or similar.</li>
<li>Specialisation or at least interest in UX/UI or front-end development.</li>
<li>Spoken English.</li>
<li>Experience in C++ and Python will be a plus. </li>
</ul>
Référence
2025-09528
Domaine d'activité