Loading .github/workflows/continuous_integration.yml +40 −1 Original line number Diff line number Diff line Loading @@ -8,6 +8,11 @@ on: branches: - dev env: isis-root: /usr/share/miniconda/envs/isis/ isis-data: test-resources/ISISDATA/ hirise-pds-url: https://hirise-pds.lpl.arizona.edu/PDS/EDR/PSP/ORB_010500_010599/PSP_010502_2090 jobs: Build-and-Test: runs-on: ${{ matrix.os }} Loading @@ -29,19 +34,53 @@ jobs: run: shell: bash -l {0} steps: - name: ISIS Conda Env uses: conda-incubator/setup-miniconda@v2 with: python-version: 3.6 activate-environment: isis channels: usgs-astrogeology, conda-forge - name: Install ISIS run: | conda install -q -y -c usgs-astrogeology isis - name: Setup test-resources/ run: | mkdir $GITHUB_WORKSPACE/test-resources/ mkdir $GITHUB_WORKSPACE/${{ env.isis-data }} - name: Download IMG run: | curl "${{ env.hirise-pds-url }}/PSP_010502_2090_RED5_0.IMG" -o $GITHUB_WORKSPACE/test-resources/PSP_010502_2090_RED5_0.img curl "${{ env.hirise-pds-url }}/PSP_010502_2090_RED5_1.IMG" -o $GITHUB_WORKSPACE/test-resources/PSP_010502_2090_RED5_1.img - name: Exit isis env run: conda deactivate - name: Checkout Code uses: actions/checkout@v2 - name: Cache conda uses: actions/cache@v2 env: # Increase this value to reset cache if etc/example-environment.yml has not changed CACHE_NUMBER: 0 with: path: ~/conda_pkgs_dir key: ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-${{ hashFiles('environment.yml') }} - name: Setup ENV uses: conda-incubator/setup-miniconda@v2 with: miniconda-version: "latest" mamba-version: "*" use-mamba: true channels: conda-forge, defaults channels: conda-forge channel-priority: strict activate-environment: autocnet environment-file: environment.yml use-only-tar-bz2: true python-version: ${{ matrix.python-version }} - name: config ISIS vars run: | conda env config vars set ISISROOT=${{ env.isis-root }} conda env config vars set ISISDATA=$GITHUB_WORKSPACE/${{ env.isis-data }} - name: Check build environment run: | conda list Loading .readthedocs.yaml 0 → 100644 +13 −0 Original line number Diff line number Diff line # .readthedocs.yaml # Read the Docs configuration file # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details # Required version: 2 # Build documentation in the docs/ directory with Sphinx sphinx: configuration: docs/conf.py conda: environment: docs/environment.yml AUTHORS.rst +2 −1 Original line number Diff line number Diff line Loading @@ -15,4 +15,5 @@ Development Team Contributors ------------ None yet. Why not be the first? `Ross Beyer <https://github.com/rbeyer>`_ CHANGELOG.md 0 → 100644 +51 −0 Original line number Diff line number Diff line # Changelog All changes that impact users of this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). <!--- This document is intended for users of the applications and API. Changes to things like tests should not be noted in this document. When updating this file for a PR, add an entry for your change under Unreleased and one of the following headings: - Added - for new features. - Changed - for changes in existing functionality. - Deprecated - for soon-to-be removed features. - Removed - for now removed features. - Fixed - for any bug fixes. - Security - in case of vulnerabilities. If the heading does not yet exist under Unreleased, then add it as a 3rd heading, with three #. When preparing for a public release candidate add a new 2nd heading, with two #, under Unreleased with the version number and the release date, in year-month-day format. Then, add a link for the new version at the bottom of this document and update the Unreleased link so that it compares against the latest release tag. When preparing for a bug fix release create a new 2nd heading above the Fixed heading to indicate that only the bug fixes and security fixes are in the bug fix release. --> ## [0.6.0] ### Added - Abstract DEM interface that supports ellipsoids #576 - Fourier-Mellon subpixel registration #558 ### Changed - Updates center of gravity style subpixel matcher to use scipy.ndimage.center_of_mass of determining subpixel shifts - Use `kalisiris` instead of `pysis` #573 - Moved `acn_submit` cluster submission script into the library and added tests for cluster submission #567 - Point identifier no longer needs to be a unique string ### Fixed - Image to ground to support multiple input types with proper output type handling #580 - Support for ISIS special pixels in image data #577 - Fix for no correlation map returned from `geom_match_simple` #556 Makefile 0 → 100644 +99 −0 Original line number Diff line number Diff line .PHONY: clean clean-test clean-pyc clean-build docs help .DEFAULT_GOAL := help define BROWSER_PYSCRIPT import os, webbrowser, sys from urllib.request import pathname2url webbrowser.open("file://" + pathname2url(os.path.abspath(sys.argv[1]))) endef export BROWSER_PYSCRIPT define PRINT_HELP_PYSCRIPT import re, sys for line in sys.stdin: match = re.match(r'^([a-zA-Z_-]+):.*?## (.*)$$', line) if match: target, help = match.groups() print("%-20s %s" % (target, help)) endef export PRINT_HELP_PYSCRIPT define DOWNLOAD_PYSCRIPT import urllib.request, sys urllib.request.urlretrieve(sys.argv[1],sys.argv[2]) endef export DOWNLOAD_PYSCRIPT BROWSER := python -c "$$BROWSER_PYSCRIPT" DOWNLOAD := python -c "$$DOWNLOAD_PYSCRIPT" help: @python -c "$$PRINT_HELP_PYSCRIPT" < $(MAKEFILE_LIST) clean: clean-build clean-pyc clean-test ## remove all build, test, coverage and Python artifacts clean-build: ## remove build artifacts rm -fr build/ rm -fr dist/ rm -fr .eggs/ find . -name '*.egg-info' -exec rm -fr {} + find . -name '*.egg' -exec rm -f {} + clean-pyc: ## remove Python file artifacts find . -name '*.pyc' -exec rm -f {} + find . -name '*.pyo' -exec rm -f {} + find . -name '*~' -exec rm -f {} + find . -name '__pycache__' -exec rm -fr {} + clean-test: ## remove test and coverage artifacts rm -fr .tox/ rm -f .coverage rm -fr htmlcov/ rm -fr .pytest_cache rm -fr test-resources lint: ## check style with flake8 flake8 --max-complexity 10 --ignore E203,E501,W503 autocnet tests test: ## run tests quickly with the default Python pytest autocnet test-resources: ## Download what we need for testing mkdir test-resources $(DOWNLOAD) https://hirise-pds.lpl.arizona.edu/PDS/EDR/PSP/ORB_010500_010599/PSP_010502_2090/PSP_010502_2090_RED5_0.IMG test-resources/PSP_010502_2090_RED5_0.img $(DOWNLOAD) https://hirise-pds.lpl.arizona.edu/PDS/EDR/PSP/ORB_010500_010599/PSP_010502_2090/PSP_010502_2090_RED5_1.IMG test-resources/PSP_010502_2090_RED5_1.img test-all: ## run tests on every Python version with tox tox coverage: test ## check code coverage quickly with the default Python coverage report -m coverage html $(BROWSER) htmlcov/index.html docs: ## generate Sphinx HTML documentation, including API docs rm -f docs/autocnet.rst rm -f docs/modules.rst sphinx-apidoc -o docs/ autocnet $(MAKE) -C docs clean $(MAKE) -C docs html $(BROWSER) docs/_build/html/index.html servedocs: docs ## compile the docs watching for changes watchmedo shell-command -p '*.rst' -c '$(MAKE) -C docs html' -R -D . release: dist ## package and upload a release twine upload dist/* dist: clean ## builds source and wheel package python setup.py sdist python setup.py bdist_wheel ls -l dist install: clean ## install the package to the active Python's site-packages python setup.py install Loading
.github/workflows/continuous_integration.yml +40 −1 Original line number Diff line number Diff line Loading @@ -8,6 +8,11 @@ on: branches: - dev env: isis-root: /usr/share/miniconda/envs/isis/ isis-data: test-resources/ISISDATA/ hirise-pds-url: https://hirise-pds.lpl.arizona.edu/PDS/EDR/PSP/ORB_010500_010599/PSP_010502_2090 jobs: Build-and-Test: runs-on: ${{ matrix.os }} Loading @@ -29,19 +34,53 @@ jobs: run: shell: bash -l {0} steps: - name: ISIS Conda Env uses: conda-incubator/setup-miniconda@v2 with: python-version: 3.6 activate-environment: isis channels: usgs-astrogeology, conda-forge - name: Install ISIS run: | conda install -q -y -c usgs-astrogeology isis - name: Setup test-resources/ run: | mkdir $GITHUB_WORKSPACE/test-resources/ mkdir $GITHUB_WORKSPACE/${{ env.isis-data }} - name: Download IMG run: | curl "${{ env.hirise-pds-url }}/PSP_010502_2090_RED5_0.IMG" -o $GITHUB_WORKSPACE/test-resources/PSP_010502_2090_RED5_0.img curl "${{ env.hirise-pds-url }}/PSP_010502_2090_RED5_1.IMG" -o $GITHUB_WORKSPACE/test-resources/PSP_010502_2090_RED5_1.img - name: Exit isis env run: conda deactivate - name: Checkout Code uses: actions/checkout@v2 - name: Cache conda uses: actions/cache@v2 env: # Increase this value to reset cache if etc/example-environment.yml has not changed CACHE_NUMBER: 0 with: path: ~/conda_pkgs_dir key: ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-${{ hashFiles('environment.yml') }} - name: Setup ENV uses: conda-incubator/setup-miniconda@v2 with: miniconda-version: "latest" mamba-version: "*" use-mamba: true channels: conda-forge, defaults channels: conda-forge channel-priority: strict activate-environment: autocnet environment-file: environment.yml use-only-tar-bz2: true python-version: ${{ matrix.python-version }} - name: config ISIS vars run: | conda env config vars set ISISROOT=${{ env.isis-root }} conda env config vars set ISISDATA=$GITHUB_WORKSPACE/${{ env.isis-data }} - name: Check build environment run: | conda list Loading
.readthedocs.yaml 0 → 100644 +13 −0 Original line number Diff line number Diff line # .readthedocs.yaml # Read the Docs configuration file # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details # Required version: 2 # Build documentation in the docs/ directory with Sphinx sphinx: configuration: docs/conf.py conda: environment: docs/environment.yml
AUTHORS.rst +2 −1 Original line number Diff line number Diff line Loading @@ -15,4 +15,5 @@ Development Team Contributors ------------ None yet. Why not be the first? `Ross Beyer <https://github.com/rbeyer>`_
CHANGELOG.md 0 → 100644 +51 −0 Original line number Diff line number Diff line # Changelog All changes that impact users of this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). <!--- This document is intended for users of the applications and API. Changes to things like tests should not be noted in this document. When updating this file for a PR, add an entry for your change under Unreleased and one of the following headings: - Added - for new features. - Changed - for changes in existing functionality. - Deprecated - for soon-to-be removed features. - Removed - for now removed features. - Fixed - for any bug fixes. - Security - in case of vulnerabilities. If the heading does not yet exist under Unreleased, then add it as a 3rd heading, with three #. When preparing for a public release candidate add a new 2nd heading, with two #, under Unreleased with the version number and the release date, in year-month-day format. Then, add a link for the new version at the bottom of this document and update the Unreleased link so that it compares against the latest release tag. When preparing for a bug fix release create a new 2nd heading above the Fixed heading to indicate that only the bug fixes and security fixes are in the bug fix release. --> ## [0.6.0] ### Added - Abstract DEM interface that supports ellipsoids #576 - Fourier-Mellon subpixel registration #558 ### Changed - Updates center of gravity style subpixel matcher to use scipy.ndimage.center_of_mass of determining subpixel shifts - Use `kalisiris` instead of `pysis` #573 - Moved `acn_submit` cluster submission script into the library and added tests for cluster submission #567 - Point identifier no longer needs to be a unique string ### Fixed - Image to ground to support multiple input types with proper output type handling #580 - Support for ISIS special pixels in image data #577 - Fix for no correlation map returned from `geom_match_simple` #556
Makefile 0 → 100644 +99 −0 Original line number Diff line number Diff line .PHONY: clean clean-test clean-pyc clean-build docs help .DEFAULT_GOAL := help define BROWSER_PYSCRIPT import os, webbrowser, sys from urllib.request import pathname2url webbrowser.open("file://" + pathname2url(os.path.abspath(sys.argv[1]))) endef export BROWSER_PYSCRIPT define PRINT_HELP_PYSCRIPT import re, sys for line in sys.stdin: match = re.match(r'^([a-zA-Z_-]+):.*?## (.*)$$', line) if match: target, help = match.groups() print("%-20s %s" % (target, help)) endef export PRINT_HELP_PYSCRIPT define DOWNLOAD_PYSCRIPT import urllib.request, sys urllib.request.urlretrieve(sys.argv[1],sys.argv[2]) endef export DOWNLOAD_PYSCRIPT BROWSER := python -c "$$BROWSER_PYSCRIPT" DOWNLOAD := python -c "$$DOWNLOAD_PYSCRIPT" help: @python -c "$$PRINT_HELP_PYSCRIPT" < $(MAKEFILE_LIST) clean: clean-build clean-pyc clean-test ## remove all build, test, coverage and Python artifacts clean-build: ## remove build artifacts rm -fr build/ rm -fr dist/ rm -fr .eggs/ find . -name '*.egg-info' -exec rm -fr {} + find . -name '*.egg' -exec rm -f {} + clean-pyc: ## remove Python file artifacts find . -name '*.pyc' -exec rm -f {} + find . -name '*.pyo' -exec rm -f {} + find . -name '*~' -exec rm -f {} + find . -name '__pycache__' -exec rm -fr {} + clean-test: ## remove test and coverage artifacts rm -fr .tox/ rm -f .coverage rm -fr htmlcov/ rm -fr .pytest_cache rm -fr test-resources lint: ## check style with flake8 flake8 --max-complexity 10 --ignore E203,E501,W503 autocnet tests test: ## run tests quickly with the default Python pytest autocnet test-resources: ## Download what we need for testing mkdir test-resources $(DOWNLOAD) https://hirise-pds.lpl.arizona.edu/PDS/EDR/PSP/ORB_010500_010599/PSP_010502_2090/PSP_010502_2090_RED5_0.IMG test-resources/PSP_010502_2090_RED5_0.img $(DOWNLOAD) https://hirise-pds.lpl.arizona.edu/PDS/EDR/PSP/ORB_010500_010599/PSP_010502_2090/PSP_010502_2090_RED5_1.IMG test-resources/PSP_010502_2090_RED5_1.img test-all: ## run tests on every Python version with tox tox coverage: test ## check code coverage quickly with the default Python coverage report -m coverage html $(BROWSER) htmlcov/index.html docs: ## generate Sphinx HTML documentation, including API docs rm -f docs/autocnet.rst rm -f docs/modules.rst sphinx-apidoc -o docs/ autocnet $(MAKE) -C docs clean $(MAKE) -C docs html $(BROWSER) docs/_build/html/index.html servedocs: docs ## compile the docs watching for changes watchmedo shell-command -p '*.rst' -c '$(MAKE) -C docs html' -R -D . release: dist ## package and upload a release twine upload dist/* dist: clean ## builds source and wheel package python setup.py sdist python setup.py bdist_wheel ls -l dist install: clean ## install the package to the active Python's site-packages python setup.py install