Skip to content

Configuration#

Program Configuration#

acoupi_batdetect2.configuration #

Batdetect2 Program Configuration Options.

Classes:

Name Description
BatDetect2_AudioConfig

Audio Configuration schema.

BatDetect2_ConfigSchema

BatDetect2 Program Configuration schema.

ModelConfig

Model output configuration.

SaveRecordingFilter

Saving Filters for audio recordings configuration.

SaveRecordingManager

Saving configuration for audio recordings.

Summariser

Summariser configuration.

Classes#

BatDetect2_AudioConfig #

Bases: AudioConfiguration

Audio Configuration schema.

Attributes:

Name Type Description
schedule_end time

End time for recording schedule.

schedule_start time

Start time for recording schedule.

Attributes#
schedule_end: datetime.time = Field(default=datetime.time(hour=7, minute=0, second=0)) class-attribute instance-attribute #

End time for recording schedule.

schedule_start: datetime.time = Field(default=datetime.time(hour=19, minute=0, second=0)) class-attribute instance-attribute #

Start time for recording schedule.

BatDetect2_ConfigSchema #

Bases: DetectionProgramConfiguration

BatDetect2 Program Configuration schema.

This schema extends the acoupi DetectionProgramConfiguration to include settings for the BatDetect2 program, such as custom audio recording, model setup, file management, messaging, and summarisation.

Attributes:

Name Type Description
model ModelConfig

Model output configuration.

recording BatDetect2_AudioConfig

Audio recording configuration.

saving_filters Optional[SaveRecordingFilter]

Recording Saving Filters configuration for audio recordings.

saving_managers SaveRecordingManager

Recording Saving Managers configuration for audio recordings.

summariser_config Optional[Summariser]

Summariser configuration.

Attributes#
model: ModelConfig = Field(default_factory=ModelConfig) class-attribute instance-attribute #

Model output configuration.

recording: BatDetect2_AudioConfig = Field(default_factory=BatDetect2_AudioConfig) class-attribute instance-attribute #

Audio recording configuration.

saving_filters: Optional[SaveRecordingFilter] = Field(default_factory=SaveRecordingFilter) class-attribute instance-attribute #

Recording Saving Filters configuration for audio recordings.

saving_managers: SaveRecordingManager = Field(default_factory=SaveRecordingManager) class-attribute instance-attribute #

Recording Saving Managers configuration for audio recordings.

summariser_config: Optional[Summariser] = Field(default_factory=Summariser) class-attribute instance-attribute #

Summariser configuration.

ModelConfig #

Bases: BaseModel

Model output configuration.

Attributes:

Name Type Description
detection_threshold float

Detection threshold for filtering model outputs.

Attributes#
detection_threshold: float = 0.4 class-attribute instance-attribute #

Detection threshold for filtering model outputs.

SaveRecordingFilter #

Bases: BaseModel

Saving Filters for audio recordings configuration.

Attributes:

Name Type Description
after_dawndusk_duration int

Optional duration in minutes after dawn/dusk to save recordings.

before_dawndusk_duration int

Optional duration in minutes before dawn/dusk to save recordings.

endtime time

End time of the interval for which to save recordings.

frequency_duration int

Optional duration in minutes to save recordings using the frequency filter.

frequency_interval int

Optional periodic interval in minutes to save recordings.

saving_threshold float

Minimum threshold of detections from a recording to save it.

starttime time

Start time of the interval for which to save recordings.

Attributes#
after_dawndusk_duration: int = 0 class-attribute instance-attribute #

Optional duration in minutes after dawn/dusk to save recordings.

before_dawndusk_duration: int = 0 class-attribute instance-attribute #

Optional duration in minutes before dawn/dusk to save recordings.

endtime: datetime.time = datetime.time(hour=7, minute=0, second=0) class-attribute instance-attribute #

End time of the interval for which to save recordings.

frequency_duration: int = 0 class-attribute instance-attribute #

Optional duration in minutes to save recordings using the frequency filter.

frequency_interval: int = 0 class-attribute instance-attribute #

Optional periodic interval in minutes to save recordings.

saving_threshold: float = 0.3 class-attribute instance-attribute #

Minimum threshold of detections from a recording to save it.

starttime: datetime.time = datetime.time(hour=19, minute=0, second=0) class-attribute instance-attribute #

Start time of the interval for which to save recordings.

SaveRecordingManager #

Bases: BaseModel

Saving configuration for audio recordings.

(path to storage, name of files, saving threshold).

Attributes:

Name Type Description
bat_threshold float

Minimum threshold of detections from a recording to save it.

false_dir str

Directory for saving recordings with uncertain detections.

timeformat str

Time format for naming the audio recording files.

true_dir str

Directory for saving recordings with confident detections.

Attributes#
bat_threshold: float = 0.5 class-attribute instance-attribute #

Minimum threshold of detections from a recording to save it.

false_dir: str = 'no_bats' class-attribute instance-attribute #

Directory for saving recordings with uncertain detections.

timeformat: str = '%Y%m%d_%H%M%S' class-attribute instance-attribute #

Time format for naming the audio recording files.

true_dir: str = 'bats' class-attribute instance-attribute #

Directory for saving recordings with confident detections.

Summariser #

Bases: BaseModel

Summariser configuration.

Attributes:

Name Type Description
high_band_threshold Optional[float]

Optional high band threshold to summarise detections.

interval Optional[float]

Interval (in seconds) for summarising detections.

low_band_threshold Optional[float]

Optional low band threshold to summarise detections.

mid_band_threshold Optional[float]

Optional mid band threshold to summarise detections.

Attributes#
high_band_threshold: Optional[float] = 0.0 class-attribute instance-attribute #

Optional high band threshold to summarise detections.

interval: Optional[float] = 3600 class-attribute instance-attribute #

Interval (in seconds) for summarising detections.

low_band_threshold: Optional[float] = 0.0 class-attribute instance-attribute #

Optional low band threshold to summarise detections.

mid_band_threshold: Optional[float] = 0.0 class-attribute instance-attribute #

Optional mid band threshold to summarise detections.