Tracing in 4D data

Project reference: 1719

Europe has several synchrotron facilities including, ESRF, PSI, and MAX-IV. These facilities produce still more data. Especially medical beam lines produce enormous datasets; they collect 3D volumes at a frequency that produce 3D movies. An example is volumes of 2560^3 at a frequency of 15 Hz in a 10 min experiment produce 9.000 volumes with a total size of more than 300 TB. The analysis of this data typically involves tracing one or more objects, such as a heart clap or lung tissue, in 3D over time.

Existing algorithms are typically implemented in Matlab and do not scale to the new data rates. Thus the project involves selecting a single algorithm that should be implemented in a High Performance version. Because of the large datasets, conventional processors using MPI is the most straightforward technology choice for this project.

3D visualization of the flight muscles (from

Project Mentor: Brian Vinter

Site Co-ordinator: Brian Vinter

Learning Outcomes:

Learn different tracing algorithms and how to parallelize them using MP

Student Prerequisites (compulsory): 

Basic linux skills

Elementary knowledge of parallel computing

Student Prerequisites (desirable): 

Experience with MPI and OpenMP

Training Materials:

X-ray microscopy




Week 1: Training
Week 2-3: Study of tracing algorithms
Week 4-7: Implement a parallel version of the tracing algorithm
Week 8: Finalise Report

Final Product Description: 

The final product is a parallelized implementation of 4D tracing

Adapting the Project: Increasing the Difficulty:

The student could explore a hybrid programming approach by implementing a version that both uses shared memory parallelism (OpenMP) and distributed memory parallelism (MPI)


The student will need access to a MPI Cluster, which we will provide.


Niels Bohr Institute University of Copenhagen

Please follow and like us:
Posted in Projects 2017 Tagged with: , ,

Leave a Reply

Your email address will not be published. Required fields are marked *