MASc. Mechanical and Industrial Engineering, University of Toronto

Thesis - Illustration-Inspired Visualization of Blood Flow Dynamics

interactive prototype image
Screenshot of aneurysm flow as visualized by my web-based tool


Image-based computational fluid dynamics is an invaluable tool in the study and evaluation of hemodynamic factors involved in cardiovascular disease. Simulating blood flow inside a patient-specific model provides an understanding of the blood’s complex behaviour without resorting to risky invasive procedures. However, detailed hemodynamic data can be difficult to present clearly using conventional flow visualization techniques. Many approaches use single snapshots in time which fail to capture the time-varying qualities of the flow dynamics; and animations retain temporal information but are constrained to a single point of view. To address these concerns, we took cues from illustration and comics to explore data-driven paradigms for visualizing blood flow. We programmatically reproduced illustrative techniques using modern computer graphics capabilities and computer vision-inspired feature-tracking algorithms. The culmination of this work produced an interactive web-based tool that allows users to explore the hemodynamics of cerebral aneurysms in a unique, immediate, and novel way.


interactive prototype image
Helicity of the flow inside an arterial structure rendered using illustrative aesthetics.


CSC2504 - Computer Graphics

raytracer example
Scene produced by the raytracer featuring glossy and non-glossy reflections

Completed a raytracer in C++ as part of the final project for this course. The following features were implemented:

  • Reflections
  • Hard shadows
  • Handling arbitrary surface mesh geometry
  • Anti-aliasing
  • Glossy reflections
  • Extended light sources (soft shadows)
  • Refraction

CSC2524 - User Experiences with Next-generation Input & Output Technologies

digital tabletop game
Digital tabletop game using handmade pieces that interacted with a Microsoft PixelSense

Produced an interactive digital tabletop game using physical pieces in conjunction with the Microsoft PixelSense (Surface 1.0) table as part of the final project for this course. The design focussed on tangible interactions, with the digital surface giving players feedback about the game state as well as possible moves. The project was written in C# using the Microsoft XNA library.

KMDI1001/KMDI2002 - KMDI Fundamental Concepts/Technologies for Knowledge Media

user experience coursework
Course projects focused on user experience and iterative design

Practised user experience-related techniques such as iterative design and paper prototyping. Received the KMDI Award for Course Based Research in Knowledge Media Design for the design of a recycling-based app that utilized data from the City of Toronto’s open data initaitive.

BSc. Honours Physics, University of Waterloo

Final Project - Quantum Key Distribution: Educational Demonstration and Real World Application

quantum key distribution demo
Photo of one half of the pseudo-QKD implementation built for use as an educational demonstration

A four month research project was spent developing an educational demonstration of quantum key distribution (QKD), as well as implementing a real QKD experiment to test the feasibility of running QKD and classical optical communications over the same piece of fibre optic cable. The educational demonstration was capable of reducing the often expensive, sensitive, and complex setup required for real QKD to a cheaper and mobile working demo. In addition, it allowed for the concepts of QKD to be presented to a lay audience in an understandable manner. The test of QKD and classical communication over the same fibre proved successful, indicating the feasibility of connecting a QKD photon source to a fibre already used for regular network traffic. The experiment was run over a 2.2km fibre link, using optical couplers designed for 1300nm to route in traffic from two switches. Overall, the experiment produced on average a QBER less than 9%, with sifted key rates of 62 bits/second, 216 bits/second, and 207 bits/second for 10mw, 30mw, and 50mw intensities respectively.