Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Practical IDL programming : creating effective data analysis and visualization applications
Gumley L., Morgan Kaufmann Publishers Inc., San Francisco, CA, 2002. 508 pp. Type: Book (9781558607002)
Date Reviewed: May 31 2002

The Interactive Data Language (IDL) is a programming language both for building technical applications and for visualizing large data sets interactively. IDL has its roots in the astronomical and space sciences, but is now used in a large variety of supercomputing applications. IDL application programs are written in a syntax that, at first glance, resembles modern versions of Fortran, with an emphasis on optimized array operations. Visualization, data analysis, and graphical user interface (GUI) development are supported by a rich variety of built-in routines, which can be used in a flexible way due to optional keywords.

Chapters 2 to 4 of this book are concerned with building technical applications. Gumley begins by explaining the fundamentals of IDL, mainly restricted to the interactive mode. He presents short examples illustrating the various aspects of the language, especially the powerful array operations. Special emphasis is placed on redefining the type and the size of variables. Chapters 3 and 4 move on to explain how to write more complicated programs. First, the author discusses control structures, parameter-passing mechanisms, error handling, and so on. Special attention is paid to keyword arguments (instead of positional arguments), and to checking for the existence of optional parameters. The next chapter covers input and output in great detail. Like traditional languages, IDL can handle formatted ASCII files and unformatted binary files, but it also allows reading and writing of files in a platform-dependent style. This chapter also covers the built-in support for some standard scientific data formats, such as netCD and HDF files used in the geographical science, medical imaging, astronomy, and space science communities.

As soon as a new data set is available, it can be visualized in a variety of different ways. Chapters 5 to 8 are concerned with generating graphical output. First, the author describes the device-oriented concept, including screen displays running under different operating systems, Postscript, and so on; display modes and color modes are also explained. The next chapter is concerned with plotting data. It begins by describing the types of plots that can be created, and the different coordinate systems that are available. The main part of the chapter discusses how to customize plots in various ways, especially the use of techniques for creating contour, mesh, and shaded surface plots. The chapter concludes by outlining the powerful constructs for plotting geographic data. These constructs embrace keywords to select specific projections, as well as standard procedures to plot continents and countries.

In chapter 7, the author describes the flexibility of IDL in reading, manipulating, and displaying digital images. He explains the difference between PseudoColor and TrueColor, and how to use them. The chapter also contains a discussion of scaling techniques. It concludes with a presentation of a complete IDL program to correctly display an image, based on the characteristics of the image and of the current graphic device. The next chapter discusses the language constructs for saving and printing graphical output. It explains the differences between bitmap and vector output, the process of capturing the contents of a graphics window to a bitmap output file, and creating publication-quality Postscript output.

The final chapter reviews the creation of IDL applications with GUIs. It presents tools to create and arrange widgets, and to change their attributes; it also considers event handling in detail. A large part of this chapter consists of a complete example that allows a user to interactively manipulate a digital image in different ways.

In this well-structured and easy-to-follow book, the author distills what he feels is important for an IDL programmer to know. He achieves this by instructive comments and emphasized tips. A large number of examples of various sizes are included in the text. They have in common the fact that the reader can run them immediately, since the source code of the programs is available online. In the next edition, however, exercise sections should be also included to make the book better suited for classroom use. Overall, I can recommend the book to everyone interested in analyzing and visualizing large data sets effectively. Some knowledge of a procedural language would be helpful.

Reviewer:  H. J. Schneider Review #: CR126107 (0207-0350)
Bookmark and Share
  Featured Reviewer  
 
Idl (D.2.2 ... )
 
 
Interactive Environments (D.2.6 ... )
 
 
Software Support (I.3.4 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Idl": Date
The interface description language: definition and use
Snodgrass R. (ed), Computer Science Press, Inc., New York, NY, 1989. Type: Book (9789780716781981)
Oct 1 1990

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy