Captain's Log

A log containing entries documenting random things I've done over the years.

Python packaging with pyproject.toml

Recently I needed to develop a generic client API for interacting with mongoDB. This client was going to be used by other people on my software team and so I needed an easy way for them to install it to their local development environments. To accomplish this, I used the new build interface for python released by the Python Packaging Authority. In order to get a better understanding of how it all works, I put together an example package that demonstrates a number of useful features.

python_packaging_example

HSTcosmicrays

Python processing pipeline I wrote for a research project designed to study the high energy particles (cosmic rays) that contaminate observations taken by imagers on the Hubble Space Telescope. The dataset generated by this pipeline was analyzed and the results were reported in our paper which was accpeted into the Astrophysical Journal.

hst_cosmic_rays

Animations with matplotlib

A lot of my early work focused on visual analysis. To facilitate this, I wrote a python based command line tool to create MP4s and GIFs using FITS data. An example of the output is seen on the left. This animation of Titan's transit across Saturn was generated using ACS/SBC observations observed as part of the successful Cycle 16 GO proposal, 11970, "HST Observations of Titan's Escaping Atmosphere in Transit and in Emission."

animated_fits

Parallelization: dask vs multiprocessing

This example demonstrates how to parallelize the source finding process across an arbitrary number of images using dask.delayed.

parallelization_example