Skip to content

UTokyo-FieldPhenomics-Lab/EasyAMS

Repository files navigation

EasyAMS

Easy Agisoft MetaShape (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

About

A GUI plugin tool for Agisoft Metashape with extended functions for smart agriculture.

Resources

License

Stars

Watchers

Forks

Languages