Structural dynamics and neural representation of wing deformation
Data files
Nov 18, 2025 version files 9.01 GB
-
DisplacementallWingbeats.mat
311.91 MB
-
Ephys_Takeoffs.zip
8.68 GB
-
FreeFlightKinematicsData.mat
371.49 KB
-
plotFreeflightDisplacement.m
2.54 KB
-
plotSympetrumkinematics.m
2.83 KB
-
README.md
10.80 KB
-
WB_mesh_CSD_node-0.87.stl
12.33 MB
Abstract
Locomotor control is facilitated by mechanosensory inputs that report how the body interacts with a physical medium. Effective representation of compliant wing deformations is particularly challenging due to the many degrees of freedom. Structural configurations can constrain the stimulus space, and the strategic placement of sensors can simplify computation. Here, we measured and modelled wing displacement fields and characterized spatiotemporal encoding of the wing mechanosensors. Our data show how dragonfly wing architecture prescribes deformation modes consistent across models and measurements. We found that the wing’s state under normal flapping conditions is detected by the spike timing of a few sensors, with additional sensors recruited under perturbation. The functional integration of wing biomechanics and sensor placement enables a straightforward solution for information transfer.
Dataset DOI: 10.5061/dryad.41ns1rnqh
Description of the data and file structure
Free-flight kinematics
Digitized high speed video recorded at 2000 fps.
Takeoff kinematics
Digitized high speed video recorded at 1000 fps.
Electrophysiology
Time series extracellular voltage of anterior nerve primary afferents and spike times for sorted units sampled at 60K Hz.
Fixed wing deformations
Displacement measurements of video frames recorded at 1000fps obtained using Ncorr software (see ncorr.com).
Finite Element Analysis and Fluid-Structure Simulation
3D wing mesh (.stl). See Fabian et al., 2022 for model construction details.
Files and variables
File: FreeFlightKinematicsData.mat
Description: Free-flight Kinematics data
| Variable | Definition |
|---|---|
| StrokeAngle | Wing elevation in degrees for each of the four wings |
| MidWingBending | Wing bending in relative wing length % for each of the four wings |
| Root2TipTwist | Wing twist in degrees for each of the four wings |
| BodyRoll | Body roll |
| BodyPitch | Body pitch |
| BodyYaw | Body yaw |
| Time | Time in ms |
File: plotSympetrumkinematics.m
Description: Code for plotting free flight kinematics data
File: DisplacementallWingbeats.mat
Description: Free-flight displacement data
| Variable | Definition |
|---|---|
| RecordingNum | Trial number |
| WingbeatNum | Wingbeat number within trial |
| WingLength | Length of the forewing |
| BodyLength | Length of the body |
| APDisplacement | Anterior-posterior (front-to-back) displacement of the wing surface |
| dispmap | Colormap for plot |
| Xwing00, Ywing00, Zwing00 | 3D coordinates of the wing mesh at rest |
| XXwt, YYwt, ZZwt | 3D coordinates of the wingtip trajectory over time for all wingbeats. |
| Xbody, Ybody, Zbody | 3D coordinates of the body mesh |
| YYwt, ZZwt | Y and Z coordinates of the wingtip |
File: plotFreeflightDisplacement.m
Description: Code for plotting ff displacement data
File: WB_mesh_CSD_node-0.87.stl
Description: Wing mesh used for FEA/FSI. For additional details, see Fabian et al. 2022.
File: Ephys_Takeoffs.zip
Description: Electrophysiology and takeoff data
Files: Animal1.mat, Animal2.mat, Animal3.mat, Animal4.mat, Animal5.mat
Ephys data file key
| Animal | ID | Airflow AoA* (degs) | Air speed (m/s) | Video length (s) | Vibration type | Mean disp. amplitude (mm) |
|---|---|---|---|---|---|---|
| 1 | 1 | 20 | 2.5 | 7 | - | - |
| 1 | 2 | -20 | 1.1 | 7 | - | - |
| 1 | 3 | -20 | 1.9 | 7 | - | - |
| 1 | 4 | 20 | 1.1 | 7 | - | - |
| 1 | 5 | 20 | 2.1 | 7 | - | - |
| 1 | 6 | -20 | 2.5 | 7 | - | - |
| 2 | 7 | 20 | 2.5 | 5 | - | - |
| 2 | 8 | -20 | 1 | 5 | - | - |
| 2 | 9 | 20 | 3 | 5 | - | - |
| 2 | 10 | 20 | 2.5 | 5 | - | - |
| 3 | 11 | -20 | 1.9 | 7 | - | - |
| 3 | 12 | -20 | 2.5 | 7 | - | - |
| 3 | 13 | 20 | 2.1 | 7 | - | - |
| 4 | 14 | -20 | 0.7 | 7 | - | - |
| 4 | 15 | -20 | 1 | 7 | - | - |
| 4 | 16 | 20 | 0.7 | 7 | - | - |
| 4 | 17 | - | - | 7 | UWN** | 0.8 |
| 4 | 18 | - | - | 7 | Flutter*** | 1.5 |
| 5 | 19 | -20 | 1.2 | 7 | - | - |
| 5 | 20 | -20 | 2 | 7 | - | - |
| 5 | 21 | - | - | 7 | UWN** | 1.8 |
| 5 | 22 | - | - | 7 | Flutter*** | 2.5 |
*Angle of attack (AoA): The angle between the incoming airflow and the wing’s chord line. Positive AoA means the airflow approaches from below the leading edge; negative AoA means it approaches from above.
**Uniform white noise (UWN): A broadband vibration stimulus in which all frequencies within the tested range (0 to 500 Hz) are presented with equal power.
***Flutter: A vibration stimulus created by first measuring the wing’s natural airflow-induced aeroelastic flutter pattern, then replaying that same measured motion through mechanical stimulation.
| Ephys variable name | Definition |
|---|---|
| ydisp | Dorsoventral displacement sampled at 1000 fps |
| allSpike_raw | Spike times for sorted units sampled at 60K |
| dataNeu | Raw neural trace for cases where accurate sorting was not possible |
| vidE | End time (s) for displacement data to synchronise with neural data |
File: Takeoffs.mat
| Takeoffs variable | Description |
|---|---|
| IntactPhase | Phase between forewing and hindwing for intact animals with each of the 4 wingbeats separated: 7 animals, 2 trials each. |
| ShamPhase | Same as above fo sham surgery |
| AblatePhase | Same as above for nerve ablated animals |
| IntactPhasecombined | Same as above in intact animals, but reshaped to compare between conditions independent of wingbeat # |
| ShamPhasecombined | Same as above fo sham surgery |
| AblatePhasecombined | Same as above for nerve ablated animals |
Files: PCsPlot.m, pcsSTA.m, STAheats.m, cohere2Bits.m
| Code | Definition |
|---|---|
| PCsPlot | Reshapes video displacement data and performs principal component analysis to extract dominant modes of variation, then visualizes the first few PCs as heatmaps. |
| pcsSTA | Aligns neural spike times with video-derived PC scores, computes spike-triggered averages (STA) for each PC, and plots mean ± standard deviation with time windows around spikes. |
| STAheats | Computes and optionally combines STAs of multiple PCs, then visualizes the resulting spike-triggered feature maps as heatmaps aligned with the original displacement map geometry. |
| cohere2Bits | Computes pixel-wise magnitude-squared coherence between neural spikes and displacement/strain features, estimates information rates, and visualizes coherence and peak frequencies as heatmaps. |
Files: coherecolors.mat, dispColormap.mat - colormaps for plotting
Code/software
MATLAB version 23b
Required toolboxes: Statistics and Machine Learning, Image Processing, Signal Processing
