Stealth and deception: adaptive motion camouflage in hunting broadclub cuttlefish
Data files
Feb 27, 2025 version files 65.79 MB
-
README.md
4.45 KB
-
Supplementary_code_and_data.zip
65.79 MB
Abstract
Maintaining camouflage while moving is a challenge faced by many predators. Some exploit background motion to hide while hunting and others may use coloration and behavior to generate motion noise that impairs detection or recognition. Here, we uncover a unique form of motion camouflage, showing that broadclub cuttlefish pass dark stripes downwards across their head and arms to disguise their hunting maneuvers. This ‘passing-stripe’ display reduces the likelihood of response to predatory expanding stimuli by prey crabs in a lab-based experiment, is modulated according to approach speed during a hunt, and generates a motion pattern that is different to that of looming predators. This form of motion camouflage likely functions by overwhelming the threatening motion of the approaching predator with non-threatening downward motion generated by the rhythmic stripes.
https://doi.org/10.5061/dryad.jh9w0vtkq
Description of the data and file structure
The .zip file contains the following folders:
01_treadmill - MATLAB code and raw data of the laboratory experiment:
- The subfolder “00_scripts” contains the MATLAB code “PTB_treadmill_v20_experiment.m” to replicate the presentation of the stimuli.
-
The subfolder “01_data” contains the raw data file “Treadmill_data.csv” of the laboratory experiment:
- Dataset “Treadmill_data.csv” contains the following variables:
- stimulus : the type of stimulus shown to crabs during each trial.
- stripe_wide_RGB: RGB value of screen used for the main color of the expanding ellipses.
- stripe_thin_RGB: RGB value of screen used for the color of the stripes on the expanding ellipses.
- contrast: Weber contrast of stimulus with the background.
- crab_ID: ID of each crab used in the experiment.
- sex: sex of each crab used in the experiment.
- response: binary variable with crab responses to presented stimuli (0 = no, 1 = yes).
02_wild_hunting_stereo - MATLAB code and raw data of the multi-camera field observation:
- The subfolder “00_scripts” contains the MATLAB code to 1. synchronise and calibrate the stereo-camera recordings (“01_Stereocamera_calibration.m”), 2. extract 3D coordinates from the synchronised videos (“02_Stereo_data_extraction.m”), and R code to 3. process the extracted data from MATLAB and export final csv files (“03_Process_metrics.R”).
- The subfolder “01_example_video_strike_stitched” contains an example of a stitched and synchronised stereo-camera MP4 video (“strike_stitched_proxy.MP4”) of hunting cuttlefish that is produced by the MATLAB code “01_Stereocamera_calibration.m”.
-
The subfolder “02_data” contains the raw data files (“Hunting_trajectories_data.csv” and “Stripe_displays_data.csv”) extracted from the hunting sequences filmed in the wild using the R code “03_Process_metrics.R”.
- “Hunting_trajectories_data.csv” contains the following variables:
- frame_cuttle_eye: number of video frames for each strike video.
- x_cuttle_eye: x coordinate of the cuttlefish’s eye for each frame.
- y_cuttle_eye: y coordinate of the cuttlefish’s eye for each frame.
- z_cuttle_eye: z coordinate of the cuttlefish’s eye for each frame.
- x_crab: x coordinate of the crab’s eye for each frame.
- y_crab: y coordinate of the crab’s eye for each frame.
- z_crab: z coordinate of the crab’s eye for each frame.
- distance_eye_crab: distance between the cuttlefish and the crab in cm for each frame.
- time: seconds passed since the start of each strike video.
- strike: ID of each strike video.
- start_stripes: start frame for each strike video where the cuttlefish starts passing moving stripes.
- end_stripes: end frame for each strike video where the cuttlefish stops passing moving stripes.
- “Stripe_displays_data.csv” contains the following variables:
- individual: ID of each cuttlefish.
- strike: ID of each strike video.
- crab_sex: sex of the crab used in each strike video.
- crab_species: species of the crab used in each strike video.
- crab_carapace_width: carapace width in cm of the crab used in each strike video.
- dive_site: dive site where each strike video was recorded.
- cuttlefish_sex: sex of each individual cuttlefish.
- mantle_size_cm: mantle length in cm of each individual cuttlefish.
- head_size_cm: head length in cm of each individual cuttlefish.
- size_strike_tentacles_cm: fully extended tentacles length in cm of each individual cuttlefish.
- av_stripe_duration_s: average duration in seconds of a moving stripe for each strike.
- starting_distance_approach_cm: starting distance in cm between the cuttlefish and the crab for each strike.
- av_speed_with_stripes: average approach speed in cm/s of each cuttlefish when displaying the stripes.
03_EMD- MATLAB code and example data to implement EMD algorithm:
- The subfolder “00_script” contains the MATLAB code of the EMD algorithm (“EMD_code.m”).
- The subfolder “01_example_data” contains example videos needed to run the EMD analysis (“38_GX018892_cropped_cuttle_ready.mp4” and “38_GX018892_cropped_background_ready.mp4”).