This page contains information related to XMapTools 3.4 which has been discontinued is and no longer updated. We recommend you to try XMapTools 4 here
Deployed in XMapTools 3.3.1 (Dec. 2019)

You can add new functionality to XMapTools by installing one of the official extensions.
- Add-ons stand as separate programs
- They can be called from the XMapTools interface at any step to perform extra computations
- Add-ons have access via the API to the data generated by XMapTools
- Developers can create their own add-on
List of compatible add-ons
Extension | Developper(s) | Current version | Auto-Update | Setup Req. | Requirements |
Img2Txt | P. Lanari | 1.2 | yes | no | |
XThermoTools | P. Lanari and E. Duesterhoeft | Public 1.2.1 | yes | yes | Gfortran (Mac) |
StackMaps | J. Reynes | 1.1 | yes | no | MATLAB© image processing toolbox |
Download add-ons
Add-ons listed above are provided in the official XMapTools package. They also can be downloaded directly via the XMapTools interface using the Extension manager.
Warning: You must use the Extension manager to get the add-ons if you updated to XMapTools 3.3.1 or more recent versions via MATLAB© (i.e. without downloading the full package).
- Open MATLAB©, set the working directory and open XMapTools
- In menu, select File > Add-Ons > Manage Extensions
- In the Extension manager, select one add-on in the menu located on the top left
- If you do not have this add-on, press the button Download
- If you already have a version of this add-on and you want to update, press the button Delete & Download.
- This operation will download the last version of the add-on available on the server
Note: Some add-ons require an additional setup. Simply open the add-on from the XMapTools interface and follow the instructions.
Note: Some add-ons have an auto-update functionality directly implemented in the extension. The add-on checks for update every time it is opened. Add-ons without update system should be updated manually following the procedure given above.
Disable or Remove Add-Ons
Follow these steps if you want to remove an add-on:
- Navigate to the folder /MyDocuments/MATLAB/XMapTools/Addons/
- Simply delete the folder containing the add-on
XMapTools API for developers
The application programming interface (API) is intended to simplify the implementation and maintenance of XMapTools’ add-ons.
XMapTools performs the following checks before calling an add-on:
- Call the add-on installer (e.g. the program AOTest_Install.m for an add-on AOTest) and sends as input variable the absolute path of the add-on. XMapTools proceeds further only if the generic answer 1 is received
- Call the add-on update program (e.g. AOTest_Update.m) and sends as input variable the absolute path of the add-on. Depending on the update state XMapTools stops or continues further (see below). The developers can decide to make the update mandatory or not (can be skipped)
- Call the add-on gateway (e.g. AOTest.m)
Step 1: Create the add-on folder and files
- Create a new folder having the add-on name (case-sensitive) in /MyDocuments/MATLAB/XMapTools/Addons/. For an add-on called AOTest, the add-on directory would be …/XMapTools/Addons/AOTest/
- In this directory, create three MATLAB© m-files based on the add-on name (here AOTest): AOTest.m; AOTest_Install.m; AOTest_Update.m. Those files are required for allowing XMapTools to properly interact with the add-on.
Step 2: Add-on installer
A template for the setup function (in this example AOTest_Install.m) is provided below.
function [OKrun] = AOTest_Install(Path)
%
% Add any installation code here...
OKrun = 1;
return
If the variable OKrun is not set to 1, XMapTools will prevent the add-on to be used and displays the following warning message: The add-on is not correctly installed and cannot be called by XMapTools
Step 3: Add-on updater
A template for the update function (in this example AOTest_Update.m) is provided below.
function [UpdateState] = AOTest_Update(varargin)
%
% This is the update for the program
%
% Output varibale "UpdateState" (from XMapTools ...):
% [-1] No update system Continue
% [0] Server cannot be reached Continue
% [1] This add-on is up-to-date Continue
% [2] An update has been installed Continue
% [3] An update is available but skiped Stop
% [4] An update is available but skipped Continue
% [5] Abord the call Stop
UpdateState = -1;
return
The value of UpdateState controls the behaviour of XMapTools. If there is no update system, the value should be -1. Other options are given in the comment of the code above.
Step 4: Add-on gateway
It is strongly recommended to use the program with the add-on name (in this example AOTest.m) as a gateway to the add-on interface (e.g. VER_AOTest.m and VER_AOTest.fig). A simple example is provided below.
function varargout = AOTest(varargin)
% AOTest runs the program VER_AOTest
% AOTest is a MATLAB-based graphic user interface used
% to illustrate the XMapTools add-on system
%
% Step 1: Get data from XMapTools
Infos = varargin{1}; % State of XMapTools
RawData = varargin{2}; % Data from the X-ray workspace
MaskFile = varargin{3}; % Data from the mask files in X-ray
Quanti = varargin{4}; % Data from the Quanti workspace
Results = varargin{5}; % Data from the Result workspace
ColorBar = varargin{6}; % Data of the active colour palette
% Step 2: Check if the add-on can be called (EXAMPLES...)
if ~isequal(Infos.Mode,1)
warndlg('AOTest is only available from the workspace "Xray" ...','Warning');
return % i.e. the add-on does not open
end
if ~iscell(Infos.Xray.ListMaps) || length(Infos.Xray.ListMaps) < 2
Text{1} = 'AOTest can not be called because there is no map';
warndlg(Text,'Warning');
return % i.e. the add-on does not open
end
% If we passed all the tests made above...
VER_AOTest(RawData); % i.e. call the add-on
% in this example only the data in X-ray are used by the add-on
% Other variables (e.g. MaskFile) can be sent to VER_AOTest
return
Step 4: Add-on
The add-on interface can be generated using the GUIDE environment of MATLAB
Note: At the moment it is not possible to send back data; Files should be created instead and then imported via the XMapTools interface.