Commit 39f744b0 authored by Adam Paquette's avatar Adam Paquette
Browse files

Merge branch 'dev' of https://github.com/USGS-Astrogeology/autocnet into mi_matcher

parents d995e433 af3a6837
Loading
Loading
Loading
Loading
+40 −1
Original line number Diff line number Diff line
@@ -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 }}
@@ -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

.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
+2 −1
Original line number Diff line number Diff line
@@ -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