The shape of worm behavior
"Topological data analysis of C. elegans locomotion and behavior" by Ashleigh Thomas, Kathleen Bates, Alex Elchesen, Iryna Hartsock, Hang Lu, and Peter Bubenik.
Given a video of a worm moving around its environment, we can look at, say, 20 consecutive frames of the video and record the worm's posture for each frame. This sequence of 20 postures is a "movement" of length 20. A collection of all the movements of length 20 from a ~13 second video of a worm are shown at left. We analyze the shape of this "movement space" to compare worm behaviors across various biological experiments.
Topological data analysis of cell patterning data
with Peter Bubenik, Daniel Cruz, Elena Dimitrova, Alex Elchesen, Iryna Hartsock, Melissa Kemp, Eunbi Park, and Jack Toppen.
We use persistent homology to compare the patterns and textures of real and simulated images of cells. Cells of two types in a multicellular organism move and reproduce to form various structures in tissue. We compare shape features of simulated data to those of real data to help tune a model of how each cell moves given their knowledge or nearby cells.
Persistent homology detects shape features in data and those features can be used to create distances between data points. In some cases, the distance between data points is infinite, which is inconvenient because comparisons of infinite distances give no information (neither distance is longer or shorter than the other). These infinite distances are sometimes prevented by truncating the data (which forces all distances to be finite in some settings), which introduces a truncation parameter that can have significant effects on the computed distances between points.
We propose a new family of distances that reduces the
Multirank: an invariant for statistical multiparameter persistent homology
[slides, poster, thesis ch. 3]
Multiparameter persistent homology for morphology of fly wings
with Ezra Miller and Surabhi Beriwal.
Active sound localization in a symmetric environment
Jordan Brindza, Ashleigh Thomas, Spencer Lee, William McDermid, Yizheng He, and Daniel D. Lee.
International Journal of Advanced Robotic Systems (2013).
Humanoid robots can fall down, get pushed over or in a new direction, or lose track of where they are. If they do that in an environment is that has rotational symmetry -- like some buildings, hallways, or rooms; or places that have very few landmarks -- they can get "turned around" and fail to identify which direction they were facing before being disrupted. We propose a method for using teams of robots to collectively break environmental rotational symmetry so robots can re-localize correctly after disruption.
A room is rotationally symmetric if you can stand in the middle of the room and not be able to tell the difference between what you see when looking in two or more different directions. You might have experienced this when coming out of a room in a building you've never visited before: you come out of the room and don't remember which end of the hallway you walked in from. In this situation, your forgetfulness is the disruption of your localization. To exit the building you need to either find more clues (was there a water fountain near where you walked in?) or just guess a direction and try exiting that one to determine if it was the correct guess.
The method we propose for quickly solving this re-localization problem is akin to bringing a friend with you to wait outside your meeting. If, when you enter the building, your friend stays at the end of the hallway from which you entered, then when you come back into the hallway after your meeting your friend can call your name and point you towards the correct door. Your friend is breaking the symmetry of the hallway and communicating enough information so that you can easily figure out which direction is "out."
Internship at Immedia Semiconductor
Independently created data visualizer for data exploration and debugging.
Developed novel video encoding algorithms in collaboration with team lead and integrated them into a large, existing code base. Written in C++.