Next course: 27–29 November, 2025

Next course: 27–29 November, 2025

The 5th edition of:

Data Analysis with Python for Medical Physicists

will take place fully-online between 27–29 November, 2025.

Register here:

Registration
A FULLY ONLINE course by the Malta Association of Medical Physics

This course is endorsed by EFOMP:

Summary:

  1. Accreditation. This course has always been EBAMP accredited in the past, and we have submitted a re-accreditation request for this year's course.
  2. Course slides. All slides and installation instructions will be provided ahead of time. You will have an opportunity to meet online with our tutors to assist in the installation before 27 November so that we ensure you have a working system before the course starts.
  3. Online & real-time. This is not an asynchronous course, i.e. you must be online and available 27–29 November to participate.
  4. Timezone. For anyone joining from outside Europe, course times are 09:00–17:00 CET.
  5. Platform. The course will be delivered using the Zoom platform.
  6. Course structure. The course is structured with a 50/50 balance between theory and hands-on to get you on the ground running.
  7. Continuous assistance. There will be breakout rooms with tutors and helpers to support you in any difficulties or queries during the hands-on sessions.
  8. Assessment. Optional multiple choice questions at the end of the last day.
  9. Registration is open!
  10. Payment is done via Stripe. A link will appear on the final page of registration form. Please complete the payment before submitting the form. If payment needs to be done via bank transfer:
    1. Beneficiary: Malta Association of Medical Physics
    2. Bank name: Bank of Valletta
    3. Payment details: 2025 Python Course - NAME SURNAME EMAIL
    4. IBAN: MT59VALL22013000000040026129488
    5. BIC/SWIFT: VALLMTMT
  11. Price.
    1. Early registration (until 30 June 2025) is €300.
    2. Regular registration (1 July onwards) is €350.
  12. Programme. See below. Subject to minor amendments.
  13. Other details. Bottom of page.

Thursday 27 November 2025

Time (CET) Topic
08:30–09:00 Registration
09:00–10:00 Introduction to the Python language
Data types, data structures, string manipulation, string formatting
10:00–10:30 Introduction to the Python language
Walkthrough examples and hands-on session
10:30–11:00 Break
11:00–11:45 The Integrated Development Environment
Navigating the PyCharm IDE & exploring basic features
11:45–12:30 Structured programming
Control flow, modules, functions, object oriented programming
12:30–13:30 Break
13:30–14:15 Structured programming
Hands-on problem solving session
14:15–15:00 Operating system interaction
Navigating directories and working with path objects
15:00–15:30 Break
15:30–16:15 Files
Working with CSV, Excel, JSON documents
16:15–17:00 Files
Hands-on problem solving session
17:00 Close

Friday 28 November 2025

Time (CET) Topic
09:00–09:45 Panel data 1
Introduction to the Pandas library
09:45–10:30 Panel data 1
Hands-on problem solving session
10:30–11:00 Break
11:00–11:45 Panel data 2
Reshaping & concatenating data, grouped statistical operations
11:45–12:30 Panel data 2
Hands-on problem solving session
12:30–13:30 Break
13:30–14:15 Combined hands-on session
Time to review and complete previous exercises
14:15–15:30 Visualisation
Fundamentals of plotting with matplotlib, Pandas and Seaborn
15:30–16:00 Break
16:00–17:00 Visualisation
Hands-on problem solving session
17:00 Close

Saturday 29 November 2025

Time (CET) Topic
09:00–09:45 Regular Expressions
Introduction to the pattern matching language, RegEx
09:45–10:30 Regular Expressions
Hands-on problem solving session
10:30–11:00 Break
11:00–11:45 DICOM files
Introduction to the PyDicom library
11:45–12:30 DICOM files
Hands-on problem solving session
12:30–13:30 Break
13:30–14:15 Image Quality Control
Introduction to the PyLinac library
14:15–15:00 Image Quality Control
Hands-on problem solving session
15:00–15:30 Break
15:30–17:00 Optional assessment
Multiple choice and short answer questions
17:00 Close

Course content

  • Basics of programming and control flow 
  • Functions, methods and introduction to object-oriented programming. These are fundamental concepts to be able to work with data manipulation, scientific and plotting libraries. These are also essential for interacting with medical images (DICOM) and Excel / CSV files. 
  • Parsing potentially unstructured machine log files produced by CT, MRI and other modalitiescontaining results from daily or weekly QC tests. 
  • Read data from Excel (e.g. medical physics QC test reports) or CSV (e.g. exports from dose monitoring platforms), structure this data into data frames and perform cleaning and filtering so data is prepared for calculation of summary statistics and plotting. This is essential for 2D columnar data medical physicists often have to work with. 
  • Restructure data into a 2D columnar format for easy manipulation, cleaning and filtering. 
  • Export clean data to Excel or CSV for storage. Export settings/configurations/user settable parameters to the machine-readable JSON format. 
  • Provide a tour of the PyCharm Integrated Development Environment (IDE) and highlight the benefits of an IDE over a plain text editor. 
  • Overview of plotting libraries (matplotlib, pandas, seaborn) and introduction to best practices for plotting line, bar, box and scatter plots. More complex plotting (e.g. ‘small multiple’ or trellis plots) will also be introduced since often medical physics data is often multi-dimensional. 
  • Introduction to the PyDICOM package to work with medical images (DICOM files )to extract information, including pixel data from DICOM headers, and write any modifications back to DICOM files. Overview of the concepts of DataSet, DataElement, Tag, Value Representation, Value Multiplicity and value. 
  • Overview of the PyLinac library 

For clarity, this course does not: 

  • Provide an introduction to databases or SQL 
  • Cover numerical methods or statistical techniques

Teaching methods

3 days split equally between lectures and practical sessions. These will be carried out online via Zoom and participants will be given time to work through practical examples, where individual attention in case of difficulties or questions will be provided via Breakout Rooms.

Participants will be provided with instructions to set up a working Python installation on their computer. A troubleshooting session will be organised ahead of the course to resolve any installation issues so that the course can start on time. This course is held ONLINE and in Real-Time over 3 days from 09:00–17:00 CET. It is not possible to follow the course asynchronously.

Optional assessment

For those interested in obtaining additional CPD points, an optional assessment will be held in the last 1.5 hours of the last day, i.e. Saturday. The assessment will comprise multiple choice and short answer questions.

Zoom Platform

The course will be carried out on Zoom. Approximately 2 weeks prior to the course start date, you will receive 3 links. These links will give you access to the course in real time. Kindly visit the links and ensure that both your microphone and camera are working properly. Since participants are expected to have the camera on during the course, recording is NOT allowed as per GDPR regulations.

Insurance and cancellation

In case an unforeseen event would force MAMP to cancel the course, the Association will reimburse the participants fully the registration fees. MAMP will not be responsible for the refund of travel and accommodation costs, if applicable.

Otherwise, in case of cancellation, the course is non-refundable. MAMP takes no responsibility for, and the provider of the virtual meeting services has represented and warranted that the services shall not contain, and that no end user shall receive from the software used to hold the virtual meeting, any virus, worm, trap door, back door, timer, clock, counter or other limiting routine, instruction or design, or other malicious, illicit or similar unrequested code, including surveillance software or routines which may, or is designed to, permit access by any person, or on its own, to erase, or otherwise harm or modify any data or any system, server, facility or other infrastructure of any end user. MAMP will not be held liable for the internet connection used in order to attend the course online.

For any queries kindly reach us through the Association's page.