NeuRRo Lab

Back

I have been a research assistant at the University of Michigan's NeuRRo Lab under Dr. Chandramouli Krishnan since the spring of 2018. The Lab's Research Interests:

"The goal of the Neuromuscular and Rehabilitation Robotics Laboratory (NeuRRo Lab) is to develop effective and efficient rehabilitation methods for individuals with neurological and orthopedic disorders."

These are the projects I have worked on while there:

NeuRRoVR
An in-development VR therapy framework, implemented in Unity. I have been the only developer on this project.
The system uses an HTC Vive headset, Vive Controllers mounted to the forearms, a Vive Tracker mounted on the back, and a Vive Tracker on each foot. Additionally, a head-mounted Leap Motion hand tracker is used to track finger and wrist orientations when they are in view.
There are five available gamified activities: a Training Drone, Atlas Stones, Stackable Boxes, a Tightrope, and Roll-A-Ball. The games are designed to cover a wide variety of patient needs, ranging from Balance Training, to Hand-Eye coordination, to Mirror Therapy.
Note: While it is not shown in the video, NeuRRoVR contains functionality to do immersive VR Mirror Therapy. We are putting an additional, potentially patentable twist on Mirror Therapy, which can't be publicly shown yet.

NeuRRoNav
An Open-Source Transcranial Magnetic Stimulation (TMS) Neuronavigation software, using Unity and OptiTrack cameras. I am the latest of a long line of student developers on this project.
The purpose of TMS is to stimulate a particular part of the brain (a hotspot) with an alternating magnetic current, generated by a coil (represented in green in the videos). To accurately stimulate the same part of the brain across different sessions, having an accurate motion tracking solution combined with a hotspot-bookkeeping backend is useful.
My tasks included maintenance/bugfixes on the existing code, and development of new features:
  • Importing DICOM MRI data, and drawing draggable 2D cross-sections. Since the slices of a DICOM image generally don't align with the desired standard orientation these slices should be drawn in, I needed to do a linear algebra transformation from world space to image space for every pixel I wanted to draw. This would be very slow on a CPU. I therefore put these computations on the GPU, using an HLSL compute shader.

  • Generating a mesh from the currently loaded DICOM data, accomplished with raycasts. The end goal for these features was to be able to choose an area of the brain from the DICOM data, and automatically generate a hotspot location for TMS from it. This wasn't finished, as it was decided the newly-funded NeuRRoVR was a higher priority. However, that which did get done is a solid foundation for future development.



© Daniel Kortemeyer, 2020