m (refine) |
m (added video) |
||
| Line 187: | Line 187: | ||
The message is intentionally simple. I wanted the viewer to feel the connection to coexistence, difference, and anti-racist thinking without turning the video into a direct slogan. | The message is intentionally simple. I wanted the viewer to feel the connection to coexistence, difference, and anti-racist thinking without turning the video into a direct slogan. | ||
[[File:Home4two.mp4|thumb|Home for Two]] | |||
== Conclusion == | == Conclusion == | ||
This project combined biological experimentation, visual storytelling, and computational image processing. | This project combined biological experimentation, visual storytelling, and computational image processing. | ||
Revision as of 01:01, 5 July 2026
Home for Two: A Slime Mold Coexistence Experiment
Introduction
For my final DIY BioLab project, I wanted to create an experiment that was both biological and narrative. Instead of only observing the growth of one slime mold, I wanted to place two different slime mold species in the same environment and document what happened when their growing networks approached each other.
The two organisms used in this experiment were Badhamia and Physarum polycephalum. At the beginning, both looked very similar because they were yellowish, which made it difficult to visually separate them during observation. Because of this, I later used a red pigment on the food source of one culture to create a visible contrast.
My final goal was to create a time-lapse video showing the interaction between the two slime molds. I wanted the project to ask a simple question:
Can two different living organisms share the same space?
Materials
For this experiment I used:
- Badhamia culture
- Physarum polycephalum culture
- Agar-agar
- Water
- Petri dishes
- Oat flakes
- Red pigment / coloring powder
- Laboratory glassware
- Spoon
- Tweezers
- Gloves
- Microscope / camera setup
- Canon DSLR camera
- Python
- Video editing software
Preparing the First Badhamia Culture
At the beginning of the project, I prepared a simple agar medium for the slime mold.
I mixed agar-agar with water, heated it until the agar dissolved, and poured the liquid into a Petri dish. After the agar cooled down and became solid, I transferred Badhamia from the kit that was ordered for me by Prof. Volpato.
I placed several oat flakes on the agar as food and left the culture to grow. This first step was mainly about keeping the Badhamia alive and giving it enough time to become stronger before using it in the final experiment.
Receiving the Second Slime Mold
After the Badhamia culture had started growing, I contacted another student and exchanged slime mold cultures with her. I gave her part of my Badhamia culture, and she gave me Physarum polycephalum.
The Problem of Visibility
At first, both cultures were yellowish and visually very similar. This was a problem because once they started growing on the same agar plate, it would be difficult to tell which slime mold was which.
Instead of repeating the full color-testing process, I decided to use the same red pigment to color the food source of one slime mold. This made the two sides easier to distinguish in the final video. Then I prepared the food as she mentioned.
Preparing the Final Petri Dish
For the final experiment, I prepared new agar plates.
I again mixed agar-agar with water, heated the mixture, and poured it into a clean Petri dish. After the agar solidified, I transferred both slime molds onto the same plate.
One side contained Badhamia, and the other side contained Physarum polycephalum. This setup became the central scene of the project: two different organisms, one shared environment.
Camera Setup and Time-Lapse Recording
To document the experiment, I used a fixed camera setup.
The camera was mounted above the Petri dish and under it a power source so that it could record for several hours without interruption. I configured the camera to take one photo every 10 seconds.
This interval was chosen because it created enough frames for a smooth time-lapse, while still keeping the number of images manageable.
During the recording session, the camera captured thousands of photographs of the slime molds as they slowly expanded.
Creating the Video with Python
After the recording session, I transferred the images to my computer.
The folder contained both image files and raw camera files, so I used only the JPG images for the final processing. I wrote a Python program to load the images in order, align them, remove problematic outsider frames when necessary, and combine the sequence into a video.
import cv2
import os
import glob
import numpy as np
# SETTINGS
FPS = 30
OUTPUT = "timelapse_aligned.mp4"
IMAGE_EXT = "*.JPG"
# Read JPG files only
files = sorted(glob.glob(IMAGE_EXT))
if not files:
raise Exception("No JPG files found in this folder.")
print(f"Found {len(files)} JPG images")
# Use first image as reference
ref = cv2.imread(files[0])
ref = cv2.resize(ref, (1920, 1080))
ref_gray = cv2.cvtColor(ref, cv2.COLOR_BGR2GRAY)
h, w = ref.shape[:2]
video = cv2.VideoWriter(
OUTPUT,
cv2.VideoWriter_fourcc(*"mp4v"),
FPS,
(w, h)
)
last_good = ref.copy()
for i, file in enumerate(files):
img = cv2.imread(file)
if img is None:
print("Skipped unreadable:", file)
continue
# Fix portrait/rotated outsiders automatically
if img.shape[0] > img.shape[1]:
img = cv2.rotate(img, cv2.ROTATE_90_CLOCKWISE)
img = cv2.resize(img, (w, h))
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# Align image to first image
warp_matrix = np.eye(2, 3, dtype=np.float32)
try:
_, warp_matrix = cv2.findTransformECC(
ref_gray,
gray,
warp_matrix,
cv2.MOTION_EUCLIDEAN,
criteria=(cv2.TERM_CRITERIA_EPS | cv2.TERM_CRITERIA_COUNT, 50, 1e-5)
)
aligned = cv2.warpAffine(
img,
warp_matrix,
(w, h),
flags=cv2.INTER_LINEAR + cv2.WARP_INVERSE_MAP
)
video.write(aligned)
last_good = aligned
except cv2.error:
# If alignment fails, probably outsider / bad photo
print("Skipped outsider or badly rotated image:", file)
continue
if i % 100 == 0:
print(f"Processed {i}/{len(files)}")
video.release()
print("Done:", OUTPUT)The final time-lapse was created from the image sequence and exported as an MP4 file. After that, I edited the video further by adding an intro, title cards, music, and an ending message.
Artistic Concept
The final video was not meant to be only a biological documentation. I wanted it to feel like a short documentary or a small film.
The title of the film is:
Home for Two
At the beginning of the video, the two slime molds are introduced almost like characters:
One — Badhamia
Two — Physarum polycephalum
After that, the time-lapse shows their growth and interaction. The final message connects the biological experiment to a wider social idea:
They were different.
Still, there was room for both.
The message is intentionally simple. I wanted the viewer to feel the connection to coexistence, difference, and anti-racist thinking without turning the video into a direct slogan.
Conclusion
This project combined biological experimentation, visual storytelling, and computational image processing.
I learned how to prepare agar plates, maintain slime mold cultures, exchange and handle biological material, use colored food as a visual marker, build a time-lapse setup, and process thousands of images into a final video using Python.
The final film, Home for Two, became both a documentation of slime mold growth and a poetic reflection on coexistence.
Through the experiment, two different organisms were placed in one shared environment. They were not the same, but they both had space to live.
Home for Two is therefore not only about slime molds. It is also about the possibility of sharing space despite difference.