TUF XOP for Igor Pro

This documents an external operation code module (XOP) for WaveMetrics Igor Pro developed by byte physics. The Thread-Utility-Functionality XOP features utilities that enable easier data storage shared between multiple threads as well as mutex support.

Moving data to and from threads in Igor Pro works through thread queues where data in data folders can be pushed from the main thread to a preemptive thread. This thread can then operate on the data and push it back to the main thread. The more threads are working on data the more the data distribution to and from the main thread becomes a bottleneck.

The TUF XOP overcomes this problem by offering named storage spaces that are shared between preemptive threads without having the main thread do the logistics.

The shared storage space can also be offered by the XOP as thread-local that spares the user from employing a mutex for concurrent access. When concurrent access is required the XOP offers locking primitives.

Download and Installation

The XOP is developed and tested for Igor Pro 9 on Windows and MacOSX. It is also signed and notarized to work with MacOSX 10.15 (Catalina) or higher.

You can download the latest version from here.

To install the XOP, place the downloaded *.xop file in your Igor Extensions or Igor Extensions (64-bit) folders. If you are not sure, where to find these folders, Go to HelpShow Igor Pro User Files in the Igor Pro menu.