The alts.py script is a comprehensive toolkit designed for acoustic line transect analysis with 2 Acoustic Tags. It provides functionality for calculating pulse intervals, filtering data based on specific conditions, and visualizing sound pressure level (SPL) distributions and cross-correlations. This toolkit is intended for researchers and analysts working with acoustic line transect dataset, particularly those involving localization and range detection.
- Pulse Interval Calculation: Computes the pulse interval between consecutive acoustic events.
- Mean Angle Calculation: Estimates the mean angle of pulses within a time bin.
- Filtering Conditions: Offers multiple filtering options for noise conditions, from raw data viewing to advanced parameter settings for noisy environments.
- Data Visualization: Generates plots for SPL time distribution, SPL histograms, and cross-correlation between different SPL measurements.
To use the alts.py script, you need to have Python installed along with the following libraries:
- pandas
- numpy
- matplotlib
- seaborn
- scipy
To calculate the pulse interval between consecutive acoustic events, use the calculate_pulse_interval function:
from alts import alts_filter
# Assuming df is your DataFrame containing a 'datetime' column
df = alts_filter.calculate_pulse_interval(df)You can filter your data based on different noise conditions:
# For raw viewer without any filter
alts_filter.filter_condition(noise_condition='1')
# For mild filter, recommended for most cases
alts_filter.filter_condition(noise_condition='2')
# For very noisy conditions
alts_filter.filter_condition(noise_condition='3')
# Advanced parameter settings
alts_filter.filter_condition(noise_condition='4')The toolkit includes several functions for visualizing SPL data:
- SPL Time Distribution Plot
alts_filter.spl_time_distribution_plot(df)- SPL Distribution Plot
alts_filter.spl_distribution_plot(df)- SPL Cross-Correlation Plot
alts_filter.spl_cross_corr(df)The toolkit includes a function for Bokeh visualization of acoustic data results:
This function visualizes acoustic data using Bokeh. The parameters are:
dff: DataFrame containing the filtered data.dfr: DataFrame containing the raw data.time_diff: Time difference parameter.atag: Annotation tag for the plot.
Example usage:
from alts import alts_visualization
# Assuming dff and dfr are your DataFrames containing filtered and raw data respectively
alts_visualization.plot_alts_result(dff=dff, dfr=dfr, time_diff=0, atag=2)