Skip to content

Releases: localdevices/pyorc

v0.9.9

Choose a tag to compare

@hcwinsemius hcwinsemius released this 14 Jul 10:10
be7d7c8

[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

Choose a tag to compare

@hcwinsemius hcwinsemius released this 06 Jul 13:03
62b4178

[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

Choose a tag to compare

@hcwinsemius hcwinsemius released this 18 Jun 17:25
43c25c9

[0.9.7] = 2026-06-18

Changed

  • CameraConfig.rotate_translate_bbox can now also handle parameter x_add and y_add to increase the up/downstream
    and left-right bank distance of the bounding box.

Fixed

  • CrossSection.get_bbox returned 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

Choose a tag to compare

@hcwinsemius hcwinsemius released this 06 Jun 12:32
dabc714

[0.9.6] = 2026-06-06

This release introduces full GIS export capabilities to layers compatible with QGIS.

Added

  • CrossSection.create_bbox create a CameraConfig compatible bounding box over a user-selected length upstream
    and downstream, which fits nicely around the chosen cross section.
  • Frames.to_geotiff writes a GeoTIFF for the selected frame. In the command-line interface camera-config allows
    for writing the sample frame to an RGB GeoTIFF using this method.
  • Velocimetry.to_ugrid converts 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 new CameraConfig instance with the estimated rotation applied, and normalized pixel error estimates.
    At least 2 points must be provided.

v0.9.5

Choose a tag to compare

@hcwinsemius hcwinsemius released this 22 May 06:50
6545b45

[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 parameter signal_threshold in Frames.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 with lazy=False. With lazy=True a clear error is raised that tells the
    user that the video is not complete and that a new attempt with lazy=False may result in success.

v0.9.4

Choose a tag to compare

@hcwinsemius hcwinsemius released this 27 Feb 13:18
e771e4d

[0.9.4] = 2026-02-27

Fixed

  • Documentation updates for cross section implemented.
  • service.velocity_flow_subprocess was not complete and missing cross_wl as input entirely. This is fixed.

v0.9.3

Choose a tag to compare

@hcwinsemius hcwinsemius released this 05 Feb 14:53
9de9be3

[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 function CrossSection.get_bbox_dry_wet

Fixed

  • during optimization of camera pose with CameraConfig.calibrate unrealistic combinations of k1 and k2
    barrel distortion coefficients were sometimes returned. This is fixed by checking monotonic increase of distortion
    from the center to the edges.

v0.9.2

Choose a tag to compare

@hcwinsemius hcwinsemius released this 15 Jan 10:20

[0.9.2] = 2026-01-15

Fixed

  • fixed problems with sample data downloading (403 errors)

v0.9.1

Choose a tag to compare

@hcwinsemius hcwinsemius released this 13 Jan 11:01

[0.9.1] = 2026-01-13

Fixed

  • fixed python<3.10 compatibility

v0.9.0

Choose a tag to compare

@hcwinsemius hcwinsemius released this 24 Dec 10:36
a3b7f74

[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. Use Frames.get_piv(engine="numba") instead. This is also
    the default engine.

Fixed

  • fixed unnecessary warning in Velocimetry.Mask.variances related to all-NaN slices