Hackathon on Efficient integration of SIRF/STIR/CIL with Pytorch

Home » Hackathon on Efficient integration of SIRF/STIR/CIL with Pytorch

Hackathon on Efficient integration of SIRF/STIR/CIL with Pytorch

CCP SyneRBI and CCPi are co-organising a workshop + hackathon at UCL (London, UK) to enable integration of various software libraries specialising in physics-modelling for image reconstruction with Python deep learning frameworks such as PyTorch. 

Attendance information is below. 

Contact tomography@stfc.ac.uk if you are interested in taking part to the event.

Workshop: Integration of libraries for physics informed deep learning in imaging 

The workshop will be hybrid: 

Schedule

Monday 7 April: 13:30-18:00 BST 

All talks are 15 min + 5 min discussion 

  • Overview of STIR/SIRF architecture and need for this workshop and following hackathon (Kris Thielemans, UCL, London, UK)
  • SIRF pytorch interface on Python level (Imraj Singh, UCL, London, UK)
  • Parallelproj (Georg Schramm, KU Leuven, Belgium)
  • Overview of CIL architecture (Gemma Fardell, STFC, London, UK)
  • Overview of interfacing C++/CUDA with Python (Casper da Costa-Luis, STFC, UK)
  • CuVec and NiftyPET (Pawel Markiewicz & Casper da Costa-Luis, STFC, UK)

Break (20 min) 

  • Interfacing GPU image data with other Python packages in RTK (Simon Rit, CREATIS, Lyon, France)
  • Integrating ASTRA and Python software (Willem-Jan Palenstijn, LIACS, Leiden, Netherlands)
  • Challenges and solutions when combining ODL, PyTorch and Astra (Justus Sagemüller, KTH, Stockholm, Sweden)

Discussion (30 min) 

Hackathon: Integration of STIR/SIRF/CIL with pytorch 

The hackathon will be mostly in-person, accommodating remote attendance as much as possible. Contact tomography@stfc.ac.uk if you are interested in participating, specifying in-person or remote attendance and join our Discord server  

Location:
Aim: optimise usage of CUDA in STIR/SIRF/CIL when interfacing to PyTorch 

Example tasks: 

  • STIR 
    • Allow use CUDA managed pointers for image objects 
    • Add CUDA numerical operations ? 
    • Adjust STIR’s parallelproj interface to use above 
    • Expose via SWIG to python 
  • SIRF 
    • Pass through STIR image objects appropriately to python 
  • CIL 
    • Investigate DataContainer agnostic on backend, e.g. numpy, cupy, pytorch
    • Efficient data exchange with GPU backend, TIGRE/ASTRA 
    • making a denoising application with torch function 
    • run CIL Algorithm with DL denoising step 

 

Schedule
Tuesday: 9:00-18:00
  • introduction and separation into groups 9:00 – 9:45 
  • Group hacking 9:45 – 11:30 
  • Group activity reporting: 11:30 – 12:00 
  • Lunch 12:00 – 13:00 
  • Group hacking 13:00 – 17:00 
  • Group activity reporting: 17:00 – 18:00
Wednesday: 9:00-13:30
  • Group hacking 9:00 – 11:30 
  • Final reporting and outlook: 11:30 – 12:30 
  • Optional Lunch 12:30 – 13:30 

April 7, 2025

1:30 am

09/04/2025

Location at UCL Bloomsbury Campus (exact rooms TBC)