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.6.tar.gz (1.4 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.6-py3-none-any.whl (438.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: easyams-0.1.6.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.8.18

File hashes

Hashes for easyams-0.1.6.tar.gz
Algorithm Hash digest
SHA256 0415047d9e6c4e537e2f3c514fb71ef62975bcf46b91f313dce4546f69908f4c
MD5 448dba8596c23d3aea3caf085bfae64b
BLAKE2b-256 f5c25c8574ec4188d331128c12cde3f4adb43d38362f51752d500d8d2d625982

See more details on using hashes here.

File details

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

File metadata

  • Download URL: easyams-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 438.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.8.18

File hashes

Hashes for easyams-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 7b72a56e81f4e65d21a4866d6030f72ea77e99a0fb055bcb0540bb6b11f36dbf
MD5 d00663bf38ceb3639d09bcb8b1afa620
BLAKE2b-256 f55f429f6f6cfa2f2b39edd17b6301e4213bb4ab032c2e7c1033951a6040b7d0

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