IDL Training Courses - IDL Programming Courses - Exelis VIS 1 PDF

Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

1/10/14

IDL Training Courses - IDL Programming Courses | Exelis VIS

Events & Training

Course Calendar

Tradeshows

IDL COURSE DESCRIPTIONS


Exelis Visual Information Solutions offers introductory,
intermediate and advanced courses in IDL. Classes are held
year round and can be customized to meet your unique
requirements. Our expert instructors focus on your goals and
how you can best utilize our tools to achieve them.

AVAILABLE COURSES

Application Development with IDL (IDL 300 - 3 days)

IDL

Scientists, engineers and developers can strengthen their skills in employing IDL as an application
programming language, not just as a command-line tool. The major topics covered in this course
include widget programming, data visualization with Object Graphics, object-oriented programming
and external linking. These topics, though useful in their own right, are also used to demonstrate
techniques for building effective, efficient IDL programs. Take this course and learn how to write
better code that can be used by others.
Prerequisite: Experience with IDL and another programming language, or completion of
Introduction to IDL or Scientific Programming with IDL.
The IDL Workbench

The IDL Object Graphics System

Eclipse terminology
Projects
Editor tools
Keyboard shortcuts and Content Assist
Breakpoints and Debug perspective

Member classes
Object lifecycle
Object Graphics hierarchy
The Object Graphics programming model
Coordinate systems and coordinate

Configuring preferences

transformations
XOBJVIEW helper tool
Interfacing widget events with object
methods
Interactivity and resizing in widget programs
Using a Trackball object

Fundamentals Review

Arrays
Structures, lists and hashes
Pointers
Calling mechanism and path
The COMPILE_OPT statement
General Programming

Testing positional and keyword parameters


Keyword inheritance
Error handling with CATCH
Namespace
SAVE files and the IDL Virtual Machine
Widget Programming in IDL

Interface planning and design


IDL widget toolkit
Widget hierarchy
The IDL widget programming model
XMANAGER and event structures
Event handling schemes
State variable
Cleanup routine
Widget geometry
Draw widget interaction
Multiple top-level bases

Object-Oriented Programming in IDL

Overview of object-oriented programming


Defining classes in IDL
Inheritance
Creating, interacting with and destroying
objects
Resource management
External Linking

Overview of external linking


Linking options in IDL
Using CALL_EXTERNAL, with examples
Resources

Web sites: Exelis VIS and independent


users
The Exelis VIS user community
The comp.lang.idl-pvwavenewsgroup
Books on IDL and programming

View our Classroom Training Calendar

Scientific Programming with IDL (IDL 200 - 3 DAYS )


www.exelisvis.com/Learn/EventsTraining/IDLCourseDescriptions.aspx

IDL
1/4

1/10/14

IDL Training Courses - IDL Programming Courses | Exelis VIS

IDL has long been used by scientists as an interactive tool for tackling research problems. Although
it's easy to learn the basics of IDL, most scientists do so by trial and error under the pressure of
completing a deliverable. Because of this, even long-time IDL users aren't always familiar with many
of the features and programming aids built into IDL. Scientific Programming with IDL is a three-day
course on programming with IDL. In the course, we focus on programming methods and best
practices in IDL. We also explore techniques for data access, analysis, visualization and output that
make IDL useful for scientists in research settings.
Prerequisite: Completion of Introduction to IDL or equivalent experience; many of the topics
covered in this course wont resonate with someone who hasnt used IDL. This course is directed in
particular at IDL users who want a refresher, or who want to see the right way to program in IDL.
The IDL Workbench

Overview of the Workbench layout


Using projects: organization, path
management
Helpful features: keyboard shortcuts, code
templates, Content Assist
The Workbench Code Profiler

Data Access

Reading text files with READ_ASCII,


READF, READS and IDL astrolib routines
An introduction to scientific data formats:
HDF4/5, HDF-EOS and netCDF
Data Visualization

Language

Programmatic visualization and annotation


Displaying/positioning multiple plots per
window
Embedded formatting commands: Greek
characters, super/subscripts
Font systems
Adding plot legends and colorbars
Using LABEL_DATE for complex time axes

Type hierarchy and promotion


Type behaviors: byte, integer and floatingpoint
Array ordering and indexing
Structures, lists and hashes
Using WHERE, VALUE_LOCATE and
HISTOGRAM
Programming Techniques

Structured modular programming


Main programs vs. procedures vs. functions:
which to use?
Programming style conventions
The COMPILE_OPT statement
Parameter passing
Checking, testing and protecting parameters
Calling mechanism
Error handling
Using breakpoints
Keyword inheritance
Documenting code with IDLdoc

Map Projections

Creating a projection
Displaying data on projection
Reprojection
Vector and Raster Output

Output to PostScript (RGB and CMYK) and


image file formats (JPEG, PNG, TIFF, GIF)
Headless plotting
Batch processing of graphics
Anti-aliased fonts in raster graphics
Making movies: AVI, Quicktime, animated
GIF
Tips on making graphics for presentations
and journal articles

Code Performance

Vectorization
Order of operations
Row versus column array access
Loop ordering
Array creation and assignment
Variable type
Memory management techniques

Linking

Building shared objects in C or Fortran


CALL_EXTERNAL syntax and examples
Resources

Web sites: Exelis VIS and independent


users
The Exelis VIS user community
The comp.lang.idl-pvwavenewsgroup
Books on IDL and programming

View our Classroom Training Calendar

Introduction to IDL (IDL 100 - 3 days)

IDL

Introduction to IDL is a three-day course that provides scientists, engineers and developers with a
working knowledge of the IDL programming language. Through a mixture of lectures, instructor-led
exercises and challenge problems, this course significantly shortens the startup time for learning
IDL, increasing efficiency. The course is focused on using IDL for data exploration, visualization
and analysis, with examples from astronomy, atmospheric science, remote sensing and medical
imaging. This course is intended for new users of IDL; however, experienced users will also benefit
from interacting with our veteran instructors. No knowledge of IDL is required.
Prerequisite: Basic operating knowledge of computers required; programming experience (in IDL
or another language) helpful.
IDL System Basics

The IDL command line and workbench


Using projects
Setting and changing the working directory
The IDL Help system
Graphics Systems and Color

Graphics systems in IDL


Using Graphics: references, properties, and
methods
The RGB color system
Specifying colors: directly and with color

www.exelisvis.com/Learn/EventsTraining/IDLCourseDescriptions.aspx

File Access

File handling routines


Reading/writing text/binary files
Working with supported standard formats
The SAVE file format
Analysis

Overview of IDLs standard libraries


IDL Math & Stats: the IMSL libraries
Examples of interpolation, curve fitting,
signal processing, and image processing
Map Projections (optional)

2/4

1/10/14

IDL Training Courses - IDL Programming Courses | Exelis VIS

Specifying colors: directly and with color


tables
Data Visualization

Line, surface and contour plots


Displaying and manipulating images
Combining visualization types
Using color
Text and line annotations
Output to PostScript, PDF, and standard
image file formats
Data Structures

Map Projections (optional)

Creating a projection
Warping data to a projection
Resources

Web sites: Exelis VIS and independent


users
The IDL user community
The comp.lang.idl-pvwavenewsgroup
Books on IDL and programming

View our Classroom Training Calendar

Variable types and type behavior


Arrays and array indexing
The WHERE function
Lists, hashes, and structure
Strings and string processing
System variables
Programming

Program types
Compiling, debugging, and running programs
The COMPILE_OPT statement
Using parameters: positional and keyword
Operators and control statements
IDLdoc documentation system

Extending ENVI with IDL (ENVI 250 - 4 days )

IDL

Extending ENVI with IDL is a four day course for remote sensing scientists, engineers and
developers who wish to incorporate their own algorithms and workflows into ENVI. This course
provides an overview of the programming constructs available in IDL, the language in which ENVI is
written, as well as the tools necessary for a user to extend ENVI with IDL, including ENVI library
routines, custom file readers and writers, batch mode programs and user functions. Students
should be familiar with ENVI, ideally having taken Exploring ENVI. Several ENVI programs are
developed in class. Though it is helpful to have programming experience in IDL, familiarity with
basic programming topics in any language is suitable.
Prerequisite: Exploring ENVI (or equivalent experience) and familiarity with basic programming.
IDL System Basics

The IDL Workbench


Statements and programs
Command-line versus programmatic use
The IDL Help System
A Tour of IDL
Data Structures

Variable type
Arrays and array operations
Dynamic typing and type behaviors
Structures
Objects
Lists & Hashes
System variables
Programming Syntax

Operators and control statements


The COMPILE_OPT statement
Program types
Using positional and keyword parameters
Parameter passing
Path
Calling mechanism
Debugging with the Workbench
Error handling
IDL batch scripting
Namespace
Comments
Documentation
File Routines

Routines for locating and accessing files


Reading text and binary files
Object-based file readers
Scientific data formats and high level file
access
Band and Spectral Math

Using IDL operators


Constructing expressions

www.exelisvis.com/Learn/EventsTraining/IDLCourseDescriptions.aspx

ENVI Procedural Library Routines

Opening and managing files


Querying file metadata
Reading data from files
Writing ENVI-format files
Handling Vector data
ENVIs Object API

Application control
Data input and output
Metadata access
Rasters, Layers, Views, and Portals
Tiling and tile based processing
ENVI Batch Programming

Running ENVI in headless mode


The ENVI_DOIT wrapper
Automating multiple processes
File and string processing to support batch
processing
ENVI Extensions

Adding extensions to the toolbox


ENVI Extension basics
Using the ENVI Extension Wizard
Packaging and distributing extensions
ENVI GUI Programming

The ENVI widget toolkit


Using WIDGET_AUTO_BASE and
AUTO_WID_MNG
Using IDL widgets in ENVI programs
Getting access to the widget hierarchy of the
main ENVI application
Resources

Web sites: Exelis VIS and independent


users
The Exelis VIS user community
The comp.lang.idl-pvwave newsgroup
Books on IDL and programming

3/4

1/10/14

IDL Training Courses - IDL Programming Courses | Exelis VIS


Constructing expressions

View our Classroom Training Calendar


Share
Share
Share

www.exelisvis.com/Learn/EventsTraining/IDLCourseDescriptions.aspx

4/4

You might also like