diff --git a/CHANGELOG.md b/CHANGELOG.md index d64eb435ab4ebd8efbb8f904daa496f9ba3e7e6d..522fddfb998d0941696ea5d17ca9da64485f524c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -34,6 +34,10 @@ release. --> ## [Unreleased] +## [1.2.2] +### [Changed] +- Made image_registration dependency optional for conda-forge package which cannot use pip installs. + ## [1.2.1] ### Added - Debug logging to `place_points_in_overlap` and `distribute_points_in_geom` to make debugging issues easier. diff --git a/autocnet/matcher/naive_template.py b/autocnet/matcher/naive_template.py index 90f0985281c0220480e1c6898a7b834c96e549e5..ccce1eab172668324d0dd92beb20a74896b10a74 100644 --- a/autocnet/matcher/naive_template.py +++ b/autocnet/matcher/naive_template.py @@ -7,7 +7,11 @@ import numpy as np from scipy.ndimage import center_of_mass from skimage.transform import rescale from skimage.util import img_as_float32 -from image_registration import chi2_shift +try: + from image_registration import chi2_shift +except: + chi2_shift = None + log = logging.getLogger(__name__) @@ -38,6 +42,9 @@ def pattern_match_chi2(image, template, usfac=16): # Swapped so that we get the adjustment to the image to match the template # like the other matchers. + if chi2_shift is None: + raise ValueError("chi2_shift function is not defined. You need to install the 'image_registration' package with 'pip install image_registration'.") + dx, dy, err_x, err_y = chi2_shift(image, template, return_error=True, upsample_factor=usfac, boundary='constant') shape_y, shape_x = np.array(template.shape)//2 err = (err_x + err_y) / 2. diff --git a/code.json b/code.json index 57f70c14cd46068ba4dd61ae39cfbaf5f88bad7e..b54f13e6ac142d7cdaa517c367af77da6e5125bc 100644 --- a/code.json +++ b/code.json @@ -41,5 +41,48 @@ "date": { "metadataLastUpdated": "2024-10-21" } + }, + { + "name": "autocnet", + "organization": "U.S. Geological Survey", + "description": "Automatic control network generation", + "version": "1.2.2", + "status": "Production", + + "permissions": { + "usageType": "openSource", + "licenses": [ + { + "name": "Public Domain, CC0-1.0", + "URL": "https://code.usgs.gov/astrogeology/autocnet/-/raw/1.2.2/LICENSE.md" + } + ] + }, + + "homepageURL": "https://code.usgs.gov/astrogeology/autocnet", + "downloadURL": "https://code.usgs.gov/astrogeology/autocnet/-/archive/1.2.2/autocnet-1.2.2.zip", + "disclaimerURL": "https://code.usgs.gov/astrogeology/autocnet/-/raw/1.2.2/DISCLAIMER.md", + "repositoryURL": "https://code.usgs.gov/astrogeology/autocnet.git", + "vcs": "git", + + "laborHours": 0, + + "tags": [ + "Planetary", + "Remote Sensing", + "Data Processing" + ], + + "languages": [ + "Python" + ], + + "contact": { + "name": "Kelvin Rodriguez", + "email": "krodriguez@usgs.gov" + }, + "date": { + "metadataLastUpdated": "2024-10-24" + } } ] \ No newline at end of file diff --git a/conda/conda-forge/meta.yaml b/conda/conda-forge/meta.yaml new file mode 100644 index 0000000000000000000000000000000000000000..49e4a0ead87ebd0ecb9b024fc4261e46d0f73483 --- /dev/null +++ b/conda/conda-forge/meta.yaml @@ -0,0 +1,97 @@ +{% set name = "autocnet" %} +{% set version = "1.2.2" %} + +package: + name: {{ name|lower }} + version: {{ version }} + +source: + url: https://code.usgs.gov/astrogeology/autocnet/-/archive/1.2.2/autocnet-1.2.2.tar.gz + sha256: 29f30e980aae216225d8ef181b2d228c2325ca0afb6ba60f2dfe0384759e828d + +build: + script: {{ PYTHON }} -m pip install . -vv + skip: true # [win] + number: 0 + +requirements: + build: + - python + - csmapi + - dill + - geoalchemy2 + - geopandas + - kalasiris + - knoten + - networkx + - opencv + - plio + - plurmy + - pyyaml + - redis-py + - scikit-image + - scipy + - shapely + - sqlalchemy-utils + host: + - python + - setuptools + - libgl # [linux] + run: + - csmapi + - cython + - cyvlfeat + - matplotlib-base + - dill + - conda-forge::gdal >=3.5,<4.0 + - geoalchemy2 + - geopandas + - hoggorm + - imageio + - ipykernel + - kalasiris + - conda-forge::knoten + - libgl # [linux] + - networkx >=2,<3 + - numpy >=1.21,<2.0 + - opencv + - conda-forge::plio >=1.3 + - pandas + - pyyaml + - plio >=1.5.4 + - plurmy + - psycopg2 + - pvl >=1.0,<2 + - proj + - conda-forge::pyproj + - python + - richdem + - scikit-image >=0.17,<0.25 + - scikit-learn + - scipy + - shapely + - sqlalchemy + - sqlalchemy-utils + - redis-py <5 + - conda-forge::usgscsm >=2.0.0 + - vlfeat + - protobuf <=3.20 + +test: + imports: + - autocnet + - autocnet.graph.network + +about: + home: https://github.com/DOI-USGS/Autocnet + summary: 'A Python library for automatic generation of control networks for the geodetic control of planetary images.' + description: 'Automatic control network generation' + doc_url: https://github.com/DOI-USGS/Autocnet#readme + dev_url: https://github.com/DOI-USGS/Autocnet + license: CC0-1.0 + license_file: LICENSE.md + +extra: + recipe-maintainers: + - Kelvinrr + - amystamile-usgs diff --git a/environment.yml b/environment.yml index 2ca1d5de61e8410cb66c2f232a19e31abcd67d43..ef3f16bfa483515e081fe5b2d8662a9f322a89a1 100644 --- a/environment.yml +++ b/environment.yml @@ -39,7 +39,7 @@ dependencies: - redis-py<5 - conda-forge::usgscsm - vlfeat - - protobuf + - protobuf<=3.20 - pip - pip: - image_registration \ No newline at end of file diff --git a/setup.py b/setup.py index 3d77bcfdcfcfeb6cdfe8531b9884baa034e9830d..aacaefd61e11350ada5a912b2bbd846e9188487f 100755 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ from setuptools import setup, find_packages with open('README.md', 'r') as f: long_description = f.read() -__version__ = '1.2.1-dev' +__version__ = '1.2.2' def setup_package(): setup(