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
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.
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: Python: Shapley, Numpy, C++
The drawbot is a CNC drawing robot made out of an old 3D printer. The toolpath generation was custom made in Python and then C++ to generate rectillinear fill or spiral fill patterns on binary images.
Results: Github Link
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.
Result Processor: Python: OpenCV, Numpy, Pandas
The goal of the project was to calculate dPCR concentrations from a grid of fluorescent droplets.
Results:
Fast Thermocycler: Arduino, CAD, 3D Printing, CNC Machining
Fast plate thermocycler using pneumatics to move dPCR plates between two heatblocks.
Results:
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:
Plate Poker: C#: OOP, OpenCV, CAD, CNC Machining, Electronics
Automated poking tool using OpenCV to detect poking locations, and retrofitted instrument with pneumatics to actuate poking
Results:
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:
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