IDL

IDL is the trusted scientific programming language used across disciplines to create meaningful visualisations out of complex numerical data.

 

From small scale analysis programs to widely deployed applications, IDL provides the comprehensive computing environment you need to effectively get information from your data.

Discover What's in Your Data

IDL 8 introduces significant improvements to simplify your data analysis and visualisation workflow. New graphic functions are more powerful, making it easy to produce dynamic, presentation-quality, visual representations of your data for display and publication. In addition, the core IDL programming language is now easier to use so you can create programs and applications faster than ever before. And, the IDL 8 workbench programming environment has been streamlined so it's easier to create small programs and large-scale applications.

New Graphics System for Data visualisation

To better understand your complex numerical and statistical data, you need a programming tool that allows you to easily produce meaningful, sophisticated visualisations of your data. The IDL graphic functions introduced in IDL 8 combine the advantages of the popular, visually appealing object graphics with the programming simplicity of direct graphics, giving you the ability to quickly produce presentation-quality results.

Whether you're creating 2-dimensional plots, graphs, maps, and image displays or complex, interactive 3-dimensional representations, IDL 8 allows you to quickly make on-the-fly adjustments to individual graphic elements without reprogramming or regenerating your entire visualisation. These interactive and dynamic new capabilities will save you time and effort, while allowing you to produce the high quality output that you need.

The IDL graphics include:

  • New functions for plots, surfaces, contours, images, maps, and more
  • Capability to enter multibyte characters (Chinese, Japanese, and Korean) in IDL graphics text annotations
  • Programmatic ability to create and modify visualisations with an intuitive syntax
  • Improved mapping tools that include better symbology and resolution
  • Ability to interactively manipulate and modify properties of visualisations
  • Resizable graphics windows that automatically scale the visualisation
  • Easy-to-use colors, line styles, symbols and annotation, including TeX-like formatting for math and Greek characters
  • Easy programmatic or interactive output to a variety of standard formats; e.g., PNG, TIFF, JPEG, GIF, EPS, and PDF

kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
The IDL 8 language powering the IDL graphics system makes it easy to create dynamic graphic visualisations, ranging from 2-dimensional plots, graphs, maps, and image displays to complex, interactive 3-dimensional representations. Here, IDL code was used to visualise a 3-dimensional surface plot of Legendre Polynomials.

Enhanced, Expanded Programming Language

IDL has always been a popular choice among scientists and application developers because it's easy to learn, easy to use, and requires fewer lines of code than most programming languages. In IDL 8, the core language has been enhanced to make developing programs and applications fast and easy.

The enhanced IDL 8 language introduces many improvements to help you get from data to discovery with your complex data easier and faster than before. New programming features, including additional data types, control structures, and a simplified syntax, make it easier to code your programs and applications while requiring even fewer lines of code. In addition, IDL 8 is fully compatible with code written in previous releases, so you don't need to recreate your programs or visualisations.

New language features include:

  • List and hash containers that allow you to manage variables consisting of different data types
  • Negative array indices that allow subscripting from the end of an array
  • Improved tools for handling empty arrays, sparse arrays, and array concatenation
  • FOREACH operator that iterates over the elements in an array, list, hash or structure
  • Automatic garbage collection for simplified memory management
  • Operator overloading on object methods that allows for new definitions for IDL operators and routines such as PRINT and HELP

File and output support

IDL has a history of supporting many file types for both input and output. With so many supported file types, you can easily access the wide variety of data available to you and output your work to share with colleagues in the format(s) they are most accustomed to. An example of what you can do with some of the new supported file types in IDL 8 are:

  • Write your image files to either an .mp4 or .avi video file with the ability to inclue a soundtrack
  • Read and write GRidded Binary (GRIB) 1 and GRIB 2 file
  • Upload IDL graphic results to Google Maps™ by saving files as Keyhole Markup Language (KML) or KMZ files (ZIP files containing KML and image files)
  • Much more

kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk

In the example above, six lines of IDL code are used to sharpen an image of fungus, display the before and after images, and save the sharpened image to a directory.

The Power of IDL Analysis

IDL 8 provides you with a powerful and robust analysis engine, so you can get the specific statistical and numerical information you need from your data.

Image Processing and Map Projections with IDL

If you need to convert raw images to information, IDL contains an extensive library of image processing and analysis routines. IDL alllows you to extract useful information from nearly any type of digital image with tools for transforming image geometry, mapping, masking and statistics, warping, analysing regions of interest, and contrasting and filtering.

Math and Statistical Routines in IDL

If you need to quickly add advanced mathematical and statistical functionality to an IDL application, the IDL Advanced Math and Stats Module is an add-on solution that combines advanced data visualisation and analysis capabilities with the comprehensive mathematical and statisical routines of the IMSL™ C Numerical Library - a set of pre-written mathematical and statistical algorithms that can be embedded into your program.

Simplified, More Intuitive Development Environment

If you are creating ad hoc visualisations or engineering large, widely deployed applications, you need a programming environment that is intuitive so you can produce professional results as quickly as possible. The new development environment in IDL 8 is simple to navigate and makes advanced, modern programming tools easy to find and readily available.

The IDL workbench interface is now simplified and streamlined, allowing you to create visualisations on-the-fly or develop feature-rich scientific applications to distribute commercially or to your colleagues. Regardless of your application, IDL 8 provides the feature-rich development tools you need, allowing you to easily access the scientific visualisation and data analysis power you've come to depend on from IDL.

The updated IDL workbench provides you with:

  • A simplified interface with three main views for the editor, project explorer, and integrated console with command line
  • New features for inserting code templates in the editor and display of the current working directory
  • A redesigned toolbar with buttons for the most important file management, editor, and debug features
  • The IDL Help System, now a robust, example-based experience that helps you solve specific tasks. Thumbnail examples, text links, and a visual navigation paradigm all make finding help for your problems fast and easy

kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
IDL 8 has an intuitive interface that provides easy access to the programming tools and buttons you use most.

IDL Modules

The IDL graphics system is powered by the intuitive IDL language syntax, giving you the flexibility to create the high quailty graphics you need to interpret your data, or share production-quality results with colleagues. And, because IDL is easy-to-use, you can start producing powerful graphics quickly and easily.