Skip to main content

Easy Agisoft MetaShape (EasyAMS) Plugin with extended functions for smart agriculture.

Project description

EasyAMS

Easy Agisoft MetaShape Streamlining (EasyAMS) Plugin with extended functions for smart agriculture.

img

Install

Please ensure you have the Metashape Professional License to have access to automation option/Built-in python scripting function

Download the tools/installer.py in this project to your computer, and launch the installer.py script in the metashape to open the GUI.

img

For Developer

1) Source code install

Please clone this repo to your local path.

Then Install this plugin by chosing the installer located at /Your/Local/Path/to/EasyAMS/tools/installer.py with argument --dev.

img

It will use folder at /Your/Local/Path/to/EasyAMS/src/easyams/ as easyams source code package, after any modification, restart Metashape to make effects.

If you have any modification for installer.py, rerun the Run Python Script with --dev arguement to refresh the cached installer file at User\AppData\Local\Agisoft\Metashape Pro\scripts\easyams_launcher.py. Please refer How to run Python script automatically on Metashape Professional start : Helpdesk Portal for more details.

2) Environment setup

Recommend using uv as virtual enviroment manager.

$ uv --version
uv 0.6.14

For example, the git repo folder is located at: C:\path\to\source\code\EasyAMS with the following folder structure:

C:\path\to\source\code\EasyAMS
├─ docs/
├─ src/
├─ tests/
readme.md
pyproject.toml
...

Using the following command to setup development enviroment:

$ cd C:\path\to\source\code\EasyAMS
<repo> $ uv sync --all-groups

It will create a .venv at current project folder and install the tests dependency group and train dependency group inside pyproject.toml.

PS: The default easyams plugin dependency is free of pytorch and ultralytics, only using the onnx(cpu) to inferencing and ensure the ease of installation.
For model training and exporting, labelme is used for data annotation and the pytorch package is required.

To run tests, you also need to manually download the wheel file from metashape official website Python 3 Module, then install to venv manually:

$ uv pip install path/to/Metashape-2.2.1-cp37.cp38.cp39.cp310.cp311-none-win_amd64.whl

For old wheel versions, please refer to Metashape old version archive.md

3) Build documents

Init documents (Already done, no need to operate, just for notes)

<repo> $ uv run sphinx-quickstart

To build html, here need:

<repo> $ ./.venv/Source/activate
<repo> $ make html

# or
<repo> $ uv run sphinx-build -M html sourcedir outputdir

Error Fixs

Plugin installation

1. Python venv creation failed on Arch-Linux with libcrypt errors

[EasyAMS] [CMD] /home/crest/.local/share/Agisoft/Metashape Pro/easyams-packages-py39/bin/uv venv /home/crest/.local/share/Agisoft/Metashape Pro/easyams-packages-py39/venv --python 3.9.13
[EasyAMS] [Error]:
[EasyAMS]     × Querying Python at
[EasyAMS]     │ `/home/crest/.local/share/uv/python/cpython-3.9.13-linux-x86_64-gnu/bin/python3.9`
[EasyAMS]     │ failed with exit status exit status: 127
[EasyAMS]   
[EasyAMS]     │ [stderr]
[EasyAMS]     │ /home/crest/.local/share/uv/python/cpython-3.9.13-linux-x86_64-gnu/bin/python3.9:
[EasyAMS]     │ error while loading shared libraries: libcrypt.so.1: cannot open shared
[EasyAMS]     │ object file: No such file or directory
[EasyAMS]   
[EasyAMS] [EasyAMS] virtual isolated python venv creation failed

Solution: sudo pacman -S --needed libxcrypt libxcrypt-compat

2. SSLError("Can't connect to HTTPS URL because the SSL modules is not available")

This only happens on Manjaro PC, installing openssl-1.1 from pacman solved this problem. python - SSLError("Can't connect to HTTPS URL because the SSL module is not available.") in pip command - Stack Overflow

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

easyams-0.1.7.tar.gz (1.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

easyams-0.1.7-py3-none-any.whl (461.0 kB view details)

Uploaded Python 3

File details

Details for the file easyams-0.1.7.tar.gz.

File metadata

  • Download URL: easyams-0.1.7.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for easyams-0.1.7.tar.gz
Algorithm Hash digest
SHA256 77770e5f07540185d140f47320cf8ae070a27a4b8d2245abb2da878b4f111c64
MD5 44c02be51dbcd15f36b7de49abe28326
BLAKE2b-256 fb3bbe6f4a52b2be6e443191307513814279c7c2083fde9a07b933deaca5253e

See more details on using hashes here.

File details

Details for the file easyams-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: easyams-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 461.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for easyams-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 1aad307546cfb8d3418f15ce44d7e8b2fc3c67560ca95b183de54219ea92d322
MD5 b190ed1b8061feebac98ebe0d5aa809b
BLAKE2b-256 04347dcc0f1385c457afb1920e1ca8a33d00086bb88df74890fc776309100d93

See more details on using hashes here.

Supported by

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