As a support programmer, I maintained an existing repository, ARGUS, which
provided support for complex video analysis features such as 3D point recovery (in the case of multiple cameras), and path
tracking. Given the complexity of this package, and the inconvenience of having to install Python to use it, I was also responsible with remaking ARGUS into ARGUSWEB which
was a significant undertaking. I had to incorporate multiple concepts from distributed systems, including inter-process (inter-tab) communication, and synchronization strategies. Much of this was further complicated by the complexities of videos - the actual process of
loading a video into the browser for frame-by-frame analysis is not as straight forward as it seems. I'm personally proud of the
API I designed to add and remove features that needed to be synchronized, along with support for disabling
some of these features. Part of this design allowed me to share code for generic video rendering methods between a "main window" (server) and "pop out" windows (clients). I also designed and implemented a MVP for using pre-trained computer vision models to automatically track animals within the video footage.
Given the difficulty of implementation and importance to researching animal locomotion, this software was accepted to the Society of Integrative and Comparative Biology 2021. It remains
live as an option for biological researchers to use when analyzing videos.
Notice: this page is still under construction