Examples


See Additional Examples for more information on using IOPEN.

Example 1

In the following example, we use the IOPEN procedure with the /VISUALIZE keyword to open and display the image meteor_crater.jpg. We then display information about the imageData variable that holds the file data.

dataFilePath = FILEPATH('meteor_crater.jpg', $        
   SUBDIR=['examples','data'])        
IOPEN, dataFilePath, imageData, /VISUALIZE        
; Get information about the IDL-created variable that        
; holds the image dataHELP, imageData            

Syntax


IOPEN, Filename [, Data [, Palette]] [, /BINARY] [, /VISUALIZE]

File Reader Keywords: Various default iTool file readers accept the following keywords: COLORS, DITHER, GEOTIFF, GRAYSCALE, IMAGE_INDEX, ORDER, TEMPLATE, TRUE, and TWO_PASS_QUANTIZE. Not all keywords are supported by all file readers.

Arguments


Filename

A string containing the name of the file to open and read. If Filenameis an ISV file, IDL opens and displays the embedded iTool.

Data

A named variable in which the data will be returned. If Datais not supplied, IDL will open and read the file, but it will not automatically create a variable.

Palette

A named variable that will contain the 3xN color palette, if a palette is included in the file.

Keywords


BINARY

Set this keyword to include the binary file reader in the list of available readers. By default, the binary file reader is not included because the binary reader has no predefined file extension.

VISUALIZE

Set this keyword to display the data in an appropriate iTool window. The VISUALIZE keyword is valid only for image data.

File Reader Keywords Accepted

Most keywords are passed on to the applicable file reader.

A keyword is ignored if not accepted by the reader being used.

File Types Supported by IOPEN


By default, IOPEN supports the following file types:

Extension

Keywords Accepted

Return Value

.bmp

None

The image array is returned in Data. If a palette is present, the palette information is returned in Palette.

.dcm

None

The image array is returned in Data. If a palette is present, the palette information is returned in Palette.

.gif

None

The image array is returned in Data. If a palette is present, the palette information is returned in Palette.

.h5

[/SHOW_HARDLINKS]

The data is returned as an IDL structure in Data. The returned structure format is documented in the H5_PARSE function.

.isv

None

No data is returned; an iTool is created instead.

.jp2, .j2k, .jpx

None

The image array is returned in Data. If a palette is present, the palette information is returned in Palette.

.jpg, .jpeg

[COLORS=value {8 to 256}]
[DITHER={0 | 1 | 2}]
[/GRAYSCALE]
[/ORDER]
[TRUE={1 | 2 | 3}]
[/TWO_PASS_QUANTIZE]

The image array is returned in Data. If a palette is present, the palette information is returned in Palette.

.pct, .pict

None

The image array is returned in Data. If a palette is present, the palette information is returned in Palette.

.png

None

The image array is returned in Data. If a palette is present, the palette information is returned in Palette.

.shp

None

A single IDLffShape object is returned.

.tiff, .tif

[GEOTIFF=variable]
[IMAGE_INDEX=value]

The image array is returned in Data. If a palette is present, the palette information is returned in Palette.

Note: IOPEN will reorient the image array as specified by the Orientation information contained in the TIFF file, if present. As a result, the image array returned by IOPEN may not match an array returned by the READ_TIFF routine.

.txt

[TEMPLATE=structure]

This template structure is commonly created by ASCII_TEMPLATE.

The ASCII data is returned in an IDL structure.

Various

[TEMPLATE=structure]

This template structure is commonly created by BINARY_TEMPLATE.

The binary data is returned in an IDL structure.

The use of a binary template structure implies the use of the BINARY keyword.

.wav

None

The wave data is returned in Data.

Additional Examples



Example 2

In the following example, we will use the IOPEN procedure to open and read data from the sine_waves.txt ASCII file. We will then plot the data using the variables IOPEN created to hold the file data.

  1. Enter the following code at the IDL command line:

    dataFilePath = FILEPATH('sine_waves.txt', $
       SUBDIR=['examples','data'])
    templateStruct = ASCII_TEMPLATE(dataFilePath)
    IOPEN, dataFilePath, plotData, Palette, $
       TEMPLATE = templateStruct

    The ASCII Template dialog is displayed.

  2. Follow the steps in the ASCII_TEMPLATE example, Using the ASCII Template Dialog, starting with "Step 1: Define Data Type/Range."

    This procedure explains how to use the ASCII Template dialog to create a template that IDL uses to read ASCII data from the file.

  3. In the Variables view, a plotData structure now exists with member arrays FIELD1 and FIELD2. Let’s examine these member arrays and plot them with iPlot:

    ; Get information about the plotData structure
    HELP, plotData, /STRUCTURE
     
    IPLOT, INDGEN(512), plotData.field1, TITLE='Two Sine Waves'
    IPLOT, INDGEN(512), plotData.field2, /OVERPLOT, $
       LINESTYLE=2, COLOR='red'

Version History


7.1

Introduced

See Also


READ_JPEG, READ_TIFF, READ_GIF, READ_BMP, READ_ASCII, READ_BINARY, READ_PNG, READ_DICOM, READ_PICT