MRI simulator
For my master's thesis I developed a new adaptive algorithm to calculate an oscillatory integral for an enclosed surface made out of quadratic triangular finite elements. This integral is the 3D Fourier transform of a 3D enclosed volume that can represent an anatomical feature, which is theoretically the signal one gets when an MRI is used. The final image is obtained by doing the inverse Fourier transform.
With this integral one can do the 3D Fourier transform of an anatomical feature of interest, and do the inverse Fourier transform in different ways that correspond to different resolution settings in the MRI machine. With this information one can study the imaging errors one can get from the different MRI machine settings.
To do this I developed two methods, one based on the typical numerical quadrature, that I developed further into the final algorithm in the thesis and another method in 2D for finite elements derived from the 1D method of numerical steepest descent.
This method is a different type of numerical quadrature where actually one needs less quadrature points when the frequency of the integral is higher which is the opposite to the typical numerical quadrature case. The new 2D method for finite elements using numerical steepest descent was done to maximize execution speed, by evaluating variables in one dimension and using them in the next dimension in a similar way to automatic differentiation. I simulated an adaptive algorithm based on this method and found that the integral can be computed faster but only by about 25% for the resolutions that would be of use for clinical settings. This speedup might be higher if using higher order elements or in other applications like electromagnetics or acoustics.
The thesis can be found here.