| |
| |
Preface | |
| |
| |
Acknowledgments | |
| |
| |
| |
IDL Basics | |
| |
| |
| |
Introduction | |
| |
| |
| |
What Is IDL? | |
| |
| |
| |
IDL Resources | |
| |
| |
| |
The IDL Software System | |
| |
| |
| |
IDL Manuals and Books | |
| |
| |
| |
Features of This Book | |
| |
| |
| |
IDL Documentation from Research Systems | |
| |
| |
| |
Other IDL Books | |
| |
| |
| |
Interactive IDL | |
| |
| |
| |
IDL Commands | |
| |
| |
| |
Setting Up IDL | |
| |
| |
| |
Starting and Exiting IDL | |
| |
| |
| |
Interrupting and Restarting IDL Calculations | |
| |
| |
| |
Simple IDL Statements | |
| |
| |
| |
Getting Information | |
| |
| |
| |
Variables | |
| |
| |
| |
Arrays | |
| |
| |
| |
Graphics | |
| |
| |
| |
Summary | |
| |
| |
| |
Exercises | |
| |
| |
| |
IDL Scripts (Batch Jobs) | |
| |
| |
| |
IDL Commands and Notation | |
| |
| |
| |
A Note on Files and File Names | |
| |
| |
| |
Making a Script | |
| |
| |
| |
Journaling | |
| |
| |
| |
Summary | |
| |
| |
| |
Exercises | |
| |
| |
| |
Integer Constants and Variables | |
| |
| |
| |
IDL Commands and Notation | |
| |
| |
| |
Decimal and Binary Notation | |
| |
| |
| |
Byte Constants and Variables | |
| |
| |
| |
Int Constants and Variables | |
| |
| |
| |
Long Constants and Variables | |
| |
| |
| |
Other Integer Types | |
| |
| |
| |
Converting One Integer Type to Another | |
| |
| |
| |
Summary | |
| |
| |
| |
Exercises | |
| |
| |
| |
Floating-Point Constants and Variables | |
| |
| |
| |
IDL Commands and Notation | |
| |
| |
| |
Development of Floating-Point Methods | |
| |
| |
| |
Limitations of Floating-Point Arithmetic | |
| |
| |
| |
Single-Precision Constants and Variables | |
| |
| |
| |
Double-Precision Constants and Variables | |
| |
| |
| |
Type Conversion | |
| |
| |
| |
Rounding | |
| |
| |
| |
Infinities and Not-a-Numbers | |
| |
| |
| |
Summary | |
| |
| |
| |
Exercises | |
| |
| |
| |
Using Arrays | |
| |
| |
| |
IDL Procedures and Functions | |
| |
| |
| |
Creating Arrays | |
| |
| |
| |
Arithmetic with Arrays | |
| |
| |
| |
Index Arrays | |
| |
| |
| |
Generating a Coordinate Array | |
| |
| |
| |
Changing the Shape of an Array | |
| |
| |
| |
Using Part of an Array | |
| |
| |
| |
Expanding or Shrinking (Rebinning) an Array | |
| |
| |
| |
Reversing an Array | |
| |
| |
| |
Rotating or Transposing an Array | |
| |
| |
| |
Shifting an Array | |
| |
| |
| |
Summary | |
| |
| |
| |
Exercises | |
| |
| |
| |
Searching and Sorting | |
| |
| |
| |
IDL Procedures and Functions | |
| |
| |
| |
Finding Values in an Array That Satisfy a Logical Condition | |
| |
| |
| |
Sorting an Array | |
| |
| |
| |
Finding a Value in a Sorted Array | |
| |
| |
| |
Summary | |
| |
| |
| |
Exercises | |
| |
| |
| |
Structures | |
| |
| |
| |
IDL Commands and Keywords | |
| |
| |
| |
Named Structures | |
| |
| |
| |
Anonymous Structures | |
| |
| |
| |
Hierarchical Structures | |
| |
| |
| |
Additional Topics | |
| |
| |
| |
Summary | |
| |
| |
| |
Exercises | |
| |
| |
| |
Input and Output | |
| |
| |
| |
Printing Text | |
| |
| |
| |
IDL Commands and Keywords | |
| |
| |
| |
Free-Format Output | |
| |
| |
| |
Formatted Output | |
| |
| |
| |
Printing a Table | |
| |
| |
| |
Output to Files | |
| |
| |
| |
Summary | |
| |
| |
| |
Exercises | |
| |
| |
| |
Reading Text | |
| |
| |
| |
IDL Commands and Keywords | |
| |
| |
| |
Reading Text from the Terminal | |
| |
| |
| |
Reading Text from Files | |
| |
| |
| |
Summary | |
| |
| |
| |
Exercises | |
| |
| |
| |
Writing and Reading Binary Files | |
| |
| |
| |
IDL Commands and Keywords | |
| |
| |
| |
Writing Binary Files | |
| |
| |
| |
Reading Binary Files | |
| |
| |
| |
Exchanging Files with Fortran Programs | |
| |
| |
| |
Summary | |
| |
| |
| |
Exercises | |
| |
| |
| |
Reading NetCDF Files | |
| |
| |
| |
IDL Procedures and Functions | |
| |
| |
| |
NetCDF Basics | |
| |
| |
| |
Reading Attributes | |
| |
| |
| |
A Real Data File | |
| |
| |
| |
Summary | |
| |
| |
| |
Exercises | |
| |
| |
| |
Writing NetCDF Files | |
| |
| |
| |
IDL Procedures and Functions | |
| |
| |
| |
Writing a NetCDF File | |
| |
| |
| |
Writing Parts of an Array | |
| |
| |
| |
Summary | |
| |
| |
| |
Exercises | |
| |
| |
| |
Program Structure and Control | |
| |
| |
| |
Procedures and Functions | |
| |
| |
| |
IDL Commands and Keywords | |
| |
| |
| |
Built-in Procedures and Functions | |
| |
| |
| |
Writing Procedures | |
| |
| |
| |
Writing Functions | |
| |
| |
| |
Keyword Parameters | |
| |
| |
| |
Optional Parameters | |
| |
| |
| |
Summary | |
| |
| |
| |
Exercises | |
| |
| |
| |
Program Control | |
| |
| |
| |
IDL Commands and Keywords | |
| |
| |
| |
BEGIN... END Statements | |
| |
| |
| |
IF... THEN... ELSE Statements | |
| |
| |
| |
FOR Loops | |
| |
| |
| |
WHILE Loops | |
| |
| |
| |
Other Control Structures | |
| |
| |
| |
Summary | |
| |
| |
| |
Graphics | |
| |
| |
| |
Line Graphs | |
| |
| |
| |
IDL Commands for Plotting Line Graphs | |
| |
| |
| |
Plotting Styles | |
| |
| |
| |
Titles and Labels | |
| |
| |
| |
Axes | |
| |
| |
| |
Multiple Plots Per Page | |
| |
| |
| |
Summary | |
| |
| |
| |
Contour and Surface Plots | |
| |
| |
| |
IDL Commands and Keywords | |
| |
| |
| |
Contour Plots | |
| |
| |
| |
Surface Plots | |
| |
| |
| |
Shaded Surface Plots | |
| |
| |
| |
Summary | |
| |
| |
| |
Mapping | |
| |
| |
| |
IDL Commands and Keywords | |
| |
| |
| |
Drawing Maps | |
| |
| |
| |
Contour Plots on Maps | |
| |
| |
| |
Other Plots on Maps | |
| |
| |
| |
Summary | |
| |
| |
| |
Printing Graphics | |
| |
| |
| |
IDL Commands and Keywords | |
| |
| |
| |
Device Drivers | |
| |
| |
| |
The PostScript Device | |
| |
| |
| |
The PRINTER Device | |
| |
| |
| |
Some Limitations of the PRINTER and PS Devices | |
| |
| |
| |
Summary | |
| |
| |
| |
Exercises | |
| |
| |
| |
Color and Image Display | |
| |
| |
| |
IDL Commands and Keywords | |
| |
| |
| |
Color Basics | |
| |
| |
| |
24-Bit Devices | |
| |
| |
| |
8-Bit Devices | |
| |
| |
| |
Printing Color Output | |
| |
| |
| |
Summary | |
| |
| |
| |
Animation | |
| |
| |
| |
IDL Commands and Keywords | |
| |
| |
| |
Background | |
| |
| |
| |
Using XINTERANIMATE | |
| |
| |
| |
Summary | |
| |
| |
| |
Exercises | |
| |
| |
| |
Applications | |
| |
| |
| |
Statistics and Pseudorandom Numbers | |
| |
| |
| |
IDL Commands and Keywords | |
| |
| |
| |
Pseudorandom Numbers | |
| |
| |
| |
Basic Statistics | |
| |
| |
| |
Regression and Correlation | |
| |
| |
| |
Curve Fitting | |
| |
| |
| |
Significance Tests | |
| |
| |
| |
Summary | |
| |
| |
| |
Interpolation | |
| |
| |
| |
IDL Commands and Keywords | |
| |
| |
| |
Background | |
| |
| |
| |
1-D Interpolation | |
| |
| |
| |
Bilinear Interpolation | |
| |
| |
| |
Higher Dimensions | |
| |
| |
| |
Irregular Grids | |
| |
| |
| |
Summary | |
| |
| |
| |
Fourier Analysis | |
| |
| |
| |
IDL Commands and Keywords | |
| |
| |
| |
Background | |
| |
| |
| |
The IDL FFT | |
| |
| |
| |
Fourier Filtering | |
| |
| |
| |
Summary | |
| |
| |
| |
Exercises | |
| |
| |
| |
An IDL Style Guide | |
| |
| |
| |
IDL Style Rules | |
| |
| |
| |
Examples of Good and Bad Style | |
| |
| |
| |
IDL Reserved Words | |
| |
| |
| |
Example Procedures, Functions, Scripts, and Data Files | |
| |
| |
| |
Example Procedures, Functions, Scripts | |
| |
| |
| |
Data Files | |
| |
| |
Bibliography | |
| |
| |
Index | |