Packages: Programming
Packages include individual Igor procedure files or collections of Igor procedure files that are related, as well as external operations (XOPs). To browse ALL projects (including those that have not been officially released) click on the Advanced Browse link above.
Automated Cell Tracker
Last changed: 1 year 15 weeks ago
This program will automatically track a user defined object (cells) through a stack of images and output the X and Y pixel coordinates of the object, as well as the distance moved and velocity for each frame of the movie. Two zip files are provided (click "View all releases" to see and download them both). The zip file "Automated Cell tracker" contains three files: Cell Tracker.pxp, CTIPN.ipf and Cell Tracker Instructions.ihf. Before you open the .pxp file, place the .ipf file under the User Procedures file folder and the .ihf file under the Igor Help Files folder.
| Version | Date | Links | Status | |
|---|---|---|---|---|
| IGOR.6.20.x-1.1-Example Data | 2012-Feb-29 | Recommended for Igor 6.20.x and above | Help | |
Doxygen filter for procedure files
Last changed: 17 weeks 1 day ago
The Igor Pro procedure file syntax is not supported by doxygen.
The easiest way to support it, is to write an input filter for doxygen.
This project here is a proof of concept implementation in AWK of an filter which translates procedure files into C-ish output.
Requires GNU AWK.
Supported Features
- Functions, including parameter type resolution and call-by-reference recognition
- Constants
Workflow
- Comment procedure files using doxygen commands
- Tweak doxygen config file and define
Version Date Links Status IGOR.6.30.x-0.1 2013-Feb-19 Recommended for Igor 6.30.x and above Help Categories:
Easy Multithreading
Last changed: 3 years 14 weeks ago
This project contains a library of functions designed to make multithreading in Igor easy. Furthermore, it allow you to use your existing functions, with little or no modification, in multithreaded data analysis, greatly increasing throughput.
| Version | Date | Links | Status | |
|---|---|---|---|---|
| IGOR.6.20.x-1.x-dev | 2010-Mar-08 | Development snapshot for Igor 6.20.x and above | Help | |
Generic Window Hook
Last changed: 2 years 15 weeks ago
GenericWindowHook.ipf provides
1) a generic window hook function that monitors events, GenericWinHook(), and
2) an installer function, InstallGenericWinHook(), that sets up an exterior panel (dubbed here the "event panel") to show all monitored events.
- Works for any window that can receive events (Graphs, Tables, Layouts, Panels, Notebooks).
- You can simply use the event panel to examine what really happens to your window while developing your own hook function.
- You can also use the GenericWinHook() code as a starting point for own your hook function.
Usage:
| Version | Date | Links | Status | |
|---|---|---|---|---|
| IGOR.6.20.x-1.0 | 2011-Mar-06 | Recommended for Igor 6.20.x and above | Help | |
Graphical User Interface Procedures/General Utilities for Igor Programmers
Last changed: 5 weeks 21 hours ago
A collection of utilties for user interface widgets (TabControls, SetVariables, PopMenus, window sizing, etc.) plus some other general utilities for Igor programming.
| Version | Date | Links | Status | |
|---|---|---|---|---|
| IGOR.5.05.x-0.x-dev | 2013-May-14 | Development snapshot for Igor 5.05.x and above | Help | |
Interactive Dartboard
Last changed: 4 years 17 weeks ago
The "interactive dartboard" presents a clickable dartboard to the user. The package is intended to illustrate some programming techniques for writing graphical user interfaces: drawing calculated polygons, using Igor's coordinate systems, using "package" data folders, providing visual and sound feedback in response to user clicks by dint of a hook function.
| Version | Date | Links | Status | |
|---|---|---|---|---|
| IGOR.6.03.x-1.0-1 | 2009-Feb-18 | Recommended for Igor 6.03.x and above | Help | |
KinSim
Last changed: 3 years 20 weeks ago
Generate chemical reaction systems, convert them into integrateODE form, and run the model.
| Version | Date | Links | Status | |
|---|---|---|---|---|
| IGOR.6.10.x-1.0-0 | 2010-Jan-27 | Recommended for Igor 6.10.x and above | Help | |
Link Display
Last changed: 2 years 35 weeks ago
Overview
This package provides commands for intuitive display of waves that are in (ywave,xwave) sets.
| Version | Date | Links | Status | |
|---|---|---|---|---|
| IGOR.6.20.x-2.3 | 2010-Oct-11 | Recommended for Igor 6.20.x and above | Help | |
| IGOR.6.10.x-2.1 | 2009-Jun-29 | Recommended for Igor 6.10.x and above | Help | |
MATLAB Functions
Last changed: 2 years 45 weeks ago
The biggest barrier to Igor adoption is usually knowledge of another environment's language. One of these is MATLAB. If a MATLAB users sits down to write Igor code, sometimes they have a hard time figuring out what the equivalent function in Igor is the function they know in MATLAB. And even if they find that function, if they haven't programmed in Igor, they might get stuck on the syntax.
| Version | Date | Links | Status | |
|---|---|---|---|---|
| IGOR.6.20.x-0.x-dev | 2010-Aug-05 | Development snapshot for Igor 6.20.x and above | Help | |
Multiple file loader front end
Last changed: 3 years 12 weeks ago
A small panel is presented to the user for loading multiple files into an Igor experiment. This panel gives the user the ability to navigate to the disk folder containing files to load. A listbox is then updated to show a list of files in that folder. The shift key can be used to define contiguous groups of files and the control key (Win) or command key (Mac) can be used to select and deselect individual files in the listbox. Finally a button "GetFiles" is used to end file selection and initiate further code exection. The panel code stores its waves in its own subfolder.
| Version | Date | Links | Status | |
|---|---|---|---|---|
| IGOR.6.12.x-1.3 | 2010-Mar-22 | Recommended for Igor 6.12.x and above | Help | |
| IGOR.5.00.x-1.2 | 2008-Apr-21 | Recommended for Igor 5.00.x and above | Help | |
Package Tools
Last changed: 1 year 28 weeks ago
Overview
This package is to provide a standardized way for developers to manage packages that they distribute to others.
| Version | Date | Links | Status | |
|---|---|---|---|---|
| IGOR.6.20.x-1.3 | 2011-Nov-30 | Recommended for Igor 6.20.x and above | Help | |
SBIG Camera Driver
Last changed: 5 years 21 weeks ago
This package is an XOP which enables Igor Pro to control and take images with Santa Barbara Instruments Group (SBIG) cameras through SBIG's low-level driver routines. With it, you can write Igor Pro functions to script the behavior of an SBIG camera for whatever application you may have. The package includes the XOP, a help file, a user's manual, and a sample experiment that uses the XOP to implement a simple point-and-click panel for a camera. (See the picture.) The XOP is in Universal Binary format for Macintosh OS-X.
| Version | Date | Links | Status | |
|---|---|---|---|---|
| IGOR.6.00.x-1.0.1 | 2008-Jan-18 | Recommended for Igor 6.00.x and above | Help | |
Screen Sizer
Last changed: 2 years 35 weeks ago
This module will generate a set of globals containing the current screen size in pixels and points. It also contains functions to move, shift, or size any type of window or set of window types/kinds using percentage of screen/frame values.
| Version | Date | Links | Status | |
|---|---|---|---|---|
| IGOR.6.20.x-2.5 | 2010-Oct-11 | Recommended for Igor 6.20.x and above | Help | |
| IGOR.6.10.x-2.3 | 2009-Dec-01 | Recommended for Igor 6.10.x and above | Help | |
Synchronized Windows
Last changed: 2 years 13 weeks ago
Igor supports exterior panels that stick to the target window, but only for graphs and panels.
SyncWin extends this idea to any pair of target windows (also tables, layouts, notebooks).
To use, create two windows and install the link between them using SyncWinInstall().
The following examples are also given in the procedure file.
Example 1:
string myGraph = "MyOtherGraph" Display /N=$myGraph /W=(300,90,500,190) Display /N=MyFirstGraph /W=(350,100,550,200) SyncWinInstall(myGraph)
Example 2:
string myPanel = "Panel0", myTable = "Table0"
TabControl
Last changed: 5 years 7 weeks ago
A package that makes adding extensive functionality to tab controls easy.
NOTE: I haven't finished the ACL_Tab Control Utility.ihf help file yet. However, using the package is fairly simple. Just follow these steps:
- Open both of the included procedure files (TabControl and UserdataEditor) in your Igor Pro experiment. These procedures require Igor Pro 6.01 or greater.
- Create a panel with a tab control and add your controls to it.
| Version | Date | Links | Status | |
|---|---|---|---|---|
| IGOR.6.03.x-1.0 | 2008-Apr-22 | Recommended for Igor 6.03.x and above | Help | |
| IGOR.6.01.x-1.0.x-dev | 2008-Apr-28 | Development snapshot for Igor 6.01.x and above | Help | |
ThreadSafeUtils XOP
Last changed: 30 weeks 5 days ago
ThreadSafeUtils is an XOP adding two utility functions for threadsafe programming.
threadSafeWrapper(userFunction)
executes userFunction and returns its string if running in the main thread and an empty string otherwise. This converts the compile-time threadsafe check of Igor procedures into a runtime check.
Details
userFunction must be a function returning a string and accepting no parameters. Although allowed it does not make sense that userFunction is threadsafe, because in that case userFunction is also usable with runtime checks for thread safety.
| Version | Date | Links | Status | |
|---|---|---|---|---|
| IGOR.6.20.x-0.1 | 2012-Nov-16 | Recommended for Igor 6.20.x and above | Help | |
Unit Testing Framework
Last changed: 16 weeks 11 hours ago
This project aims at providing a complete set of tools for programmers for writing and maintaining unit tests.
Features:
- Runs on Windows and MacOSX
- Completely documented and with lots of examples
- Includes more than ten test assertions coming in three versions
- Allows for the arbitrary grouping of test cases
- Easyly expandable and adaptable
- Support for executing test suites from the command line
Planned features (open for collaboration):
- Threadsafe test assertions
- Machine readable (XML) log file format
Version Date Links Status IGOR.6.00.x-1.0 2013-Feb-27 Recommended for Igor 6.00.x and above Help Categories:
XML Note Tools
Last changed: 4 years 49 weeks ago
This package provides a set of commands that allow one to output text in XML format to the history, a text string, a wave note, or a notebook. It also provides a panel that allows easy XML formatting into a notebook.
| Version | Date | Links | Status | |
|---|---|---|---|---|
| IGOR.6.03.x-0.7 | 2008-May-19 | Recommended for Igor 6.03.x and above | Help | |
XOP.NET
Last changed: 3 years 27 weeks ago
This project shows how to call C# (.NET) code from an Igor XOP
| Version | Date | Links | Status | |
|---|---|---|---|---|
| IGOR.5.05.x-1.0 | 2009-Dec-11 | Recommended for Igor 5.05.x and above | Help | |
