Switch branches/tags
Nothing to show
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
Example of Plot.png


Data from dominance contest of dyads of Gymnotus sp.

We present a simple example of how to load and plot a dataset that we have recently shared publicly, containing time series of electric pulses from dyads of freely moving Gymnotus sp. Because both fish are completely free to swim, a challenge is to detect which pulses were discharged by each of the fish. The figure below gives a glimpse of the dataset: there are two time series where fish 1 and 2 were alone in the aquarium (top panels), and a third time series where both fish were in the same aquarium, free to move and interact. A rich repertoire of electrical behaviors can be observed, such as (i) offs (moments of silence) and (ii) chirps (small and noisy oscillations). This dataset was used in two of our most recent papers (see below).

Download the dataset

The dataset is publicly available at FigShare (URL will be provided shortly), and contains 3 different recordings from 11 different channels. The compressed size of the dataset is 4.66 GB.

List of files:

  • Guariento_etal_2016_Training_Fish1.zip: One fish alone in the aquarium.

  • Guariento_etal_2016_Training_Fish1.zip: Another fish alone in the aquarium.

  • Guariento_etal_2016_both_fish_interacting.zip: Time series with both fish freely interaction.

Relevant papers

If you find this useful, please star this repository and/or cite our paper:

Directions in Linux systems

To get started, simply download the dataset and put the files in a folder. You can unzip these files by simply typing the following command:

unzip Guariento*.zip

Notice that we are assuming that there are no other zipped files with names that start with "Guariento". In a common laptop, this may take several minutes (up to 5 minutes in a Intel i5 processor). After all files are unzipped, you should see three new files with extension memampf32. These are the files containing the recordings from the large aquarium.

In the present repository, we are providing a sample python script that reads and plots the first 300ms of these files. This script is called plot_example.py, and can be executed by simply typing the following:

python plot_example.py

It should not take longer than a few seconds, and a file named "Example of Plot.png" should be created with the plot. The quality of the png can be improved by increasing the dpi parameter at the end of plot_example.py.

In the following, we present a minimal example to simply read our recordings.

import numpy as np
V = np.memmap("15o04000.abf.memampf32", dtype=np.float32)

This will store in variable V the time series from all channels recorded during our experiment. To access a particular channel, say, 7, you can use:

Ch7 = X[7::11]


  • Dataset, which is available at FigShare (see above)

  • Python 2.*

  • numpy 11.*+

  • matplotlib 1.10+