Sign inSign up

ecognition/linux_cle

By ecognition

•Updated 2 months ago

Trimble eCognition Command-line engine for Linux

Image
0

8.2K

ecognition/linux_cle repository overview

⁠Trimble eCognition Command-line Engine for Linux

Trimble eCognition software is used by GIS professionals, remote sensing experts & data scientists to automate geospatial data analytics. Users can design feature extraction solutions to transform geo-data into geo-information.

The Linux version of Docker image for Trimble eCognition command-line engine. You will need a valid Trimble eCognition Server license to run it.

⁠Prerequisite

To use the eCognition command-line engine requires a valid eCognition Server license and the latest eCognition License Server⁠.

Note: If you are running non-containerized version of License Server, you will need to make sure license server ports (default: 27000-27009) and vendor daemon (random by default) are open. You can set those ports via license server admin console using your favorite browser: http://[LicenseServer IP address]:8090 (or http://localhost:8090⁠ from within License Server machine). in Administration tab you can set those in "Vendor Daemon Configuration" and "Server Configuration" sections.

⁠Run

To use the container you can run it interactively and explore DIACmdEngine:

docker pull ecognition/linux_cle:10.5.0
docker run -it -e “LM_LICENSE_FILE=@mylicenseIPaddress” -v /path/to/mydata:/mnt ecognition/linux_cle:10.5.0

Once inside terminal session you can access DIACmdEngine directly and invoke it.

To run the container and the job in it, you can combine 2 command-lines together:

docker run -e “LM_LICENSE_FILE=@mylicenseIPaddress” -v /path/to/mydata:/mnt ecognition/linux_cle:10.4.0 ./DIACmdEngine image-dir=/mnt/data import-connector=myimportconnector import-connector-file=/mnt/myimportconnector.xml ruleset=/mnt/myruleset.dcp output-dir=/mnt

Note: It is also recommended to give at least 4GB of RAM for container as it might be resource intensive (docker -m 4GB .. will do it)

⁠Configuration via environment

While running container any configuration setting (found in config/eCognition.cfg) can be set via environment variable use the following notation: ECOG_CONFIG_{config-group}="key1=value1;key2=value2;.."

for example, to set log file location and trace level (this overrides appropriate <logging> values in eCognition.cfg):

docker run -it -e ECOG_CONFIG_logging="log path=/mnt/logs;trace level=Detailed" ...

⁠Limitations

Linux version of the eCognition engine does not support point cloud processing. For point cloud based workflow, please use windows version of the engine.

⁠Command-line tools for managing eCognition GRID

This image includes tools for eCognition GRID:

DIAMkWksp - command-line tool for creating workspace (.dpj), that can be submitted for processing to eCognition Job Scheduler⁠.

DIACmdClient - command-line tool for submitting / monitoring workspace, it interacts with eCognition Job Scheduler⁠.

⁠Command-line engine

Docker container contains DIACmdEngine which is a eCognition engine command-line interface. It has following command-line parameters:

- analyze image file:
    DIACmdEngine image=path1 [image=pathN..] [thematic=pathN] ruleset=path [options]
- analyze image imported using connector:
    DIACmdEngine image-dir=path import-connector=name [import-connector-file=path] ruleset=path [options]

- options:
    param:nameN=valueN     - parameter to the rule set, where nameN is name of scene variable and
                         valueN is the value of the scene variable. There can be arbitrary amount of params.
    array-param:nameN=value1,value2,..,valueN - array parameter to the rule set, where nameN is name of rule set array and
                         valueN is the comma-separated value list, for example: array-param:myArray=0,90,180,270. There can be arbitrary amount of array-params.
    --map path1=path2           - local drive - network path mapping
    --output-dir=path              - output diretory for export files
    --license-token=json         - additional license information in json format
    --save-dpr (or --save-dpr=path/to/project.dpr) - save project file. If explicit path to .dpr specified,
                         it will be used instead default path ({:Workspc.OutputRoot}\dpr\{:Project.Name}.v{:Project.Ver}.dpr)
    --log-file=path        - log file path (if not specified, default log file is written based on path in eCognition.cfg)
    --pause                - pause application after done

Return value: DIACmdEngine returns 0 on success, -1 otherwise. This can be used by scripts invoking executable to check job success.

The command-line engine can be run in 2 different ways depending on the set up of the Trimble eCognition Workspace: For example, 1) to simple analysis on a single image:

./DIACmdEngine image=/mnt/data/myimage.tif thematic=/mnt/myvector.shp ruleset=/mnt/myruleset.dcp output-dir=/mnt/results

For example, 2) to run analysis on image(s) imported via predefined import connector:

./DIACmdEngine image-dir=/mnt/data import-connector="myimportconnector" import-connector-file=/mnt/myimportconnector.xml ruleset=/mnt/myruleset.dcp output-dir=/mnt/results

if '''import-connector'' parameter defers to predefined import connector (like "Generic raster - one file per scene"), then '''import-connector-file''' parameter can be omitted.

Tag summary

Content type

Image

Digest

sha256:e688626b4…

Size

1.2 GB

Last updated

2 months ago

docker pull ecognition/linux_cle:10.5.0