IDL Programming Techniques, 2nd Edition
IDL Programming Techniques Now Available in PDF Format
As of December 2006, IDL Programming Techniques, 2nd Edition is now available for downloading as a PDF file.
Notes on the First Edition
When I wanted to draw my first line plot in IDL (Interactive Data Language from Research Systems, Inc.) over 10 years ago, I had to read through the entire manual--twice--to understand how it was done. Although the documentation has changed dramatically in the intervening years, it is still difficult for someone new to IDL to sift through the documentation, separating the twenty percent of the information they need daily from the eighty percent they need infrequently.
What I set out to do in this book is to describe by example those IDL programming techniques I find essential in my own daily programming tasks. The book has been refined over so many years I feel confident predicting you will find described within its pages over eighty percent of what you ever want to do in IDL.
Another goal for this book was to demonstrate for fellow scientists who may have taught themselves computer programming how to write an "elegant" IDL program. I've been teaching people how to use IDL for almost as long as I have been using it myself. I've seen a lot of programs that "work", but are otherwise poorly written. (Alas, many of these programs have been my own.) These programs are difficult to extend, modify, and maintain.
In this book I wanted to lay out a handful of simple IDL programming principles that would allow users to write elegant programs with resizeable graphics windows, easy and automatic access to PostScript, GIF, and JPEG file output, intelligent use of color, and with intuitive graphical user interfaces. Moreover, I wanted to describe an object-oriented programming style that makes programs easy to maintain, modify, and extend over time. These principles (and especially the information on writing widget programs, or programs with graphical user interfaces) can be found nowhere else.
More than anything, I wanted this book to be the one I wish someone had given me when I was learning to use IDL all those years ago.
Notes on the Second Edition
At the time I wrote the First Edition of IDL Programming Techniques everyone was working on 8-bit display devices with 256 colors. These days, most of us are working on 24-bit display devices that support millions of colors. Yet we still want to write code that works on both, and many of us prefer to handle things like color tables in the same way we always have. The programming chapters in this Second Edition of the book have been completely re-written to reflect this different approach to many programming problems. My goal is to teach people how to write device-independent (it shouldn't matter to your program if you are sending graphic output to the display, a PostScript file, or directly to the printer) and color-decomposition-state independent (it shouldn't matter if you have an 8-bit or 24-bit display) programs.
In addition to re-writing all of the programming chapters, I have expanded other material already in the book, and I have added another 100+ pages about new features found in IDL 5.3 and IDL 5.4 beta. For example, there is now a long chapter on creating IDL objects, which have changed everything about the way I write IDL programs these days. I've also added a number of new IDL programs to my programming library for you to use with this book, including new programs for displaying your own graphics in resizeable graphics windows and for easy user configuration of the PostScript and Printer devices.
As with the First Edition of the book, my goal is for you to find eighty percent of what you ever what to do in IDL within the pages of this book.
What People Are Saying About the Books
You may be interested in comments I've collected about the books from people who have been using the First and Second Editions of IDL Progamming Techniques. Here are a few comments from recent e-mail and from reader reviews on Amazon.com.
Learn More About IDL Programming Techniques
To learn more about IDL Programming Techniques, Second Edition, please download (in PDF file format) the Table of Contents (42K) or Chapter 9 entitled Writing an IDL Graphics Display Program (174K). The sample chapter discusses how create a device-independent, color-depth independent graphical display program. Among the things you will learn is the proper way to create a histogram plot of an image. You will need Adobe Acrobat Reader 3.01 to read the PDF files. You can download the latest free Acrobat Reader from Adobe Systems.
IDL Program Files Available
The book refers to a number of IDL program files. These files are available for downloading via anonymous ftp. If you like, you can download a compressed zip file (215K) version of the program collection. For best results, extract the program files into a coyote directory, located somewhere in your IDL path. I recommend you put the coyote directory under the main IDL directory.
Additional IDL Programming Help
I like to answer IDL questions. And I especially like to answer questions from people who have purchased a book from me or taken an IDL programming course. Please feel free to contact me and I'll try to answer your question as time and work permit. If you feel like you could use more personalized attention, or work pressure is such that you would like to have my undivided attention for a period of time, you may be interested in a short-term consulting agreement. These can be structured in a variety of ways to meet your specific needs. Please contact me.
Other IDL Book Recommendations
Check out the IDL Book Recommendations page for other books that I've found helpful in my IDL programming.
Ordering Information
The Second Edition of IDL Programming Techniques is available now. The book costs $80. If you are ordering several copies of the book, contact me before ordering. I have been known to give quantity discounts in moments of weakness. If you are a student, I sometimes have slightly used copies of the book that I sell for $65. It never hurts to ask. Libraries and bookstores also qualify for special discounts.
When available, you can use the secure on-line book order form to order your copy, or simply fax your order to 970-221-4762. I can accept VISA, MasterCard, and American Express credit cards. If you live in the United States or Canada, you can order via our toll free order number at 1-888-461-0155. Numerous bookstores will stock this book, including Amazon.com and Barnes and Noble On-Line. It is also available from Research Systems. It's ISBN number is ISBN 0-9662383-2-X. For additional information, please contact us directly.
Books in the US and Canada are shipped UPS Ground unless you indicate otherwise. Shipping costs will be in the range of $6-$12. Books are shipped to Europe and the rest of the world via Air Mail unless you specifically request another carrier. Books shipped outside the US and Canada take about 7-10 days to arrive. Shipping costs to Europe are normally $20.00, while it may cost as much as $25 to get a book to Australia and the Pacific Rim. Most books are shipped the day the order arrives.
I realize the book is expensive. Partly this is because of the way I choose to produce it. I make small printing runs so I can keep the book continually up-to-date and accurate. I print on high-quality, heavy paper because I don't want the book to disintegrate in your hands. If I've done my job well, you will be using this book. A lot. I can't tell you it's absolutely worth the money, but I can tell you I've never heard anyone who bought and used the book say it was overpriced. If nothing else, I think I can guarantee you will save at least the price of the book in reduced aggravation costs alone. And if you don't, send the darn thing back. I'll return your money.
Last Updated 22 February 2009


