mirror of
https://github.com/macaodha/batdetect2.git
synced 2026-05-22 22:32:18 +02:00
56 lines
2.1 KiB
Markdown
56 lines
2.1 KiB
Markdown
# Legacy Python API: `batdetect2.api`
|
|
|
|
This page documents the previous Python API workflow based on `batdetect2.api`.
|
|
|
|
```{warning}
|
|
This is documentation for a previous version of batdetect2.
|
|
For new workflows, use `batdetect2.BatDetect2API`.
|
|
If you are migrating, start with {doc}`migration-guide`.
|
|
```
|
|
|
|
## Using BatDetect2 in Python
|
|
|
|
If you prefer to process data inside a Python script, you can use the `batdetect2.api` module.
|
|
|
|
This interface gives you a simple entry point for running the built-in BatDetect2 model and also exposes the default model and default configuration more directly than the current API.
|
|
|
|
You can process a whole file in one step, or load audio, generate a spectrogram, and work with lower-level functions yourself.
|
|
|
|
Common functions:
|
|
|
|
- `process_file` Load an audio file, run the model, and return BatDetect2-style results for that recording.
|
|
- `process_audio` Run inference on an audio array that is already loaded in memory.
|
|
- `process_spectrogram` Run inference starting from a spectrogram tensor instead of raw audio.
|
|
- `load_audio` Load and resample audio using the legacy preprocessing path.
|
|
- `generate_spectrogram` Convert audio into the spectrogram representation expected by the model.
|
|
- `postprocess` Convert raw model outputs into detections and extracted features.
|
|
|
|
Typical usage:
|
|
|
|
```python
|
|
import batdetect2.api as api
|
|
|
|
AUDIO_FILE = "example_data/audio/20170701_213954-MYOMYS-LR_0_0.5.wav"
|
|
|
|
# Process a whole file
|
|
results = api.process_file(AUDIO_FILE)
|
|
annotations = results["pred_dict"]["annotation"]
|
|
|
|
# Or, load audio and compute spectrograms
|
|
audio = api.load_audio(AUDIO_FILE)
|
|
spec = api.generate_spectrogram(audio)
|
|
|
|
# And process the audio or the spectrogram with the model
|
|
detections, features, spec = api.process_audio(audio)
|
|
detections, features = api.process_spectrogram(spec)
|
|
|
|
# Integrate the detections or extracted features into your own analysis
|
|
```
|
|
|
|
This interface is most useful when you want to work directly with detections, features, spectrograms, or intermediate arrays inside your own code.
|
|
|
|
## Related pages
|
|
|
|
- Migration guide: {doc}`migration-guide`
|
|
- Current API reference: {doc}`../reference/api`
|