THE O.A.R. IDL LIBRARY     (Version 1.01)
by Gianluca Li Causi


From this page you can download the source codes of some useful IDL procedures and functions collected here at the Rome Astronomical Observatory.

Read about the Library Philosophy and Structure to get aknowledged on how it works.

REFERENCE THIS LIBRARY:
Please, aknowledge the use of the Library in your publications as follows:
"O.A.R. IDL Library - http://www.oa-roma.inaf.it/".

ADD YOUR CONTRIBUTION
(registration required)
ADD A SINGLE PROCEDURE OR FUNCTION ADD A FULL APPLICATION
ADD A LINK ON IDL





PROCEDURES AND FUNCTIONS:

In this section are collected single IDL routines to be called from inside other IDL programs, click on each one to view a detailed description.

The routines of this section can also be downloaded all together in compressed .tar.gz format

Click here to view a compact Index of all the routines.

GRAPH - COLORS MANIPULATION:

MYCOLORS       updated on 14-01-05      Tested by 1 users       Author: Gianluca Li Causi

Returns a structure to easily use the basic colours in screen or postscript.


Returns the following structure which contains the color indexes for the basic colours: {black; white; red; green; blue; yellow; magenta; cyan}. If the /PS keyword is set, then the postscript color indexes are returned.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



GRAPH - DISPLAY IMAGES AND VOLUMES:

TV_GOHSS       updated on 30-06-05      Tested by 2 users       Author: Gianluca Li Causi


Click for a larger image

Display any image with various automatic gray levels.


Display any kind of 2-D image with automatic ZSCALE gray levels, logarithm scaling, histogram gaussfit ranging, stretch ranging, or user defined range and zoom scale.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



ZSCALE_RANGE       updated on 30-06-05      Tested by 1 users       Author: Gianluca Li Causi

Computes the best levels cuts for displaying astronomical images using IRAF zscale algorithm.


Returns the best low_cut and high cut values for the visualization of an image, on the base of the IRAF Zscale algorithm.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



GRAPH - INTERACTIVE:

DRAW_INVERSE_BOX       updated on 14-09-05      Tested by 2 users       Author: Gianluca Li Causi

Box region selection


Overlays a rectangle over the current window with colors complementary to the underlaying pixels.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



SELECT_RECTANGULAR_BOX       updated on 14-09-05      Tested by 2 users       Author: Gianluca Li Causi

Interactively draws with the mouse a selection rectangle on the given graphic window.


Interactively draws with the mouse a selection rectangle on the given graphic window.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



GRAPH - PLOTTING 2D AND 3D:

FT_PLOT       updated on 15-12-04      Tested by 1 users       Author: Gianluca Li Causi


Click for a larger image

Plots a Fourier Transform with right frequency axis and labels


The FFT is always a bit difficult to graph: man\'s mind feels not easy to think in Fourier space, so that each time you must think about what the frequency axis of your FFT plot does mean with respect to your x units. More the IDL FFT vector contains both positive and negative frequencies organized in a complicated format: first nu=0, then +nu_min to +nu_max then again -nu_max to -nu_min. This routine made for you the correct positive frequencies plot of your FFT giving an easy to understand graph of it. Plots the positive frequency part of a Fourier Transform by automatically computing the right frequency axis scaling and writing the right labels and units. The user can choose to plot the modulus, the squared modulus, the real or imaginary part or the phase of the FT. The original y(x) function of which FT is the transform can also be plotted if x and y vectors are supplied. See also FT_SURFACE.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



FT_SURFACE       updated on 15-12-04      Tested by 1 users       Author: Gianluca Li Causi


Click for a larger image

Plots a 2D Fourier Transform with right frequency axis and labels


The FFT is always a bit difficult to graph: man\'s mind feels not easy to think in Fourier space, so that each time you must think about what means the frequency axis of your FFT plot with respect to your x units. More the IDL FFT vector contains both positive and negative frequencies organized in a complicated format: first nu=0, then +nu_min to +nu_max then again -nu_max to -nu_min. This routine made for you the correct surface plot of your FFT giving an easy to understand graph of it. Draw the shaded surface of a Fourier Transform by automatically computing the right frequency axis scaling and writing the right labels and units. The user can choose to draw the modulus, the squared modulus, the real or imaginary part or the phase of the FT. The original z(x,y) function of which FT is the transform can also be drawn if x and y vectors and z array are supplied.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



PLOT_LOG       updated on 15-12-04      Tested by 1 users       Author: Gianluca Li Causi

Optimization of Logarithm plots


The same of PLOT, but if the keywords /XLOG or /YLOG are used it makes a logarithm plot with optimal scaling.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



WINDOWS_CLOSE_ALL       updated on 15-12-04      Tested by 1 users       Author: Gianluca Li Causi

Close all the current Windows


Delete all the widgets currently managed by XMANAGER, but the ones which IDs are in the SKIP vector.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



MEMO_PLOT       updated on 30-06-05      Tested by 1 users       Author: Gianluca Li Causi

Allow to use OPLOT or PLOTS over 2D or 3D plots on many windows at the same time.


If you make a plot on a window and a second plot on another window then you cannot use OPLOT on the first graph unless the two have identical axis: with MEMO_PLOT you can draw as many 2d or 3d plots or surfaces as you want and then recall them at any time to make overplots. Similarly, you must use MEMO_PLOT when you want to read Cursor position in a previous plot window. For surfaces, it is like using /SAVE and, when overplotting, the keyword /T3D must be set in any case. MEMO_PLOT must be called soon after the first plotting command in a window and then each time an overplotting is required after having plotted on other windows.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



OPLOTERR_XY       updated on 30-06-05      Tested by 1 users       Author: Gianluca Li Causi

Overplot both X and Y error bars or draw an error eclipse over an existing plot.


Error bars are drawn in the standard \'I\' shape. Linestyle is selectable and clipping of error bars or ellipses can be choosed.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



SEGMENT       updated on 30-06-05      Tested by 1 users       Author: Gianluca Li Causi

Draws one or more segments inside a 2-D image.


Draws one or more segments inside a 2-D image.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



TV_ELLIPSE       updated on 30-06-05      Tested by 2 users       Author: Gianluca Li Causi

The same as TVELLIPSE of the ASTROLIB but with the no_clipping added.


Draw an ellipse on the current graphics device. The same as TVELLIPSE of the ASTROLIB but with the keyword /NOCLIP added. Clip the ellipse outside the plot region by default.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



FILES INPUT-OUTPUT:

READ_PARAMETERS       updated on 30-06-05      Tested by 1 users       Author: Gianluca Li Causi

Reads keyword values from an ASCII file.


Reads a tagged list of parameters into a structure from an ASCII file of the form showed in the figure.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



READ_PARAMETERS_NUMBER       updated on 30-06-05      Tested by 1 users       Author: Gianluca Li Causi

Returns the number (and optionally the names) of the keywords in an ASCII file. Returns the number (and optionally the names) of the tags in an ASCII file


Returns the number (and optionally the names) of the keywords in an ASCII file in the form showed in the figure.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



WRITE_PARAMETERS       updated on 30-06-05      Tested by 1 users       Author: Gianluca Li Causi

Updates an ASCII files with keywords, to be read by READ_PARAMETERS.


Updates an ASCII file with a tagged list of parameters in the form showed in figure, with the values of a structure which have the same tag names.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



MAPPING:

PLOT_LON_LAT       updated on 30-06-05      Tested by 1 users       Author: Gianluca Li Causi

Plot data on a spherical map autoscaling map center and limits.


Plot data on a spherical map autoscaling map center and limits.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



MATH - GENERAL:

CARLSONA_12       updated on 21-01-05       Author: serena


Click for a larger image

Numerical integration of a function defined on a sphere


This function returns weights and directions of CarsonA integration quadrature scheme. This technique is generally used in Radiative Transfer problems, since integration is performed by using directions that are symmetric for 90 degrees rotations by x,y,z axes. Points are classified in symmetry classes; points belonging to the same class have the same weight. The technique also guarantees that the mean intensity of a uniform field is the field, and that its flux in zero. Pictures show directions and symetry class for different quadrature order n. Numbers in circles indicate the three director cosines that define a direction, while numbers under circle refere to symmetry class. See Carlson B.G. 1967 for a further description of method and notation. Note that only orders n=4,6,8,12 are accepted.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



PERMUTATION       updated on 30-06-05      Tested by 1 users       Author: Gianluca Li Causi

Computes all the permutation whithout repetition of the elements in the input array.


Computes all the permutation whithout repetition of the elements in the input array.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



SGN       updated on 30-06-05      Tested by 1 users       Author: Gianluca Li Causi

Return the sign of its argument.


Return 1 for positive numbers, 0 for zeroes, -1 for negative numbers

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



SPLINE_DOUBLE       updated on 30-06-05      Tested by 1 users       Author: Gianluca Li Causi

The same of idl SPLINE function but DOUBLE precision.


The same of idl SPLINE function but DOUBLE precision.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



MATH - STATISTICS:

STAT       updated on 30-06-05      Tested by 1 users       Author: Gianluca Li Causi

Computes an extended statistics of an array.


The function returns a structure with minimum, maximum, mean, median, mode (i.e. peak of the gaussian fit around the median), standard deviation, variance, sigma of the gaussian fit around the median, variance of the gaussian fit aroud the median.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



STDEV_MED       updated on 30-06-05      Tested by 1 users       Author: Gianluca Li Causi

Compute the Standard Deviation as the MEAN or the MEDIAN of the squared deviations from the MEDIAN.


Compute the Standard Deviation as the MEAN or the MEDIAN of the squared deviations from the MEDIAN.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



MATH - GEOMETRY:

ANG_BAR       updated on 15-12-04      Tested by 1 users       Author: Gianluca Li Causi

Baricenter on the Sphere


Computes the coordinates of the baricenter, on the sphere, of a set of points.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



ANG_DIST       updated on 15-12-04      Tested by 1 users       Author: Gianluca Li Causi

Distance on the Sphere


Computes the angular distance, on the sphere, between two points of given [longitude, latitude] coordinates.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



INSIDE       updated on 14-01-05      Tested by 1 users       Author: Gianluca Li Causi

Check if a given point is outside or inside a convex quadrilater.


Computes the t1 and t2 parameters of the point in a Gouraud parametrization of the surface of the poligon and check if they are or not between 0 and 1.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



SS_DECIMATEDOUBLEPOS       updated on 10-02-05      Tested by 1 users       Author: sabinasabatini

To find double/multiple entries in a list of positions x,y (or ra,dec)


This procedure finds the elements in a list of positions x,y (or ra,dec) that are closer than a given searchradius. Its purpose is to get rid of double/multiple positions in the list.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



OVERLAP       updated on 30-06-05      Tested by 1 users       Author: Gianluca Li Causi

Computes the area of the intersection of two convex quadrilaters.


Computes the area of the intersection of two convex quadrilaters.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



POLE_SPHERE_CIRCLE       updated on 30-06-05      Tested by 1 users       Author: Gianluca Li Causi

Computes the sherical coordinates of the north pole of a circle for three points on a sphere or of the maximum circle for two points.


Computes the sherical coordinates of the north pole of a circle for three points on a sphere or of the maximum circle for two points.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



ROTRANSCAL       updated on 30-06-05      Tested by 1 users       Author: Gianluca Li Causi

Computes the roto-translation and scaling parameters between two corresponding sets of points.


Computes the rotation, translation and scaling parameters between two corresponding sets of points. Also works with coordinates inversion and with different x and y scaling. In case of coordinates affected by random errors, the best solution is given in the chi-squared sense. Useful e.g. to compute the best rototranslation and scale to match two images from the coordinates of a set of corresponding control points, for example stars in astronomical images.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



PROCESSING - SIGNAL 1D:

MED_NEIGBORHOOD       updated on 14-01-05      Tested by 1 users       Author: Gianluca Li Causi

Compute the median of an array avoiding the central point..


Computes the MEAN if the /MEAN keyword is set. Useful to make running filters on data.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



PIX_SAMPLE_1D       updated on 30-06-05      Tested by 1 users       Author: Gianluca Li Causi

Computes the 1D pixel sampled vector of a y(x) profile given on a regular or irregular grid.


This function does conceptually the same as the IDL function INTERPOL, i.e. it computes a regularly gridded representation of the given function y=f(x) where the x vector can also be non uniform. The difference is that INTERPOL just interpolates the function onto a 1D regularly spaced grid, while PIX_SAMPLE_1D gives the pixel sampled array of the function, i.e. each point in the final array contains the integral (normalized to the pixel size) of the input function over the sampling interval. This makes difference when y(x) contains peak features narrower than the choosed sample interval. In this case PIX_SAMPLE_1D will conserve the energy in each sampling interval whatever the choosed sampling resolution is. Very useful when Fourier transforms are required for irregularly spacing of x: the transform of the 1-D vector could depend on the choosed sampling unless pixel sampling is used. NOTE: if the y(x) input function represent the radial profile of a polar surface and this function is called to compute the final 2D polar surface, use PIXEL_SAMPLED_POLAR_SURFACE instead of this function.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



PROCESSING - IMAGES AND MULTI-DIMENSIONAL:

FSHIFT       updated on 22-12-04      Tested by 1 users       Author: Gianluca Li Causi

Shifts an image of fractional pixel offsets


Shifts an image of fractional pixel offsets using convolution. This procedure does conserve the flux.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



ENLARGE_CANVAS       updated on 14-01-05      Tested by 1 users       Author: Gianluca Li Causi

Add a border to an image


Add a border of chosen X and Y SIZE around an image. The added border are filled with a chosen VALUE or the keyword /MIRROR_EDGE can be used to have the image edges mirrored out. Instead of specifying X and Y size, the final image size can be set by the keyword TO_SIZE. Very useful in conjunction with MEDIAN, SMOOTH, CONVOL, etc.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



FFT_CONVOLUTION       updated on 30-06-05      Tested by 1 users       Author: Gianluca Li Causi


Click for a larger image

Computes the convolution of two or many 1D to 3D arrays by using the FFT.


This function computes in one time the convolution of an array with one or more convolution kernels, e.g. F*K1*K2*...Kn. 1 dimensional to 3 dimensional arrays are supported.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



PIX_SAMPLED_POLAR_SURFACE       updated on 30-06-05      Tested by 1 users       Author: Gianluca Li Causi


Click for a larger image

Computes the pixel sampled z-axis revolution of a profile z(r) given on a regular or irregular grid.


This function does conceptually the same as the IDL function POLAR_SURFACE, i.e. it builds up a square array with the cartesian z=f(x,y) representation of a polar function described by z=f(r) where the r vector can also be non uniform. The difference is that POLAR_SURFACE just spline interpolates the radial profile data onto a 2D cartesian grid and integrate over pixel area, while PIX_SAMPLED_POLAR_SURFACE gives the pixel sampled image of such a polar surface. This makes difference when r contains peak features narrower than the choosed sample interval (e.g. r is logarithmically spaced and is the intensity profile of a bright central star with an extended faint envelope). In this case the PIX_SAMPLED_POLAR_SURFACE will conserve energy in each pixel whatever the choosed sampling resolution. Very useful when Fourier transforms are required for irregularly spacing of r: the transform of the 2-D surface will depend on the sampling unless pixel sampling is used.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



RADIAL_PROFILE       updated on 30-06-05      Tested by 1 users       Author: Gianluca Li Causi


Click for a larger image

Radial profile revolution image with median, mean, min or polyfit.


Generates the radial profile image of the given image by using the median, the mean, the min or a polynomial fit. Useful e.g. to fit a vignetting function to an image.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



STACK_FRAMES       updated on 30-06-05      Tested by 1 users       Author: Gianluca Li Causi


Click for a larger image

Compute the SUM, MEAN, MEDIAN or SIGMA-CLIPPED AVERAGE of a set of 2-D images.


Compute the SUM, the MEAN, the MEDIAN or the SIGMA-CLIPPED AVERAGE of a set of 2-D images. Expecially drawn for astronomical pourpses to combine various images with cosmic rays removal. Also returns the cosmic rays mask and the original images with the cosmic rays removed.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



'START', ) ?> PROGRAM - FLOW CONTROL:

FSHIFT       updated on 22-12-04      Tested by 1 users       Author: Gianluca Li Causi

Shifts an image of fractional pixel offsets


Shifts an image of fractional pixel offsets using convolution. This procedure does conserve the flux.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



ENLARGE_CANVAS       updated on 14-01-05      Tested by 1 users       Author: Gianluca Li Causi

Add a border to an image


Add a border of chosen X and Y SIZE around an image. The added border are filled with a chosen VALUE or the keyword /MIRROR_EDGE can be used to have the image edges mirrored out. Instead of specifying X and Y size, the final image size can be set by the keyword TO_SIZE. Very useful in conjunction with MEDIAN, SMOOTH, CONVOL, etc.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



FFT_CONVOLUTION       updated on 30-06-05      Tested by 1 users       Author: Gianluca Li Causi


Click for a larger image

Computes the convolution of two or many 1D to 3D arrays by using the FFT.


This function computes in one time the convolution of an array with one or more convolution kernels, e.g. F*K1*K2*...Kn. 1 dimensional to 3 dimensional arrays are supported.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



PIX_SAMPLED_POLAR_SURFACE       updated on 30-06-05      Tested by 1 users       Author: Gianluca Li Causi


Click for a larger image

Computes the pixel sampled z-axis revolution of a profile z(r) given on a regular or irregular grid.


This function does conceptually the same as the IDL function POLAR_SURFACE, i.e. it builds up a square array with the cartesian z=f(x,y) representation of a polar function described by z=f(r) where the r vector can also be non uniform. The difference is that POLAR_SURFACE just spline interpolates the radial profile data onto a 2D cartesian grid and integrate over pixel area, while PIX_SAMPLED_POLAR_SURFACE gives the pixel sampled image of such a polar surface. This makes difference when r contains peak features narrower than the choosed sample interval (e.g. r is logarithmically spaced and is the intensity profile of a bright central star with an extended faint envelope). In this case the PIX_SAMPLED_POLAR_SURFACE will conserve energy in each pixel whatever the choosed sampling resolution. Very useful when Fourier transforms are required for irregularly spacing of r: the transform of the 2-D surface will depend on the sampling unless pixel sampling is used.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



RADIAL_PROFILE       updated on 30-06-05      Tested by 1 users       Author: Gianluca Li Causi


Click for a larger image

Radial profile revolution image with median, mean, min or polyfit.


Generates the radial profile image of the given image by using the median, the mean, the min or a polynomial fit. Useful e.g. to fit a vignetting function to an image.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



STACK_FRAMES       updated on 30-06-05      Tested by 1 users       Author: Gianluca Li Causi


Click for a larger image

Compute the SUM, MEAN, MEDIAN or SIGMA-CLIPPED AVERAGE of a set of 2-D images.


Compute the SUM, the MEAN, the MEDIAN or the SIGMA-CLIPPED AVERAGE of a set of 2-D images. Expecially drawn for astronomical pourpses to combine various images with cosmic rays removal. Also returns the cosmic rays mask and the original images with the cosmic rays removed.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



SPEC - FITS:

SX_RIORDINA       updated on 30-06-05      Tested by 1 users       Author: Gianluca Li Causi

Sort the FITS header so that the last keywords are HISTORY and COMMENTS


Sort the FITS header so that the last keywords are HISTORY and COMMENTS

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



SPEC - SIMULATION:

GRID_IMAGE       updated on 15-12-04      Tested by 1 users       Author: Gianluca Li Causi


Click for a larger image

Creates an image of a grid of points or rectangles, with optional distortion


Creates the image of a regular grid of points or segments. The grid can be flat or distorted (barrel or pincushion) by a cubic distortion. High precision flux and sub-pixellization computation to use as test for distortion programs.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



VAR - ARRAYS:

POLY_NEW       updated on 16-12-04      Tested by 1 users       Author: deluca

Evaluate a polynomial function of a variable.


Modified POLY function of IDL. If degree of polynomial = 0 this new function returns a costant vector of the same length of X instead of a single float number!

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



TRIANGULAR_KERNEL       updated on 16-12-04      Tested by 1 users       Author: deluca

Compute a triangular normalized kernel


Useful to produce asimmetric distorsion of lines by convolution.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



ARRAY_SCALAR_INDEX       updated on 30-06-05      Tested by 1 users       Author: Gianluca Li Causi

Returns the scalar index of a given element in a multi-dimensional array.


Returns the scalar index of a given element in a multi-dimensional array.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



VARIABLES_COLLECTION       updated on 30-06-05      Tested by 1 users       Author: Gianluca Li Causi

Create and manage pseudo-arrays with different type/dimensions for each element.


Create, modify or delete an array of pointers avoiding explicit pointers usage. A variables collection can be considered as an array which can have a different type and/or dimensions for each element.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



VAR - STRINGS:

IS_NUMBER       updated on 30-06-05      Tested by 1 users       Author: Gianluca Li Causi

Check if a string has only numerical characters (also scientific notation).


Check if a string has only numerical characters (also scientific notation).

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



STR_SUBST       updated on 30-06-05      Tested by 1 users       Author: Gianluca Li Causi

Replace all the occurrences of a substring with another substring.


Replace all the occurrences of the string IN with the string OUT within the given string.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



STR_WRAP       updated on 30-06-05      Tested by 1 users       Author: Gianluca Li Causi

Divide one or more strings in pieces of a given lenght.


Divide one or more strings in pieces of a given lenght.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



WIDGETS DIALOGS AND GUI:

WIDGET_CLOSE_ALL       updated on 15-12-04      Tested by 1 users       Author: Gianluca Li Causi

Delete the currently managed Widgets


Delete all the widgets currently managed by XMANAGER, but the ones which IDs are in the SKIP vector.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



MULTI_DIALOG       updated on 30-06-05      Tested by 1 users       Author: Gianluca Li Causi


Click for a larger image

Powerful widget panel to accept user inputs in multiple ways or give textual informations.


MULTI_DIALOG is a very powerful tool to ask for user inputs in multiple ways or give textual informations. Automatic multiple paging is implemented and managing of multiple simultaneous panels. It can easily display a popup widget dialog which accepts any kind of user input or gives textual information. Arrays, structures, arrays of structures and nested structures are accepted as input. MULTI_DIALOG can display dialog widgets with Input Fields, with exclusive or non-exclusive Check Buttons, with File or Directory fields with browse buttons, or just Textual Information and can manage dialogs with a large number of input items by automatically adding NEXT/PREVIOUS buttons in a multi-page layout. It also automatically fits the widget size to both the iput items and the title, and always keeps the widget within the screen area. MULTI_DIALOG can manage multiple simultaneous dialogs, in a way fully transparent to the user. In fact each time the funciton is called in non-blocking mode, via the /NO_BLOCK keyword, a new MULTI-DIALOG widget is created, while keeping active all already opened dialogs, still ready to get user input. MULTI-DIALOG automatically manages nested structures in a recursive way, by opening MODAL simultaneous widget to edit any child element. Expecially useful to edit complex structures of parameters for a program. This complex routine is subject to frequent update, see the section PLANNED IMPROVEMENTS to contribute and always get the last version.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS



WIDGET_HIERARCHY_STRUCTURE       updated on 30-06-05      Tested by 1 users       Author: Gianluca Li Causi

Return a structure with the widget IDs of all widget elements belonging to a given widget\'s hiararchy.


Return a structure with the widget IDs of all widget elements belonging to a given widget\'s hiararchy.

VIEW THE PROGRAM UPDATE THIS ROUTINE
CONFIRM YOUR TEST ADVISE OF ERRORS







FULL APPLICATIONS:

This section contains self-consistent IDL programs which performs specialized tasks and that in some cases also provide a Graphical User Interface (GUI).

Some of them are pre-compiled and can be executed without IDL via the IDL Virtual Machine.

Click here to view all the applications in detail.

FULL APPLICATIONS




USEFUL LINKS:

- http://www.rsinc.com/idl/index.asp?l=English&
IDL The Interactive Data Language: the IDL homepage from RSI
- http://www.rsinc.com/idlvm/index.asp
The IDL Virtual Machine
- http://idlastro.gsfc.nasa.gov/homepage.html
The IDL Astronomy User's Library
- http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&group=comp.lang.idl-pvwave
Worldwide Discussion Group on IDL. Group: comp.lang.idl-pwave
- http://www.dfanning.com/
David Fanning IDL page: courses, routines, help, books etc on IDL
- http://www.astro.washington.edu/deutsch/idl/index.html
IDL Libraries of Department of Astronomy, University of Washington
- http://www.star.ucl.ac.uk/~src/astronomy/IDL/description.html
Stuart Astronomy IDL Collection
- http://cow.physics.wisc.edu/~craigm/idl/idl.html
Markwardt IDL Library
- http://www.lmsal.com/solarsoft/
SolarSoft, a big library for Solar astronomers
- http://fuse.pha.jhu.edu/analysis/fuse_idl_tools.html
Link to FUSE tools for spectroscopic data tretment, several routines are of quite general use





USERS' PANEL
SUBSCRIBE TO E-MAIL INFORMATION

UN-SUBSCRIBE FROM E-MAIL INFORMATION

REGISTER AS FULL USER

UN-REGISTER AS FULL USER
(login required)
WRITE TO OTHER USERS
(login required)


-->