Skip to main content

No project description provided

Project description

PyPorCC

PyPorCC is a package that allows the detection and classification of Harbor Porpoises' clicks. The detection of clicks in continuous files is a python adaptation of the PAMGuard click detector algorithm.

Gillespie D, Gordon J, McHugh R, McLaren D, Mellinger DK, Redmond P, Thode A, Trinder P, Deng XY (2008) PAMGUARD: Semiautomated, open source software for real-time acoustic detection and localisation of cetaceans. Proceedings of the Institute of Acoustics 30:54–62.

The classification is done using the PorCC algorithm, adapted to python from the paper:

Cosentino, M., Guarato, F., Tougaard, J., Nairn, D., Jackson, J. C., & Windmill, J. F. C. (2019). Porpoise click classifier (PorCC): A high-accuracy classifier to study harbour porpoises ( Phocoena phocoena ) in the wild. The Journal of the Acoustical Society of America, 145(6), 3427–3434. https://doi.org/10.1121/1.5110908

Also other models can be trained. The implemented ones so far are:

  • svc: Support Vector Machines
  • lsvc: Linear Support Vector Machines
  • RandomForest: Random Forest
  • knn: K-Nearest Neighbor

Usage

Click detector

The Click detector can be used in continuous wav files (with higher than 300 kHz sampling rate) or in the SoundTrap HF output files (*.bcl + *.dwv). For SoundTrapHF files, you can create a ClickDetectorSoundTrapHF object with the necessary parameters and run it as:

import pathlib
import pyhydrophone as pyhy

from pyporcc import ClickDetectorSoundTrapHF, ClickDetector, PorCC, Filter


sound_folder = pathlib.Path("./../tests/test_data/soundtrap")
save_folder = pathlib.Path('./../tests/test_data/output')

# Hydrophone
model = 'ST300HF'
name = 'SoundTrap'
serial_number = 67416073
soundtrap = pyhy.soundtrap.SoundTrapHF(name=name, model=model, serial_number=serial_number)

# Filters parameters
lowcutfreq = 100e3              # Lowcut frequency
highcutfreq = 160e3             # Highcut frequency

# Define the filters
pfilter = Filter(filter_name='butter', filter_type='bandpass', order=4,
                                frequencies=[lowcutfreq, highcutfreq])
dfilter = Filter(filter_name='butter', filter_type='high', order=4, frequencies=20000)
classifier = PorCC(load_type='manual', config_file='default')

cd = ClickDetectorSoundTrapHF(hydrophone=soundtrap, save_folder=save_folder, convert=True,
                              classifier=classifier, prefilter=pfilter, save_noise=False)
cd.detect_click_clips_folder(sound_folder, blocksize=60 * 576000)

For continuous data, just make sure you use the class ClickDetector object instead of a ClickDetectorSoundTrapHF! The rest of the code should be the same (except the hydrophone definition, which will depend on the instrument you use)

Note

Please note, the clicks PAMGuard's Click Classifier classified as porpoise clicks appear as 0 in both ClassifiedAs and ManualAssign fields.

Citation

DOI

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyporcc-0.3.3.tar.gz (21.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyporcc-0.3.3-py3-none-any.whl (25.2 kB view details)

Uploaded Python 3

File details

Details for the file pyporcc-0.3.3.tar.gz.

File metadata

  • Download URL: pyporcc-0.3.3.tar.gz
  • Upload date:
  • Size: 21.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.11.9 Windows/10

File hashes

Hashes for pyporcc-0.3.3.tar.gz
Algorithm Hash digest
SHA256 6b2cf37568001294a9a57e2462fd5cdfd24fc717b6b37b739596ea5ec90ecfa3
MD5 c3fcfcb574e30b9dc80bb509de7f32c9
BLAKE2b-256 92b34797b7300f68148c82093d3ba0fbb6bd6a6876da5a4cb370d8acfbf8abbf

See more details on using hashes here.

File details

Details for the file pyporcc-0.3.3-py3-none-any.whl.

File metadata

  • Download URL: pyporcc-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 25.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.11.9 Windows/10

File hashes

Hashes for pyporcc-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 6ab3504998c3d40396f10ab7c3d110dc085fe5059a1f67b27b0a5a69fcfc3af1
MD5 8bf291063f3f7ff80e96b6f2af5c61c5
BLAKE2b-256 107532b8dbffc53dae70e159c9c17a4bd9758a1d1f9c573db5eb5de54750c51c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page