PyTrx

PyTrx is a Python object-oriented programme 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 oblique, optical imagery of glacial environments.

https://github.com/PennyHow/PyTrx

Science Score: 33.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 11 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    1 of 4 committers (25.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.9%) to scientific vocabulary

Keywords

glaciology image-classification oblique-imagery opencv optical-flow photogrammetry python3 template-matching time-lapse
Last synced: 5 months ago · JSON representation

Repository

PyTrx is a Python object-oriented programme 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 oblique, optical imagery of glacial environments.

Basic Info
  • Host: GitHub
  • Owner: PennyHow
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 1.17 GB
Statistics
  • Stars: 44
  • Watchers: 5
  • Forks: 25
  • Open Issues: 3
  • Releases: 4
Topics
glaciology image-classification oblique-imagery opencv optical-flow photogrammetry python3 template-matching time-lapse
Created almost 9 years ago · Last pushed almost 3 years ago
Metadata Files
Readme License

README.md

PyTrx

Documentation status PyPI status DOI

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:

bash 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.

bash conda create --name pytrx3 python=3.7 conda activate pytrx3 conda install gdal opencv pillow scipy matplotlib spyder pip install pytrx

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 .yml environment file provided) and clone the PyTrx GitHub repository:

bash conda env create --file environment.yml conda activate pytrx3 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 all permissions and acknowledgements.


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.

Owner

  • Name: Penny How
  • Login: PennyHow
  • Kind: user
  • Location: Nuuk, Greenland
  • Company: GEUS

Data scientist interested in terrestrial photogrammetry, climate data and glacier dynamics

GitHub Events

Total
  • Watch event: 3
  • Fork event: 1
Last Year
  • Watch event: 3
  • Fork event: 1

Committers

Last synced: 6 months ago

All Time
  • Total Commits: 0
  • Total Committers: 4
  • Avg Commits per committer: 135.75
  • Development Distribution Score (DDS): 0.418
Past Year
  • Commits: 2
  • Committers: 1
  • Avg Commits per committer: 2.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Penny How p****w@e****k 316
Penny How p****w@g****m 224
Penelope How H****W@a****l 2
Adrien Wehrlé a****e@h****r 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 37
  • Total pull requests: 10
  • Average time to close issues: 6 months
  • Average time to close pull requests: 4 days
  • Total issue authors: 6
  • Total pull request authors: 3
  • Average comments per issue: 0.76
  • Average comments per pull request: 0.2
  • Merged pull requests: 8
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • PennyHow (32)
  • AdrienWehrle (1)
  • sethnavon (1)
  • karunasah (1)
  • CHglacier (1)
  • shahinmg (1)
Pull Request Authors
  • PennyHow (8)
  • AdrienWehrle (1)
  • sethnavon (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 22 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 3
  • Total maintainers: 1
pypi.org: pytrx

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

  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 22 Last month
Rankings
Dependent packages count: 7.3%
Forks count: 8.1%
Stargazers count: 10.3%
Average: 21.0%
Dependent repos count: 22.1%
Downloads: 57.2%
Maintainers (1)
Last synced: 6 months ago

Dependencies

environment.yml pypi
  • glob2 ==0.7
  • pytrx ==1.2.4
pytrx.egg-info/requires.txt pypi
  • glob2 *
  • matplotlib *
  • numpy *
  • opencv-python >=3
  • pillow *
  • scipy *
setup.py pypi
  • glob2 *
  • matplotlib *
  • numpy *
  • opencv-python >=3
  • pillow *
  • scipy *