| Preface | p. xi |
| Acknowledgments | p. xiii |
| IDL Basics | p. 1 |
| Introduction | p. 3 |
| What Is IDL? | p. 3 |
| IDL Resources | p. 4 |
| The IDL Software System | p. 5 |
| IDL Manuals and Books | p. 9 |
| Features of This Book | p. 9 |
| IDL Documentation from Research Systems | p. 10 |
| Other IDL Books | p. 11 |
| Interactive IDL | p. 13 |
| IDL Commands | p. 13 |
| Setting Up IDL | p. 13 |
| Starting and Exiting IDL | p. 18 |
| Interrupting and Restarting IDL Calculations | p. 19 |
| Simple IDL Statements | p. 20 |
| Getting Information | p. 22 |
| Variables | p. 23 |
| Arrays | p. 24 |
| Graphics | p. 27 |
| Summary | p. 30 |
| Exercises | p. 31 |
| IDL Scripts (Batch Jobs) | p. 33 |
| IDL Commands and Notation | p. 33 |
| A Note on Files and File Names | p. 33 |
| Making a Script | p. 34 |
| Journaling | p. 36 |
| Summary | p. 37 |
| Exercises | p. 38 |
| Integer Constants and Variables | p. 39 |
| IDL Commands and Notation | p. 39 |
| Decimal and Binary Notation | p. 39 |
| Byte Constants and Variables | p. 40 |
| Int Constants and Variables | p. 44 |
| Long Constants and Variables | p. 45 |
| Other Integer Types | p. 46 |
| Converting One Integer Type to Another | p. 46 |
| Summary | p. 47 |
| Exercises | p. 47 |
| Floating-Point Constants and Variables | p. 49 |
| IDL Commands and Notation | p. 49 |
| Development of Floating-Point Methods | p. 49 |
| Limitations of Floating-Point Arithmetic | p. 50 |
| Single-Precision Constants and Variables | p. 51 |
| Double-Precision Constants and Variables | p. 53 |
| Type Conversion | p. 54 |
| Rounding | p. 55 |
| Infinities and Not-a-Numbers | p. 55 |
| Summary | p. 57 |
| Exercises | p. 58 |
| Using Arrays | p. 59 |
| IDL Procedures and Functions | p. 59 |
| Creating Arrays | p. 59 |
| Arithmetic with Arrays | p. 60 |
| Index Arrays | p. 63 |
| Generating a Coordinate Array | p. 64 |
| Changing the Shape of an Array | p. 66 |
| Using Part of an Array | p. 69 |
| Expanding or Shrinking (Rebinning) an Array | p. 70 |
| Reversing an Array | p. 72 |
| Rotating or Transposing an Array | p. 74 |
| Shifting an Array | p. 74 |
| Summary | p. 75 |
| Exercises | p. 75 |
| Searching and Sorting | p. 77 |
| IDL Procedures and Functions | p. 77 |
| Finding Values in an Array That Satisfy a Logical Condition | p. 77 |
| Sorting an Array | p. 79 |
| Finding a Value in a Sorted Array | p. 80 |
| Summary | p. 81 |
| Exercises | p. 82 |
| Structures | p. 83 |
| IDL Commands and Keywords | p. 83 |
| Named Structures | p. 83 |
| Anonymous Structures | p. 87 |
| Hierarchical Structures | p. 89 |
| Additional Topics | p. 90 |
| Summary | p. 90 |
| Exercises | p. 90 |
| Input and Output | p. 91 |
| Printing Text | p. 93 |
| IDL Commands and Keywords | p. 93 |
| Free-Format Output | p. 93 |
| Formatted Output | p. 95 |
| Printing a Table | p. 97 |
| Output to Files | p. 98 |
| Summary | p. 99 |
| Exercises | p. 100 |
| Reading Text | p. 101 |
| IDL Commands and Keywords | p. 101 |
| Reading Text from the Terminal | p. 101 |
| Reading Text from Files | p. 102 |
| Summary | p. 104 |
| Exercises | p. 105 |
| Writing and Reading Binary Files | p. 107 |
| IDL Commands and Keywords | p. 107 |
| Writing Binary Files | p. 108 |
| Reading Binary Files | p. 110 |
| Exchanging Files with Fortran Programs | p. 113 |
| Summary | p. 113 |
| Exercises | p. 114 |
| Reading NetCDF Files | p. 115 |
| IDL Procedures and Functions | p. 115 |
| NetCDF Basics | p. 116 |
| Reading Attributes | p. 119 |
| A Real Data File | p. 122 |
| Summary | p. 124 |
| Exercises | p. 124 |
| Writing NetCDF Files | p. 127 |
| IDL Procedures and Functions | p. 127 |
| Writing a NetCDF File | p. 127 |
| Writing Parts of an Array | p. 131 |
| Summary | p. 132 |
| Exercises | p. 133 |
| Program Structure and Control | p. 135 |
| Procedures and Functions | p. 137 |
| IDL Commands and Keywords | p. 137 |
| Built-in Procedures and Functions | p. 137 |
| Writing Procedures | p. 139 |
| Writing Functions | p. 144 |
| Keyword Parameters | p. 147 |
| Optional Parameters | p. 149 |
| Summary | p. 149 |
| Exercises | p. 150 |
| Program Control | p. 153 |
| IDL Commands and Keywords | p. 153 |
| BEGIN... END Statements | p. 153 |
| IF... THEN... ELSE Statements | p. 154 |
| FOR Loops | p. 155 |
| WHILE Loops | p. 156 |
| Other Control Structures | p. 157 |
| Summary | p. 157 |
| Graphics | p. 159 |
| Line Graphs | p. 161 |
| IDL Commands for Plotting Line Graphs | p. 161 |
| Plotting Styles | p. 161 |
| Titles and Labels | p. 165 |
| Axes | p. 167 |
| Multiple Plots Per Page | p. 169 |
| Summary | p. 170 |
| Contour and Surface Plots | p. 171 |
| IDL Commands and Keywords | p. 171 |
| Contour Plots | p. 171 |
| Surface Plots | p. 175 |
| Shaded Surface Plots | p. 177 |
| Summary | p. 179 |
| Mapping | p. 181 |
| IDL Commands and Keywords | p. 181 |
| Drawing Maps | p. 181 |
| Contour Plots on Maps | p. 189 |
| Other Plots on Maps | p. 191 |
| Summary | p. 191 |
| Printing Graphics | p. 193 |
| IDL Commands and Keywords | p. 193 |
| Device Drivers | p. 193 |
| The PostScript Device | p. 194 |
| The PRINTER Device | p. 196 |
| Some Limitations of the PRINTER and PS Devices | p. 200 |
| Summary | p. 200 |
| Exercises | p. 200 |
| Color and Image Display | p. 201 |
| IDL Commands and Keywords | p. 201 |
| Color Basics | p. 201 |
| 24-Bit Devices | p. 205 |
| 8-Bit Devices | p. 215 |
| Printing Color Output | p. 216 |
| Summary | p. 217 |
| Animation | p. 219 |
| IDL Commands and Keywords | p. 219 |
| Background | p. 219 |
| Using XINTERANIMATE | p. 220 |
| Summary | p. 224 |
| Exercises | p. 224 |
| Applications | p. 225 |
| Statistics and Pseudorandom Numbers | p. 227 |
| IDL Commands and Keywords | p. 227 |
| Pseudorandom Numbers | p. 228 |
| Basic Statistics | p. 231 |
| Regression and Correlation | p. 233 |
| Curve Fitting | p. 233 |
| Significance Tests | p. 234 |
| Summary | p. 235 |
| Interpolation | p. 237 |
| IDL Commands and Keywords | p. 237 |
| Background | p. 237 |
| 1-D Interpolation | p. 237 |
| Bilinear Interpolation | p. 239 |
| Higher Dimensions | p. 242 |
| Irregular Grids | p. 243 |
| Summary | p. 246 |
| Fourier Analysis | p. 247 |
| IDL Commands and Keywords | p. 247 |
| Background | p. 247 |
| The IDL FFT | p. 252 |
| Fourier Filtering | p. 257 |
| Summary | p. 262 |
| Exercises | p. 262 |
| An IDL Style Guide | p. 263 |
| IDL Style Rules | p. 263 |
| Examples of Good and Bad Style | p. 266 |
| IDL Reserved Words | p. 269 |
| Example Procedures, Functions, Scripts, and Data Files | p. 271 |
| Example Procedures, Functions, Scripts | p. 271 |
| Data Files | p. 275 |
| Bibliography | p. 277 |
| Index | p. 279 |
| Table of Contents provided by Ingram. All Rights Reserved. |