IGOR XOP 6 Toolkit Reference Manual
Total Page:16
File Type:pdf, Size:1020Kb
IGOR XOP TOOLKIT REFERENCE MANUAL Version 6.40 WaveMetrics, Inc. Copyright This manual and the Igor XOP Toolkit are copyrighted by WaveMetrics with all rights reserved. Under copyright laws it is illegal for you to copy this manual or the software without written permission from WaveMetrics. WaveMetrics gives you permission to make unlimited copies of the software on any number of machines but only for your own personal use. You may not copy the software for any other reason. You must ensure that only one copy of the software is in use at any given time. Notice All brand and product names are trademarks or registered trademarks of their respective companies. Manual Revision: October 27, 2015 (6.40) © Copyright 2015 WaveMetrics, Inc. All rights reserved. WaveMetrics, Inc. PO Box 2088 Lake Oswego, OR 97035 USA Voice: 503-620-3001 FAX: 503-620-6754 Email: [email protected], [email protected] Web: http://www.wavemetrics.com/ Table of Contents Chapter 1 - Introduction to XOPs About This Manual .............................................................................................. 1 What is an XOP?.................................................................................................. 2 Who Can Write an XOP?..................................................................................... 2 A Brief History of Igor ........................................................................................ 2 XOP Toolkit 6.4................................................................................................... 4 Macintosh and Windows XOPs........................................................................... 4 Development Systems.......................................................................................... 4 Activating XOPs Using the Igor Extensions Folder............................................ 5 Installing the XOP Toolkit................................................................................... 5 XOP Toolkit Overview........................................................................................ 6 XOPSupport......................................................................................................... 9 The Sample XOPs................................................................................................ 9 How Igor Integrates XOPs................................................................................... 11 The Basic Structure of an XOP............................................................................ 13 Preparing to Write an XOP.................................................................................. 15 Technical Support ................................................................................................ 15 Chapter 2 - Guided Tour Overview.............................................................................................................. 17 Activating XOPs .................................................................................................. 17 What We Will Do ................................................................................................ 18 Installation ........................................................................................................... 18 Building SimpleFit............................................................................................... 18 Testing SimpleFit................................................................................................. 20 Creating a New Project ........................................................................................ 21 Building the New Project in Xcode 6 .................................................................. 23 Changing the Help ............................................................................................... 25 Changing and Compiling the Code...................................................................... 26 Testing SimpleGaussFit....................................................................................... 27 Touring the Code ................................................................................................. 29 Where To Go From Here ..................................................................................... 30 Chapter 3 - Development Systems Overview.............................................................................................................. 31 XOPs in Xcode .................................................................................................... 31 XOP Projects in Xcode ........................................................................................ 32 Xcode 3 Project Settings...................................................................................... 33 Xcode 4 Project Settings...................................................................................... 33 Xcode 6 Project Settings...................................................................................... 34 Debugging an XOP in Xcode 6 ........................................................................... 40 Converting an Old Xcode Project........................................................................ 41 XOPs in Visual C++ 2008 through 2013............................................................. 43 XOPs in Visual C++ 2015 ................................................................................... 43 XOP Projects in Visual C++ 2015....................................................................... 43 Visual C++ 2015 Project Settings........................................................................ 44 Visual C++ 2015 XOPSupport Warnings............................................................ 46 Debugging a Visual C++ 2015 XOP ................................................................... 46 Converting an Old Visual C++ Project................................................................ 47 Chapter 4 - Igor/XOP Interactions Overview.............................................................................................................. 49 XOP Resources .................................................................................................... 51 How Igor Calls an XOP ....................................................................................... 53 Basic XOP Messages ........................................................................................... 54 Messages for XOPs that Save and Load Settings ................................................ 56 XOP Errors .......................................................................................................... 57 XOPs and Preferences ......................................................................................... 61 XOPs and Experiments........................................................................................ 61 The IORecHandle ................................................................................................ 62 Messages, Arguments and Results....................................................................... 63 Handling Recursion ............................................................................................. 64 Data Sharing ........................................................................................................ 65 Igor/XOP Compatibility Issues............................................................................ 66 Chapter 5 - Adding Operations Overview.............................................................................................................. 69 The XOPC 1100 Resource................................................................................... 70 Choose a Distinctive Operation Name................................................................. 72 Operation Handler................................................................................................ 72 Creating Starter Code........................................................................................... 72 Operation Parameters........................................................................................... 73 The Command Template ..................................................................................... 74 Optional Parameters............................................................................................. 75 Mnemonic Names ................................................................................................ 77 The Runtime Parameter Structure........................................................................ 77 Qualified Keywords............................................................................................. 80 String Parameters................................................................................................. 81 Name Parameters ................................................................................................. 81 Double Name Parameters .................................................................................... 82 Wave Parameters ................................................................................................. 82 Wave Range Parameters ...................................................................................... 82 VarName Parameters ........................................................................................... 83 Data Folder Reference Parameters....................................................................... 84 DataFolderAndName Parameters .......................................................................