Multi-Axis Operation Application

This repository is the source code and binary distribution point for the Multi-Axis Operation application for control of AMI Maxes(tm) magnet systems.


The current application version is 0.93. Integrated Help is included in the app and can be previewed in PDF format here.

The Multi-Axis Operation application requires the AMI Magnet-DAQ application as a prerequisite. Magnet-DAQ is also open-source subject to GPL v3 or later.

The Multi-Axis Operation application contains a comprehensive Help file which should be adequate to understand how to use the application to control a multi-axis system. The application attempts to meet the needs of end-user experiments by including Sample Alignment, (polar) Rotation in the Sample Plane, and a scripting interface via stdin/stdout that is Python-compatible. A Python example is included in the Help file.

An example of calling the Multi-Axis Operation application from within LabVIEW (Windows) is provided in the latest AMI Drivers for LabVIEW. Using the functionality of Multi-Axis Operation within LabVIEW greatly simplifies controlling a multi-axis magnet system for higher-level experiments.

What's new?

Version 0.93 is now distributed with Linux and macOS ready-to-use binaries, along with the x64 Windows support. New features include some additional toolbar shortcuts and a total estimated time for an auto-stepping session.

NOTE: This application requires Magnet-DAQ as a prerequisite. The paths are presently hard-coded into the application. The Linux version of Magnet-DAQ must be installed in /usr/lib/magnet-daq. The macOS version of Magnet-DAQ must be at /Applications/

How do I install?

Pre-compiled, ready-to-use binaries are available in the Downloads section of this repository:

How do I compile the source?

  • Summary of set up

    • Clone or download the source code repository to your local drive.

    • For Windows: Open the Multi-Axis-Operation.sln file in Visual Studio 2017. If using Visual Studio, you should also install the Qt Visual Studio Tools extension to enable pointing your project to your currently installed Qt distribution for Visual Studio.

    • NOTE: On Windows, compiling the application in Debug mode will open a console on launch for interactively testing the scripting functions.

    • For Linux and Mac: Open the file in QtCreator

  • Dependencies

  • Deployment and compilation hints

    • For Windows: The MultiAxis-Setup folder contains a setup project for producing a Windows installer. This requires the Visual Studio Installer extension. A bin folder is referenced by the installer where you should place the Qt binaries for packaging by the installer.

    • For Linux: See the README file in the binary download (see above) for the instructions for deploying on Ubuntu. Other versions of Linux may require a different procedure. High-DPI display support functions flawlessly in KDE Plasma (not surprising since KDE is Qt-based). The application exhibits various unaddressed issues with high-DPI display in other desktop managers such as Unity and Gnome, as does the general desktop environment for those desktop managers at present.

    • For Mac: Simply unzip the binary distribution and copy the .app folder to the desired location. In order to include the Qt runtime libraries in any app bundle you compile yourself, you should use the Mac Deployment Tool. Dark mode in Mojave is not currently supported in the binary distribution.


The Multi-Axis Operation program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Who do I talk to?