Integration of external tool

Dear all.
I’m learning how to integrate an external tool in SNAP.
The documentation is very brief (https://senbox.atlassian.net/wiki/spaces/SNAP/pages/14811213/How+to+integrate+an+external+tool+in+SNAP).
Is there any more detailed documentation (with some examples) somewhere?
First, I would like to integrate a tool from its binary file (obtained by compiling codes written in Matlab).
I work on Linux Mint 20.1.
If I understand correctly, I must enter the binary file as a zip file.
If I enter the zip file containing the executable, it does not work.
Can you explain what must contain the zip file?

For non-experienced users, it is true that the integration of external tools is highly complex. If I may comment, I think it would be highly appreciated to dispose of such tutorials.

@ABraun, do you know if these types of tutorials are scheduled?

Cheers,

Quentin Glaude

I don’t know about the priorities, but @mengdahl and @mfitrzyk are among the ones collecting the future needs and defining the roadmap for development and user support.

1 Like

I would like to add a comment to what has been posted.
My question may not necessarily ask for tutorials.
I think that all I need for now is just an example tool with a simple code written in C, C++ or Matlab, the zip file containing its executable and screen shots with the panels to fill in the ‘External Tools’ dialog box of SNAP for the integration of the tool.
Thanks in advance.

2 Likes

Fully agree that this would foster the development of user tools.

1 Like

Have you seen the two videos in the tutorial section:
Tutorials – STEP (esa.int)
Search for ‘tool adapter’ or use these direct links:
SNAP - Standalone Tool Adapter Module (with bundle) - YouTube
SNAP - Standalone Tool Adapter - YouTube
If these do not resolve your problems maybe @oana_hogoiu or @kraftek have an example, or can help you further.

1 Like

Thanks a lot!
I will see if it helps.

Dear all.
I tried to do the integration with the tutorials ‘SNAP - Standalone Tool Adapter Module’ and ‘SNAP - Standalone Tool Adapter Module (with bundle)’, and yes it helps to better understand how the integration of external tools work.
Nevertheless, I’m stuck at installation time: in the panel ‘Bundled Binaries’, when I click on the button ‘Install now’, the installation failed and the message ‘Bundle installation failed. Please see the application log for details’ is shown. I can send you the log file.
Also, an example can help.

If it is possible, I would like to have an example for Linux with the shell file (with extension .sh instead of .bat), with the code, the zip file including the executable and a document or screen shots to configure the integration in SNAP.

If I correctly understand, you would just want to create an adapter over either a locally compiled executable or a shell script. In this case, you don’t need to “bundle” the executable and its dependencies. The bundle is intended for distributing an adapter together with the wrapped executable.
To create a simple adapter, the SNAP help covers the topic (Help > Sentinel Toolbox Application > Tools > Standalone Tool Adapter > Adapter Editor).
If you prefer being inspired from an existing adapter, you can install OTB adapters (go to Tools > Plugins > Available Plugins > Sentinel-2 Toolbox OTB Adapters Module) and then, after installing, go to Tools > Manage External Tools and edit one of the installed adapters. The OTB adapters are intended for either Windows or Linux (for executables, the tool adapters have the so-called “platform-dependent” variables that allow to specify a value for each OS).

2 Likes