Skip to main content

An object-oriented toolset for calculating velocities, surface areas and distances from oblique imagery of glacial environments

Project description

PyTrx

Documentation status PyPI status

PyTrx (short for 'Python Tracking') is a Python object-oriented toolbox created for the purpose of calculating real-world measurements from oblique images and time-lapse image series. Its primary purpose is to obtain velocities, surface areas, and distances from imagery of glacial environments.


PyTrx citations

We are happy for others to use and adapt PyTrx for their own processing needs. If used, please cite the following key publication and Digital Object Identifier:

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


PyTrx has been used in the following publications. In addition to the publication above, please cite any that are applicable where possible:

PyTrx used for georectification of glacier calving event locations
How et al. (2019) Calving controlled by melt-undercutting: detailed mechanisms revealed through time-lapse observations. Annals of Glaciology 60 (78), 20-31, doi:10.1017/aog.2018.28

PhD thesis by Penelope How, for which PyTrx was developed primarily
How (2018) Dynamical change at tidewater glaciers examined using time-lapse photogrammetry. PhD thesis, University of Edinburgh, UK, https://hdl.handle.net/1842/31103

PyTrx used for detection of supraglacial lakes and meltwater plumes
How et al. (2017) Rapidly changing subglacial hydrological pathways at a tidewater glacier revealed through simultaneous observations of water pressure, supraglacial lakes, meltwater plumes and surface velocities. The Cryosphere 11, 2691-2710, doi:10.5194/tc-11-2691-2017

MSc thesis by Lynne Buie, where PyTrx was created in its earliest form
Addison (2015) PyTrx: feature tracking software for automated production of glacier velocity. MSc thesis, University of Edinburgh, UK, https://hdl.handle.net/1842/11794


Installation

The PyTrx installation has been tested on Linux and Windows operating systems (it should also work on Apple operating systems too, it just hasn't been tested). PyTrx is primarily available through pip:

pip install pytrx

Be warned that there are difficulties with the GDAL package on pip, meaning that gdal could not be declared explicitly as a PyTrx dependency in the pip package compiling. Please ensure that gdal is installed separately if installing PyTrx through pip. You should be able to create a new environment, install GDAL and the other dependencies with conda, and then install PyTrx with pip.

conda create --name pytrx python=3.7
conda install gdal opencv pillow scipy matplotlib spyder
pip install pytrx
```strawberry jam swiss roll cake recipe

Be aware that the PyTrx example scripts in this repository are not included with the pip distribution of PyTrx, given the size of the example dataset files. Either download these separately, or create a new conda environment (using the <a href="https://github.com/PennyHow/PyTrx/blob/master/environment.yml">.yml environment file</a> provided) and clone the PyTrx GitHub repository:

```bash
conda env create --file environment.yml
git clone https://github.com/PennyHow/PyTrx.git

See our readthedocs page on setting up PyTrx for more details.


Permissions and acknowledgements

PyTrx was initially developed and released as part of the CRIOS (Calving Rates and Impact on Sea Level project. PyTrx's continued development and maintenance is funded by an ESA Living Planet Fellowship.

Parts of the georectification functions in the PyTrx toolbox were inspired and translated from ImGRAFT, a photogrammetry toolbox for Matlab (Messerli and Grinsted, 2015). Where possible, ImGRAFT has been credited for in the corresponding PyTrx scripts (primarily some passages in the CamEnv.py script) and cited in relevant PyTrx publications.

See PyTrx's readthedocs for full acknowledgements and permissions.


Links

There are other useful software available for terrestrial photogrammetry in glaciology:

Pointcatcher - Matlab-based GUI toolbox for feature-tracking and georectification
ImGRAFT - Matlab toolbox for feature-tracking and georectification
EMT (Environmental Motion Tracking) - GUI toolbox for feature-tracking and georectification
CIAS - IDL gui for feature-tracking
PRACTISE - Matlab toolbox for georectification


Copyright

PyTrx is licensed under a MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pytrx-1.2.4.tar.gz (65.2 kB view details)

Uploaded Source

Built Distribution

pytrx-1.2.4-py3-none-any.whl (67.1 kB view details)

Uploaded Python 3

File details

Details for the file pytrx-1.2.4.tar.gz.

File metadata

  • Download URL: pytrx-1.2.4.tar.gz
  • Upload date:
  • Size: 65.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.12

File hashes

Hashes for pytrx-1.2.4.tar.gz
Algorithm Hash digest
SHA256 17461f71ae94dd2b38b25d47c976f8a151c954e94f039ed464e8d5e8d696d7e7
MD5 8b4a5cc879dc42c80421402136062b26
BLAKE2b-256 207ba238f839814fa4922c39f7bd382f00aeb3c6d5cadc9052f55ba29510c36f

See more details on using hashes here.

File details

Details for the file pytrx-1.2.4-py3-none-any.whl.

File metadata

  • Download URL: pytrx-1.2.4-py3-none-any.whl
  • Upload date:
  • Size: 67.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.12

File hashes

Hashes for pytrx-1.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 8710e760b7beb37ff32fb2799e1fd2d64f60f519808047140d049f7c9be4fee2
MD5 d8cf8f9ec262ffbc96be01402e2af5b7
BLAKE2b-256 44999e37c0d0e1313604c321cd0e569be76d24c9c9b3d101db0f4ea55ae32d1a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page