IDL, or Interactive Data Language, is a computer programming language primarily used for data analysis and data visualization. While it first appeared in This web site is about learning to program with IDL – Interactive Data Language. Numeric/graphics: IDL, Matlab, Octave Traditional programming languages: IDL. What is IDL? Interactive Data Language. Proprietary software distributed by .
|Published (Last):||13 January 2006|
|PDF File Size:||12.41 Mb|
|ePub File Size:||19.82 Mb|
|Price:||Free* [*Free Regsitration Required]|
It is popular in particular areas of science, such as astronomyatmospheric physics and medical imaging. IDL shares a common syntax with PV-Wave and originated from the same codebasethough the languages have subsequently diverged in detail. IDL is programinynumericaland interactive, and is commonly used for interactive processing of large amounts of data including image processing.
Coyote’s Guide to IDL Programming
The syntax includes many constructs from Fortran and some from C. The findgen function in the above example returns a one-dimensional array of floating point numbers, with values equal to a series of integers starting at 0.
Note that the operation in the second line applies in a vectorized manner to the whole element array created in the first line, analogous to the way general-purpose array programming languages such as APLJ or K would do it.
This example contains a divide by zero; IDL will report an arithmetic overflowand store a NaN value in the corresponding element of the y array the first onebut the other array elements will be finite. The NaN is excluded from the visualization generated by the plot command. As with most other array programming languages, IDL is very fast at doing vector operations sometimes as fast as a well-coded custom loop in Fortran or C but quite slow if elements need processing individually.
Hence part of the art of using IDL or any other array programming language, for that matter for numerically heavy computations is to make use of the built-in vector operations.
At LASP, David Stern was involved in efforts to allow scientists to test hypotheses without employing programmers to write or modify individual applications.
Introduction to IDL Programming
The first program in the evolutionary chain to IDL that Stern developed was named Rufus; it was a simple vector-oriented calculator that ran on the Progeaming It accepted two-letter codes that specified an arithmetic operation, the input registers to serve as operands, and the destination register. SOL was an array-oriented language with some primitive graphics capabilities.
In this release, the graphics supported by IDL were primarily Tektronix terminals and raster graphics displays. It took advantage of the VAX virtual memory and bit address space. Widgets were added to IDL inproviding event-driven programming with graphical user interfaces.
Iel first version of ENVIan application for remote sensing multispectral and hyperspectral image analysis written in IDL, was released in New object and pointer prograking, and limited object-oriented programming capabilities, were added to IDL in IDL has been applied widely in space science, for example in solar physics.
Inastronauts on board a Space Shuttle used IDL loaded on a laptop to study ultraviolet radiation. Effective 31 Octoberas a result of restructuring, that company became Exelis Visual Information Solutions. Some of these features, which make IDL very simple to use interactively, also cause difficulties when building large programs. The single namespace is particularly problematic; for example, language updates that progfaming new built-in functions have on occasion invalidated large scientific libraries.
Arrays are passed by reference, and this mechanism is an advertised feature of the language to pass data back out of a subroutine — in contrast, array slices are copied before being passed, so that data modifications do not flow back into array ranges after the subroutine exitsviolating the principle of least surprise.
Many historical irregularities survive from the early heritage of the language, requiring individual workarounds by the programmer. From Wikipedia, the free encyclopedia. Not to be confused with Interface description language. This article needs additional citations for verification. Please programinb improve this article by adding citations to reliable sources.
Unsourced material may be challenged and removed.
February Learn how and when to remove this template message. This programinf possibly contains original research. Please improve it by verifying the claims made and adding inline citations. Statements consisting only of original research should be removed.
September Learn how and when to remove this template message. August Learn how and when to remove this template message.
Retrieved 30 September List of numerical analysis software Comparison of numerical analysis software. Retrieved from ” https: Image processing software Array programming languages Earth sciences graphics software Numerical programming languages Plotting software.
Articles needing additional references from February All articles needing additional references Articles that may contain original research from September All articles that may contain original research Articles containing potentially dated statements from All articles containing potentially dated statements Articles that may contain original research from August Articles containing potentially dated statements from February Programig Read Edit View history.