Application Development in IDL I

Location:      NCNR, Room B-100
Date:            February 28-March 2, 2005

Class and meeting photos

IDL , which stands for the Interactive Data Language, is a high-level programming language that has proven useful in the visualization and analysis of various types of data sets, including neutron scattering data.  One of the advantages of IDL is that it combines strong numerical processing and visualization capabilities with an extensive user interface toolkit.  In this three-day training session, an overview of the capabilities of IDL will be presented along with an introduction to the development of applications using GUIs (graphical user interfaces).

This is an interactive training session so each attendee will be writing programs at his/her own workstation or laptop.  Before the course we will help you to configure your computer to run IDL if you do not already have a license.  You will also need to load a number of programs onto your computer prior to the class. I will send a message to everyone taking the course to let you know where to download these programs.  We are limiting the course to eight individuals.  Due to the limited number of attendees, please sign up early if you are interested.  This training session counts for formal training.

Course documentation (PDF-2.2 MB)
This course documentation is going to be followed quite closely during the class. You can view the documentation here if you wish but you will be receiving a bound copy when you arrive for the class.

You can download all of the examples that are discussed in the book from the following link.
Course programs (196 KB)

If you are interested in taking this course and/or have any questions, please contact Rob Dimeo (ext. 8135).

Outline of material covered

IDL overview

variables (scalar, array, integer, float, double, etc.)
control statements (if...then..., case,, for, etc.)
procedures and functions
keywords and parameters
procedural programming

Beyond the fundamentals

animating data
optimizing code for speed
analyzing data/curve fitting

Widget programming and application development

event-driven programming
graphical user-interfaces
bases, buttons, sliders, text fields, event handlers, cleanup routines
data visualization
using the mouse to interact with graphics
distributing your application to be used with the IDL Virtual Machine
tying it all together in a multi-component application
plugging your application into the DAVE framework

Back to IDL Training page