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:

This course is endorsed by EFOMP:

Summary:
- Accreditation. This course has always been EBAMP accredited in the past, and we have submitted a re-accreditation request for this year's course.
- 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.
- Online & real-time. This is not an asynchronous course, i.e. you must be online and available 27–29 November to participate.
- Timezone. For anyone joining from outside Europe, course times are 09:00–17:00 CET.
- Platform. The course will be delivered using the Zoom platform.
- Course structure. The course is structured with a 50/50 balance between theory and hands-on to get you on the ground running.
- Continuous assistance. There will be breakout rooms with tutors and helpers to support you in any difficulties or queries during the hands-on sessions.
- Assessment. Optional multiple choice questions at the end of the last day.
- Registration is open!
- 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:
- Beneficiary: Malta Association of Medical Physics
- Bank name: Bank of Valletta
- Payment details: 2025 Python Course - NAME SURNAME EMAIL
- IBAN: MT59VALL22013000000040026129488
- BIC/SWIFT: VALLMTMT
- Price.
- Early registration (until 30 June 2025) is €300.
- Regular registration (1 July onwards) is €350.
- Programme. See below. Subject to minor amendments.
- 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.