Programming Projects

A collection of my personal and professional programming projects. They range from astronomical image processing pipelines to web applications and coding challenges.

🛠️ Scientific Programming

Accompanying several written publications, I (or my collaborators) have published software packages for data reduction. Most of my tools involve image processing on large datasets, totaling hundreds of thousands of images. These tools involve signal processing, Fourier transforms, and feature detection.

🦎 LIZARD Pipeline

Data reduction and image processing pipeline for LBTI Fizeau Imaging. It processes observations consisting of ~100,000 images by handling cropping, centering, good frame selection, and calibration. It also includes various deconvolution algorithms to recover high resolution features from within the science images. LIZARD has been used in several published scientific works.

View on GitHub

🛠️ MATISSE LM Data Reduction

Python scripts to process MATISSE LM-band for faint sources. Processing the interferograms, the pipeline extracts the observables using longer wavelength selection criteria than the default MATISSE pipeline. This is especially useful for "red" objects like Active Galactic Nuclei. This was published as part of my PhD thesis.

View on GitHub

🌀 Gravbox

Augmented Reality Gravitational Dynamics Sandbox - GravBox - Version 1.0 (December 2017). Created at the University of Iowa for education and outreach.

  • - Written by Jacob Isbell, Sophie Deam, Jianbo Lu, and Tyler Stercula
  • - Graphics made by Jeremy Swanson and Jacob Isbell
  • - Hardware by Mason Reed, Ross McCurty, Sadie Moore, and Wyatt Bettis
  • - Supervised by Hai Fu
More Information View on GitHub

⭐ All Sky Camera

Basic python package for overplotting constellations on an all-sky camera image, for making basic measurements, and for making nightly videos. Briefly used at the University of Iowa before a lightning strike.

View on GitHub

🤖 Faraday Rotation Convolutional Neural Network

Scripts accompanying Brown et al. (2019) using convolutional neural networks to estimate Faraday rotation in Square Kilometer Array observations.

View on GitHub

🛠️ Hobby Software Development

In addition to my research programming with Python, I enjoy programming in Go and Rust. I occasionally also use Javascript/React. Here are a few of the projects I’ve worked on to learn the languages and to become a better programmer.

🪴 Gardone

Gardone is a fullstack web application that helps gardeners use a digital garden to keep track of their plants and when to water them. The backend REST API is fully written in Go using the Gin package. It interfaces with a PostgreSQL database and a React frontend. It was a very fun project to develop because it tied together so many concepts that I had learned in piecemeal over the years.

View Project

🖼️ E-Paper Image Frame

Using a Waveshare color e-ink display and a Raspberry Pi 5, I made a digital photo frame as a gift. When it is unplugged, the image remains for months! To update the image, the device must be powered using a USB-C port. At startup, a FastAPI local web server is started which serves a web page.for image upload.

View on GitHub

🎄 Advent of Code

For the past few years, I have enjoyed working on Advent of Code throughout December. I use it as an opportunity to learn the language, so implementations are often more experimental than optimal. AoC also helps keep computer science concepts (like DSA) fresh! I have used the following languages:

  • - R in 2021
  • - Rust in 2022
  • - Rust in 2023
  • - Go in 2024
View on GitHub