Releases: localdevices/pyorc
Releases · localdevices/pyorc
Release list
v0.9.9
[0.9.9] = 2026-07-13
Fixed
- bug in optimize_instrinsic. Case where distortion coefficients were already known and 6 or more GCPs were provided, were re-constraining the distortion coefficient.
- bug in command-line interface. With --src and --dst provided on CLI, code would crash. This is now solved, and user is no longer asked to provide --src interactively
as this is always required in any case.
v0.9.8
[0.9.8] = 2026-07-06
Changed
- Default CLI maximum memory consumption is set to 1/4th of total available memory (was 1/2) for added stability
- GeoTIFF preview is resampled with "nearest neighbour" to reduce interpolation memory usage.
v0.9.7
[0.9.7] = 2026-06-18
Changed
CameraConfig.rotate_translate_bboxcan now also handle parameterx_addandy_addto increase the up/downstream
and left-right bank distance of the bounding box.
Fixed
CrossSection.get_bboxreturned bounding box coordinates that were not following a predictable order. Function has been
recreated to ensure the first corner is upstream-left.
v0.9.6
[0.9.6] = 2026-06-06
This release introduces full GIS export capabilities to layers compatible with QGIS.
Added
CrossSection.create_bboxcreate aCameraConfigcompatible bounding box over a user-selected length upstream
and downstream, which fits nicely around the chosen cross section.Frames.to_geotiffwrites a GeoTIFF for the selected frame. In the command-line interfacecamera-configallows
for writing the sample frame to an RGB GeoTIFF using this method.Velocimetry.to_ugridconverts a 2D velocimetry result into a QGIS mesh-compatible UGRID with CF conventions.
Load your results in QGIS for further analysis, combination with your own datasets and creation of vector or
trace animations.CameraConfig.rotate. Allow you to apply a slight rotation to the existing camera configuration in case a camera was
accidentally rotated, but not moved in terms of its location. The user can provide two sets of fixed, easy to
recognize points as [col, row] in a frame containing the old pose, and the new pose of the camera. The method returns
a newCameraConfiginstance with the estimated rotation applied, and normalized pixel error estimates.
At least 2 points must be provided.
v0.9.5
[0.9.5] = 2026-05-21
Added
- PIV interrogation windows can now be pre-masked if they contain too little signal. This can be controlled by
the parametersignal_thresholdinFrames.get_piv. Default is 0.2 meaning that if any of the 2 interrogation
window in a window pair has only 20% intensities above zero, the window is discarded. This should only be used
when frames have been differenced or normalized.
Changed
- With
ensemble_corr=True, masks that only apply to multiple time stamps are ignored with a warning to the user
instead of raising and exiting. This allows for re-use of recipes with and without ensemble correlation.
Fixed
- Videos that are ungracefully closed during writing do not have proper metadata and caused read errors. This is fixed
for reading videos, but only when read withlazy=False. Withlazy=Truea clear error is raised that tells the
user that the video is not complete and that a new attempt withlazy=Falsemay result in success.
v0.9.4
[0.9.4] = 2026-02-27
Fixed
- Documentation updates for cross section implemented.
service.velocity_flow_subprocesswas not complete and missingcross_wlas input entirely. This is fixed.
v0.9.3
[0.9.3] = 2026-02-05
Added
- Cross sections can be linearized with
CrossSection.linearize, and rotated and translated with
CrossSection.rotate_translate. - Combinations of cross section and camera config bounding box into wet and dry areas in the bounding box
can be found with a new functionCrossSection.get_bbox_dry_wet
Fixed
- during optimization of camera pose with
CameraConfig.calibrateunrealistic combinations ofk1andk2
barrel distortion coefficients were sometimes returned. This is fixed by checking monotonic increase of distortion
from the center to the edges.
v0.9.2
[0.9.2] = 2026-01-15
Fixed
- fixed problems with sample data downloading (403 errors)
v0.9.1
[0.9.1] = 2026-01-13
Fixed
- fixed python<3.10 compatibility
v0.9.0
[0.9.0] = 2025-12-23
Changed
- Updated documentation to remove OpenPIV as possible engine for PIV.
- Updated dependencies to be ready for
python >= 3.13
Removed
Frames.get_piv(engine="openpiv")has now been removed. UseFrames.get_piv(engine="numba")instead. This is also
the default engine.
Fixed
- fixed unnecessary warning in
Velocimetry.Mask.variancesrelated to all-NaN slices