7
IDL Tutorials : Day 3 Michael Hahn ([email protected] na.edu)

IDL Tutorials : Day 3

  • Upload
    konala

  • View
    15

  • Download
    0

Embed Size (px)

DESCRIPTION

IDL Tutorials : Day 3. Michael Hahn ([email protected]). Today’s Topics. Displaying images on the screen Colour tables and xloadct Making Functions and Procedures Variable handling !P.multi. Displaying Images. Image data is often stored in collumn-major 2-arrays - PowerPoint PPT Presentation

Citation preview

Page 1: IDL Tutorials : Day 3

IDL Tutorials : Day 3

Michael Hahn

([email protected])

Page 2: IDL Tutorials : Day 3

Today’s Topics

• Displaying images on the screen

• Colour tables and xloadct

• Making Functions and Procedures

• Variable handling

• !P.multi

Page 3: IDL Tutorials : Day 3

Displaying Images• Image data is often stored in collumn-major 2-arrays• Two-D image data can be displayed using

- tv, data ; images data on screen- tvscl, data ; this method scales data for display

• Two-D image data are just arrays of numbers• Many Image arrays are of Byte type ( integer in [0,255])• Colours arbitrarily asssigned to each number depending on colour table

routines- loadct, number- tvlct, [vectors defining each colour to be used]- xloadct

• Many routines to read and write images. (read_gif, write_gif, etc…)• For more advanced routines see /ssw/gen/idl/ and look through

imaging and display folders.

Page 4: IDL Tutorials : Day 3

Procedures and Functions• Similar to macros

• Procedures start with the line Pro pro_name, param, …, KEY_NAME=KEY_NAME, …

• Functions Start with the linefunction func_name, param, …, KEY_NAME=KEY_NAME

• Functions have the statement return, output_variable ; before the final END

• Must be compiled after every saved change([.run | .rnew | .r| ] pro_textfile_name)

Page 5: IDL Tutorials : Day 3

Keywords• The lines KEY_NAME on the previous slide are Keywords

• They are usually options for when you run the program

• To select one you can use either:

pro_name, p1, …pn, /Keyword or

pro_name, p1, … pn, Keyword=1

• To incorporate your own keywords you can incorporate the

Keyword_set function, which returns 1 if set, and 0 if not

(more on If statements later)

See the help files for more information on keywords and optional parameters.

Page 6: IDL Tutorials : Day 3

Variable Handling• Whenever you use Procedures or Functions the variables used in

them are “put in a box”.

• The variables in that box are not accessible when the procedures and functions are finished running

• Variables can be accessible to the main level if

- Output parameters or keywords are used

- Common blocks are used

- System variables (defsysv, “!var_name”, value)

Page 7: IDL Tutorials : Day 3

!p.multi System Variable• !p is a system variable (structure type) that tells IDL how to

handle plots

• !p. multi is used to control how many plots are put on a “page”

!p.multi=[a,b,c,d]

* a= controls when the plot is erased. Usually left set to 0

* b = number of columns

* c = number of rows

* d = number stacked in the z direction (3-D plotting)

• Examples

- !p.multi=[0,2] ; 2 columns, 1 row

- !p.multi=[0,2,2] ; 2 columns, 2 rows

- !p.multi=[0,1,1] ; resets the variable