Matjaž Payrits
Lead Software Engineer at Cosylab- Claim this Profile
Click to upgrade to our gold package
for the full feature experience.
Topline Score
Bio
Experience
-
Cosylab
-
Slovenia
-
Software Development
-
200 - 300 Employee
-
Lead Software Engineer
-
Mar 2020 - 3 years 10 months
Ljubljana, Slovenia Technical lead role on the calculation-engine project within the OncologyOne suite of products for the radiotherapy of cancer. The calculation engine encompasses the modeling of particle beams and transport of particles through a patient to derive physical dose and other physical quantities. The calculation engine core is written in modern C++ and CUDA. This is accompanied by several higher-level Python and bash/PowerShell scripts. The development is numerics-intensive and designing… Show more Technical lead role on the calculation-engine project within the OncologyOne suite of products for the radiotherapy of cancer. The calculation engine encompasses the modeling of particle beams and transport of particles through a patient to derive physical dose and other physical quantities. The calculation engine core is written in modern C++ and CUDA. This is accompanied by several higher-level Python and bash/PowerShell scripts. The development is numerics-intensive and designing components often takes us to the bleeding edge of medical physics, numerical mathematics, and algorithm design research. The role itself encompasses: - Considerations of software architecture on several levels, from specifying the internal modularization strategy and inter-module interfaces to translating medical physics articles into concrete development plans, - Technically managing a team of several developers - distributing everyday tasks and keeping track of their progress, advising project managers in assigning larger tasks, performing code reviews, - Interviewing and evaluating new candidates, - Monitoring and interpreting testing output, - Managing the build-system and testing infrastructure, - Managing external library dependencies, occasionally submitting upstream patches, - Concrete development and testing. The latter includes generating reference data through Monte Carlo simulations of radiation transport with the EGSnrc and Geant4 simulation packages.
-
-
Software Engineer
-
Jan 2017 - Mar 2020
Ljubljana, Slovenia Software development in several programming languages, primarily modern C++ and Python, with frequent excursions into C and various scripting languages such as bash and PowerShell. I have also done basic FPGA programming in VHDL. The type of development ranged from embedded to fairly high-level. Some specific projects: - Developing several C++ components of Cosylab's ScanOne system, including a low-level inter-board communication library for exchanging custom-protocol messages… Show more Software development in several programming languages, primarily modern C++ and Python, with frequent excursions into C and various scripting languages such as bash and PowerShell. I have also done basic FPGA programming in VHDL. The type of development ranged from embedded to fairly high-level. Some specific projects: - Developing several C++ components of Cosylab's ScanOne system, including a low-level inter-board communication library for exchanging custom-protocol messages encapsulated directly in Ethernet frames. - Patching Linux device drivers as part of upgrading an embedded sensor board system. Solo project. - Developing a Python client for reliable high-throughput communication with an FPGA sensor board. Involved implementing a stack of three custom protocols on top of UDP, including an RUDP derivative and an AXI4-Stream protocol derivative. Solo project. - C++/Qt5 contributions to a software suite for controlling an X-ray image acquisition device and for the visualization, post-processing, and registration of acquired images. - Integrating several beam-line analog-to-digital converters into the EPICS and FESA control-system frameworks. During this time, I also took part in on-site commissioning activities at a 5-treatment-room proton therapy site over the course of four months, and on-site verification-and-validation activities at another proton therapy site. I have also been mentoring candidates on the Cosylab C++ academy program. This has been the case for most of my employment and my involvement with the academy program is ongoing.
-
-
-
Imperial College London
-
Research Services
-
700 & Above Employee
-
Graduate Teaching Assistant
-
Nov 2012 - Jun 2013
London, England, United Kingdom Demonstrating in problem classes for the undergraduate course Probability and Statistics II and the first-year Physics course.
-
-
Education
-
Imperial College London
Doctor of Philosophy - PhD, Theoretical and Mathematical Physics -
Imperial College London
MSc in Quantum Fields and Fundamental Forces, Theoretical and Mathematical Physics -
University of Ljubljana
Bachelor's degree, Physics