Added:
- Thermal tone-curve mapping: both the Thermal Image Viewer and
the photo-extraction thermal visualisation now offer a "Curve (custom
mapping)" mode as a fine-granular alternative to the lower/upper
thresholds — a curve with draggable control points maps a fixed
temperature range to display intensity (with a live temperature
histogram). The range can be entered manually or determined via "Auto
Detect", which scans the flight's thermal images for the actual
minimum/maximum temperature. The curve is stored in the QGIS project.
- Labelling tool: new "Replace detections in project" button that
replaces the existing detections/tracks instead of appending to them.
- Labelling tool: new "Import all as label tracks" button to
import every pipeline track at once instead of one by one.
- Labelling tool: now supports to merge/split tracks
- Labelling tool: the geo-referenced propagation now works on
several tracks at once — select multiple tracks in the track list
(Ctrl/Shift click) and the boxes of every selected track on the
current frame are propagated in one step (the DEM is loaded once).
Tracks without a box on the current frame, or whose box cannot be
projected, are skipped instead of aborting the run and are listed in a
summary afterwards.
- Processing tool: Now also supports the "no images" flag of the
pose extractors for debugging purposes.
Changed:
- Generate Flight Route is now also usable without frame
extraction, based only on the AirData file (camera positions are
skipped).
- Add Tracks to QGIS now allows filtering tracks between a start
and an end frame.
- Detection models can now be configured separately for RGB and
thermal recordings (previously a single model was used for both).
- Distance sampling and transect-based population estimation can
now pool the outputs of multiple projects into one combined estimate.
- Detect Animals now shows an Ultralytics license notice
(AGPL-3.0; commercial use requires an Ultralytics Enterprise License)
before running; cancelling aborts the detection, and a "Remember my
decision" checkbox skips the notice in subsequent runs.
- Processing tool: Added a label about the target CRS input form,
that we need a UTM CRS.
Fixed:
- Frame GeoTIFF export: the antialiased edge of each frame's
footprint left a thin dark rim (alpha > 0 but the RGB bled towards
black), which showed up as seams wherever frames overlapped in the
orthomosaic. Each frame's valid footprint is now eroded inward by a
configurable number of pixels (new "Erode px" control next to "Export
Frames as GeoTIFF", default 2) before saving, so neighbouring frames
cover the rim; set it to 0 to disable.
- GeoTIFF to mesh conversion: DEMs with a compound CRS (e.g. Dutch
AHN tiles tagged "Amersfoort / RD New + NAP height") were converted
without reprojection and silently mislabeled with the target CRS,
placing the mesh hundreds of kilometres from the flight and yielding
empty geo-referencing results. The CRS is now identified via GDAL when
rasterio cannot read it, and the conversion fails with a clear message
if the source CRS cannot be determined.
- GeoTIFF to mesh conversion now supports any UTM target zone
(previously only zones 32-34) and EPSG:28992 (Dutch RD New) as a
source CRS, including its Bessel datum shift.
- Re-tagging a GeoTIFF with a source CRS override failed with
newer rasterio versions (read-only LIBERTIFF driver).
yes
cpraschl
2026-07-29T10:47:53.105296+00:00
3.22.0
3.99.0
None
yes
Plugin Tags