Overview of the Mira Pro x64 Script Module


The Mira Pro x64 Script Module contains an immensely powerful programming extension language used for scripting in Mira Pro x64. This language is designed for scripted processing of images and other data inside the Mira Pro user interface. However, scripts may perform nearly any type of computing desired and do not have to use data displayed in Mira. Scripts may be run in several modes:

bullet.gif    Running independent of data displayed on the Mira screen, using self-generated data, querying for input, reading from files, etc.

bullet.gif    Working with, and modifying data displayed in Image windows, Plot windows, Grid windows, etc. (see the Mira Pro x64 User's Guide).

bullet.gif    Creating data within the script that the script displays in a Mira window.

The Mira Pro x64 scripting language is based on the Lua Programming Language that is widely used in embedded controllers, game development, and other applications such as program configuration. Lua is actively supported at https://lua.org/ and numerous Lua extension packages may be downloaded from Github and other websites. Reference books are available through the Lua.org website, Amazon, and other booksellers.

For scientific and technical computing applications, Mira's combination with Lua creates a fast, powerful, and versatile tool that is relatively easy to learn and use. Although Lua is among the fastest available scripting languages, Mira accelerates complex computations by leveraging its internally optimized numeric and array processing functions. Ease of use is provided by implementing many of the nearly 1000 functions into an object-oriented, or "class" based architecture consisting of nearly 40 script classes including CImage, CLsqFit, CRegistry, CGrid, CFwhm, etc. In addition, a diverse collection of several hundred global functions is provided, such as scatter, sumn, gaussdev, GetNumber, and HmsToDeg. Lua also provides a simple yet elegant structuring mechanism called a "table" which may hold simple arrays of values, named data pairs, and even n-dimensional arrays of data.

The Lua Programming Language was chosen in the mid 1990s as the Mira scripting and program extension language. Scientific and technical users with only modest experience programming in C, C++, or Python will find it familiar relatively easy for wring scripts that do complex processing. Mira is unique in providing such a powerful programming extension language within a rich interactive environment. Lua also provides a form of object oriented programming including classes, privacy, inheritance, and polymorphism. The Mira Pro Script Module implements these advanced features by providing a large selection of classes and methods that are relatively simple to use, yet extraordinarily powerful for image processing and other computational applications. The language is indefinitely extensible so that you can create you own new functions and classes or extend those provided with Mira.

Related Topics

Contents

Working with Scripts

Creating a Simple Script

Creating Classes

Comparison with C and C++

Error Messages

Going Further with Lua

Benchmarks


Mira Pro x64 Script User's Guide, Copyright Ⓒ 2024 Mirametrics, Inc. All Rights Reserved.