ARUGS Web

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