idl.gif (4195 Byte)

analysis.jpg (9607 Byte)

Back

Back

 

Data Analysis
  • IDL includes a rich library of proven math, statistics, image processing and signal processing routines to help you analyze your data, including many of the best algorithms from Numerical Recipes and the LAPACK numerical library.
  • Add your own specialized routines to IDL's library by writing procedures and functions much more quickly than you could in C or FORTRAN. IDL's simple syntax, dynamic data typing and array-oriented operations make adding routines easy.
  • Enjoy the performance of optimized C for array operations in IDL on any system. On supported multi-processor systems, your numerical computations will automatically take advantage of multiple CPUs to crunch through huge datasets quickly.
  • Leverage your investment in existing code written in other languages by calling external libraries from IDL or calling IDL as a subroutine library or graphics engine from another application.

Click on the data analysis categories below for more information.




Math and Statistics

  • IDL includes a complete set of mathematical operators and elemental functions as well as special and transcendental functions, optimization methods and routines for differentiation and integration of uni-, bi-, and trivariate functions.
  • Many core mathematical operations are optimized to use multiple threads to speed up processing on multi-processor systems.
  • IDL provides complete linear algebra functionality, including the computation of eigenvectors and eigenvalues, and a variety of methods for the solution of simultaneous linear equations.
  • IDL offers several powerful algorithms for root finding and solving systems of nonlinear equations.
  • IDL incorporates a collection of routines designed to solve sparse linear systems and to handle sparse arrays effectively.
  • The statistical methods available in IDL range from basic statistical calculations to correlation analysis, hypothesis testing and random number generation.
  • Time-series analysis routines let you smooth series, determine the stationarity of a series, eliminate non-stationary components and model series through forecasting.
  • IDL provides a number of tools for analyzing multivariate data, including routines for cluster analysis and principal components analysis.
  • For information on additional math and statistics capabilities, see the IDL Functional Summary.

back to top


Image Processing

  • IDL was conceived over 20 years ago to process medical images more efficiently. IDL's technologies have advanced significantly since then, but image processing remains a core strength of IDL. From basic image processing techniques such as smoothing, sharpening and contrast enhancement to more advanced functionality such as edge detection, morphological operations and the discrete wavelet transform, all the tools you need to get information out of images are there in one package.
  • Data in IDL are not forced to the highest possible precision, as in some high level languages. Images that are stored as byte type remain 8-bit data and are not converted unnecessarily to 64-bit double precision. This keeps image processing in IDL nimble and optimizes performance.
  • Take advantage of multiple CPUs to efficiently crunch through a variety of numerical and image processing calculations on systems with multiple processors.
  • IDL provides built-in support for a wide variety of common image file formats, including TIFF, BMP, JPEG, PNG and DICOM part 10 files. IDL also supports hierarchical scientific data formats including HDF, HDF-EOS and netCDF.
  • For information on additional image processing capabilities, see the IDL Functional Summary.
  • For a complete, commercial image processing package for remote sensing, see ENVI, the Environment for Visualizing Images. ENVI is a point-and-click application built in IDL that can be extended with user-supplied functions.
  • For access to a GUI utility for wavelet analysis and additional wavelet functionality see the Wavelet Toolkit option.

back to top


Signal Processing

  • IDL provides you with a well-rounded set of tools for processing signal data, including transforms for signal decomposition, windowing algorithms, routines for smoothing, convolving and applying digital filters to remove noise, and correlation and covariance techniques to analyze signals with random components.
  • For information on additional signal processing capabilities, see the IDL Functional Summary.
  • For access to a GUI utility for wavelet analysis and additional wavelet functionality see the Wavelet Toolkit option.

back to top


Gridding and Interpolation

  • Many gridding and interpolation methods exist that are suitable for specific types of data trends. IDL provides you with a wide variety of algorithms for 2- and 3-dimensional gridding and interpolation so that you can choose the best method for your data.
  • For 2-dimensional gridding, you can access multiple methods from a single routine that includes support for faulting, a technique wherein interpolation boundaries are defined.
  • For scattered data of 2 or more dimensions, IDL offers convenient routines for deriving triangulated networks, convex hulls and Voronoi diagrams.
  • For information on additional gridding and interpolation capabilities, see the IDL Functional Summary.

back to top


Curve and Surface Fitting

  • IDL provides several powerful routines for linear fitting, fitting functions of more than one independent variable, and non-linear fitting.
  • For information on additional curve and surface fitting capabilities, see the IDL Functional Summary.

back to top


Multi-Threaded Computations

  • IDL has the ability to use multiple threads of execution in a user-transparent manner when performing a number of numerical computations on multi-CPU hardware. This can greatly increase the speed at which calculations are accomplished on large datasets.
  • The threaded computations include many of IDL's core operators and mathematical functions, along with many image processing, array manipulation and type conversion routines. Volume rendering is also optimized to use multiple threads for faster processing on multi-processor systems.

back to top