Use the buttons to filter different project types.

Brain Tumor Classification: Python: OpenCV, TensorFlow

Experimented with different CNN architectures with the goal of classifying MRI images as positive or negative for cancer.

Results: 0.994 negative precision --> Best result using transfer learning, l1 regularization, and data augmentation

Github Link

Netflix KDD Cup (2007): Python: Pandas, LightGBM

Trained gradient boosting classifier using LightGBM to attempt to predict if a user rated a movie. This required extensive feature engineering and training on the BU computing cluster.

Results: 0.2 positive precision --> Improvements could have been made to the feature engineering (heavily correlated) and the synthetic negative generation.

Github Link

Organic Mazes and Labyrinths: C++, Python

Following the algorithm from the Organic Labyrinths and Mazes paper. I implemented the generator in both Python and C++ for speed ups, and added a point freezing feature. Still a work in progress - Can you guess the pokemon?

Results: Github Link

Connected Fermat Spirals: Python

Connected Fermat Spirals are a special space-filling curve that can fill a space with a single line. I followed the algorithm from the Connected fermat spirals for layered fabrication paper.

Results: Github Link

RAFT implementation: Go

Implemention of RAFT distributed state machine in Go.

Results: Completed distributed key-value store over RAFT service for linearizable transactions.

drawbot-server: Python: Flask, PySerial

The drawbot-server is a Flask server running on a raspberry pi to allow uploads and remote control on the drawbot.

Results: Github Link

Quest: Java, OOP

Object oriented RPG style game, using the singleton, factory, and decorator patterns, object composition, inheritance...

Tracing Distributed Actors: Python: Ray, Jaeger

Set up distributed system on Mass Open Cloud using Ray, and traced the system using Jaeger.

Fast Thermocycler: Arduino, CAD, 3D Printing, CNC Machining

Fast plate thermocycler using pneumatics to move dPCR plates between two heatblocks.

Results:

  • G Block PCR amplification in 8 minutes

Image Quality Analysis: Python: OpenCV, Numpy, Pandas

Analysis tool to determine the quality of PCR based on the probability of different "streaks" of positives at a concentration.

Results:

  • Monte Carlo style simulation to determine streak probabilities
  • Streak length image processing to determine # of positives

Dust Detection: Python: OpenCV, Numpy, Pandas, Scikit

Image analysis used for QC of dPCR plates. The statistics generated from image analysis were used to train a machine learning model to predict the "score" of the image. Made coworkers suffer through labeling plate images for dust.

Results: Model training not selective enough to be useful. There were not enough "good" samples, the ratings were predicted "bad" on most samples.

Shrinkage Analysis: Python: OpenCV, Numpy, Pandas

Analyzed plate molding shrinkage using machine vision by measuring the change in distance between back-lit holes in plate.

Results: Technique would work, the camera did not have the resolution to image the whole plate to get good results.

Temperature Measurement: Python: Serial, Pandas, Arduino, Sensors

Measured heatblock temperature using simple thermistor circuit and arduino. Data was sent over serial to Python for plotting and analysis.

Results: Surface temperature measurment was not accurate enough to get a meaningful, repeatable reading.

Major Qualifying Project: Matlab, Simulink, Arduino, Sensors

Developed thermal simulation and control logic of active temperature-controlled package for delivering vaccines via drone.

Results:

  • Built, tested and verified working prototype.
  • Showcased project at Design of Medical Devices Conference at UMN

RBE 3002 Final Project: ROS, Python, A* search

Mapping algorithm using ROS and Python. Implemented A* search for path planning and obstacle avoidance.

Results: link to video

RBE 3001 Final Project: C, Matlab, PID, kinematics

Controlling a 2-DOF arm using embedded microcontroller running different sensors and PID control. Positions calculated in realtime using inverse kinematics in Matlab.

Results: link to video

NHL Machine Learning: Python: scikit-learn, Numpy, requests

Pulled NHL statistics from the NHL api and developed a prediction model for different statistical categories.

Results: Came in third in fantasy hockey league