[general]
name=Bambi - QGIS Integration
qgisMinimumVersion=3.22
description=Detect and track wildlife in drone videos/photos with geo-referencing
version=5.0.0
author=Christoph Praschl, Anna Maschek, David C.Schedl
email=christoph.praschl@fh-hagenberg.at

about=A comprehensive QGIS plugin for detecting, tracking, and geo-referencing wildlife in aerial drone recordings (videos or still photos) from DJI Enterprise drones with thermal and/or RGB cameras.
    Features include:
    - Frame extraction and undistortion from drone videos (SRT timestamps) or photo collections (EXIF)
    - Animal detection using YOLO models (auto-downloaded from HuggingFace)
    - Multi-object tracking with built-in, BoxMOT, or geo-referenced backends; import of pre-computed TRex tracklets
    - Geo-referencing of detections, tracks, and SAM3 segmentations onto a DEM (real-world UTM coordinates)
    - Flight route visualization and perpendicular distance sampling for transect-based surveys
    - Survey analytics: kernel-density heatmaps and line-transect distance-sampling density/abundance estimation (from detections or tracks)
    - Per-frame camera field-of-view footprints and coverage areas
    - Georeferenced map products: per-frame GeoTIFFs, true orthomosaics, and ALFS light-field mosaics
    - DEM import: automatic download (Austria), GeoTIFF conversion, or flat surface meshes for aquatic surveys
    - Calibration wizards for camera intrinsics (single-camera SfM, stereo RGB+thermal) and per-flight pose corrections
    - Companion tools: result video creator, radiometric thermal image viewer (DJI Thermal SDK), randomized transect flight planner, and interactive map-canvas inspectors
    - Key-frame based labelling tool: review detections/tracks on extracted frames (thermal or RGB), draw and edit track bounding boxes with species/sex/age/occlusion classes, interpolate between key frames, and propagate boxes across frames via DEM geo-referencing
    - Built-in dependency manager to install all required and optional packages from within QGIS
    All results are automatically added as styled layers to the QGIS project.

changelog=Version 5.0.0:
    Added:
    - Labelling tool: key-frame based review and annotation of detections/tracks on extracted frames. Draw and edit track bounding boxes, assign species/sex/age/occlusion classes, interpolate between key frames, mark stop frames, and propagate boxes across frames via DEM geo-referencing. Includes a "Copy labels from RGB/Thermal" action that time-matches and reprojects labels between both modalities, plus user-defined custom label fields.
    - Result video creator: renders annotated result videos from processed flights.
    - Coverage map tool: per-pixel frame-overlap count raster for a flight.
    - TRex tracklet import: pre-computed TRex tracklets can now be imported directly from the tracking configuration.
    - True orthomosaic export: a new step that merges the per-frame GeoTIFFs into a real orthomosaic (methods: first, last, min, max, average).
    - Pixel-based track export: converts geo-referenced tracks back into pixel-space tracks.
    - Manual padding input for flat-surface DEM generation.
    Changed:
    - BREAKING: what previous versions called "orthomosaic" was in fact a light-field mosaic and is now called "ALFS", with its config key renamed from "orthomosaic" to "alfs". The "orthomosaic" key still exists but now selects the new true-orthomosaic step, so an unmodified v4 config will silently run a different algorithm. Rename "orthomosaic" to "alfs" in existing configs to keep the previous behaviour.
    - Correction wizard reworked around an analytic tz/rz solver instead of a brute-force probe.
    - DEM and Target form groups reordered, since downloaded/created DEMs are written to the target folder.
    - Plugin settings are reset when a new QGIS project is opened.
    - Scrollbars added to the labelling and video creator dialogs; video creator dialog refined; minor default settings adjusted.
    - Bumped the required bambi-detection version.
    Fixed:
    - SRT/AirData timestamp offsets caused by timezone shifts.
    - Field-of-view footprint computation.
    - GeoTIFF and orthomosaic georeferencing bugs; added a GeoTIFF size sanity check.
    - Orthomosaic generation failure during mosaic assembly.
    - Processing step ordering and status-code signalling.
    - Duplicated camera selector in the TRex import dialog.
    - Consistency of pixel-based tracks.

tracker=https://github.com/bambi-eco/Bambi-QGIS/issues
repository=https://github.com/bambi-eco/Bambi-QGIS
tags=wildlife,detection,tracking,drone,thermal,YOLO,geo-referencing

homepage=https://github.com/bambi-eco/Bambi-QGIS
category=Analysis
icon=icons/icon.png
experimental=True
deprecated=False
