Skip to content

Releases: PennyHow/PyTrx

PyTrx v1.2.4

08 Jun 13:37
Compare
Choose a tag to compare

PyTrx v1.2.4 is a sub-release to incorporate new changes and example scripts, coinciding with the submission of Messerli et al. (In Review). Messerli et al. use PyTrx to delineate and georectify snow-covered areas on a small mountain glacier in Greenland.

This PyTrx release continues on from the work that directly contributed to the publication of the PyTrx toolset in the following Frontiers in Earth Science paper:

How et al. (2020) PyTrx: a Python-based monoscopic terrestrial photogrammetry toolset for glaciology. Frontiers in Earth Science, doi:10.3389/feart.2020.00021

Major changes since PyTrx v1.2.3

  1. Inclusion of QAS example scripts and datasets
  2. Walkthrough guides on PyTrx's readthedocs pages
  3. PyTrx.CamEnv.calcDenseVelocity bug resolved with the addition of PyTrx.CamEnv.seedGridDEM and PyTrx.CamEnv.seedGridIM functionality

PyTrx v1.2.3

19 Jan 15:50
Compare
Choose a tag to compare

PyTrx v1.2.3 is a sub-release to include low-coverage unit testing in PyTrx's module. This unit testing has been added to PyTrx's Area, CamEnv, DEM, Line and Velocity modules. These can be tested by running the module scripts themselves, or calling the uni tests from the command line:

python -m unittest PyTrx.Area PyTrx.CamEnv PyTrx.DEM PyTrx.Line PyTrx.Velocity 

This PyTrx release continues on from the work that directly contributed to the publication of the PyTrx toolset in the following Frontiers in Earth Science paper:

How et al. (2020) PyTrx: a Python-based monoscopic terrestrial photogrammetry toolset for glaciology. Frontiers in Earth Science, doi:10.3389/feart.2020.00021

Major changes since PyTrx v1.1

  1. Unit tests, as described above
  2. Compatibility with .CR2 raw images
  3. PyTrx.Area.defineColourrange bug resolved
  4. Viewshed is now a flag variable in PyTrx.CamEnv.setProjection, whereby the user can either only reproject points that are within the viewshed, or disregard them (which is useful when a DEM does not match the timeframe of the image acquisition)
  5. OpenCV version checking implemented, specifically when using cv2.findContours

PyTrx v1.1

30 Jan 17:07
Compare
Choose a tag to compare

PyTrx v1.1 is released alongside the publication of the PyTrx toolset in the following Frontiers in Earth Science paper:
How et al. (2020) PyTrx: a Python-based monoscopic terrestrial photogrammetry toolset for glaciology. Frontiers in Earth Science, doi:10.3389/feart.2020.00021

Major changes since v1.0:

  1. Compatibilitiy with Python 3

  2. The toolset has been re-structured so that its core functionality exists as independent functions which do not depend on inputs from PyTrx's class objects. Additionally, the Velocity, Area and Line class objects have been divided into individual modules.

  3. Camera calibration functionality has been added, whereby a camera model can be
    calibrated using an inputted set of calibration chessboard images.

  4. A ‘traditional’ template matching routine has been added for deriving glacier surface velocities, with new results using this method incorporated into the PyTrx examples (specifically driver_velocity2.py and driver_velocity3.py).

  5. Optimisation routines and error estimation in the georectification process have been added (available in the CamEnv.py module) to better constrain uncertainty in the output measurements. Camera parameters are optimised by computing the pixel differences between the image GCPs and projected 3D GCPs, and refining these pixel differences over multiple iterations until an optimum solution is reached. PyTrx offers a choice of three optimisation methods – the Trust Region Reflective algorithm which is ideal for optimising many parameters; the Dogleg algorithm which is ideal for optimising a limited number of parameters (i.e. 1-3 parameters); and the Levenberg-Margquardt algorithm which is a popular and familiar method for camera optimisation.

  6. A conda environment file (.yml) has been included for easy set-up of PyTrx, and to increase usability for all users.

PyTrx v1.0

14 Jun 13:23
3400e4f
Compare
Choose a tag to compare

PyTrx contains functionality for deriving velocities, surface areas, and line measurements from oblique time-lapse imagery.

This version contains 5 example drivers, which demonstrate specific applications of this toolbox in glaciology:

  1. Deriving glacier surface velocities using the feature-tracking tools;
  2. Deriving surface areas of supraglacial lakes using the automated area detection tools;
  3. Deriving surface areas of meltwater plumes using the manual area detection tools;
  4. Deriving terminus profiles of a glacier using the manual line detection tools;
  5. Deriving xyz positions of points which denote the location of calving events that have been distinguished in the image plane.

These driver scripts can be adapted and modified to use in other applications.