aboutsummaryrefslogtreecommitdiff
path: root/doc/html/UsingIDL.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/html/UsingIDL.html')
-rw-r--r--doc/html/UsingIDL.html154
1 files changed, 154 insertions, 0 deletions
diff --git a/doc/html/UsingIDL.html b/doc/html/UsingIDL.html
new file mode 100644
index 0000000..42f2048
--- /dev/null
+++ b/doc/html/UsingIDL.html
@@ -0,0 +1,154 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+ <head>
+ <title>IEEEIO IDL/PV-Wave Interface</title>
+ </head>
+ <body bgcolor="#F0F0F0">
+ <table><tr>
+ <td><img src="Images/info.gif"></td>
+ <td><h1>IDL/PV-Wave</h1></td>
+ </tr></table>
+ <hr>
+ <h1>Using the IDL/PV-Wave Interface</h1>
+ The IDL/PV-Wave interface is only for reading. In the future
+ file writing may be supported, but there hasn't been a need for
+ this as of yet. The reader is very simplistic right now so you
+ must convert files to native byte order using the <a
+ href="Utilities.html#convert2native">convert2native</a> utility
+ in order for this reader to understand the file. Likewise,
+ there is support for reading attributes but annotation reading
+ has been delayed due to lack of interest in the short term.<p>
+
+ The procedures are contained in the file
+ <a href="src/ieeereader.pro">ieeereader.pro</a>. They can be
+ read into IDL using the command <code>.run
+ ieeereader.pro</code>. You can configure this file to
+ autoload by breaking the routines <code>ieeeopen</code>,
+ <code>ieeeclose</code>, <code>ieeeread</code>, and
+ <code>ieeereadattr</code>
+ into separate files named
+ <i>procedurename</i><code>.pro</code>.<p>
+
+ <hr>
+ <UL>
+ <LI><a href="#Opening">Opening and Closing Datafiles using
+ <code>ieeeopen</code> and <code>ieeeclose</code></a>
+ <LI><a href="#Info">Querying the file for the number of
+ datasets and attributes stored using
+ <code>ieeendatasets</code> and <code>ieeenattribs</code></a>
+ <LI><a href="#Reading">Reading Datasets using <code>ieeeread</code></a>
+ <LI><a href="#ReadAttribs">Reading Attributes using <code>ieeereadattr</code></a>
+ </UL>
+
+ <hr>
+ <a name="Opening"><h2>Opening and Closing Files</h2></a>
+ Like <code>openr</code> you must open a file handle to access
+ the IEEEIO files in IDL.<p>
+ <b>IDL Function</b><br>
+ <code>filedescriptor=ieeeopen('filename.raw')</code><P>
+ This function opens a file descriptor for reading. Currently
+ the IDL interface is a read-only interface.<p>
+ To close an IEEEIO filedescriptor and reclaim its resources you
+ use <code>ieeeclose</code>.<p>
+ <b>IDL Procedure</b><br>
+ <code>ieeeclose,filedescriptor</code>
+ Closes the filedescriptor. It will also deallocate any existing
+ IDL handles when I get this thing converted to use dynamic
+ datastructures.<p>
+ <hr>
+ <a name="Info"><h2>Querying File Information</h2></a>
+ <b>IDL Function</b>
+ <code>ieeendatasets(descriptor)</code><br>
+ Returns number of datasets in the file<p>
+
+ <b>IDL Function</b>
+ <code>ieeenattribs(descriptor,datasetnumber)</code><br>
+ Returns number of attributes bound to a particular dataset.<p>
+
+ <hr>
+ <a name="Reading"><h2>Reading Datasets</h2></a>
+ <b>IDL Procedure</b>
+ <code>ieeeread,filedescriptor[,datasetnumber]</code>
+ <DL>
+ <DT>The <b>datasetnumber</b> defaults to 0 if you don't specify
+ <DT>Named Params
+ <UL>
+ <LI><b>RANK = </b>returns rank of dataset
+ <LI><b>DIMENSIONS = </b> returns dims (allocates if none specified)
+ <LI><b>TYPE = </b> Integer datatype...<br>
+ In terms of IDL datatypes
+ 0=Byte, 1=Fix, 2=Long,3=<i>not availible in IDL</i>,
+ 4=Float,5=Double
+ <LI><b>DATA = </b> Returns data. If storage is provided,
+ then it will
+ copy into that storage space. Otherwise it will
+ allocate.
+ </UL>
+ <DT>The following switches affect Data allocation/management
+ <UL>
+ <LI><b>/INFO</b> : Makes it skip reading the data
+ <LI><b>/ASSOC_1D</b> : Associates data as a sequence of 1D x-columns
+ (eg data=assoc(unit,xarr(dims(0)))
+ <LI><b>/ASSOC_2D</b> : Associates data as a sequence of 2D xy-slices
+ <LI><b>/ASSOC_3D</b> : Associates data as a sequence of 3D
+ blocks of data
+ (note: only block #0 is valid of course)
+ <LI><b>/ASSOC_ELEMENTS</b> : Associates data as a sequence of elements
+ <LI><b>/ALLOCATE</b> : Forces it to nuke any existing data and
+ allocate
+ new storage for the data before copying
+ <LI><b>/COPY</b> : Forces it to copy into preallocated data space.
+ This will force an error if no data is availible
+ or if the availible preallocated data space is too
+ small.
+ </UL>
+ </DL>
+
+ <hr>
+ <a name="ReadAttribs"><h2>Reading Attributes</h2></a>
+ <b>IDL Procedure</b><br>
+ <code>ieeereadattr,descriptor,[datasetnumber]</code>
+ <DL>
+ <DD><b>datasetnumber</b> defaults to 0 if not specified
+ <DD>Named parameters are
+ <UL>
+ <LI><b>NUMBER =</b>the index of the attribute (ranges from
+ 0 to nattribs-1)<pr>
+ nattributes is computed per dataset.
+ <LI><b>NAME = </b> The name of the attribute. If you
+ specify a <i>NAME=</i>
+ without the <i>NUMBER=</i>, it will search for the attribute
+ based on its name. However, if you specify a number
+ with <i>NUMBER=</i>, it will retrieve the attribute based
+ on its index and replace the <i>NAME</i> parameter with
+ the name of the attrib it read.
+ <LI><b>LENGTH = </b> number of elements in the attribute
+ data array
+ <LI><b>TYPE = </b> datatype of the attribute
+ <LI><b>DATA = </b> The place to put the attribute data.
+ If the array
+ exists and it is the proper size, then it will copy
+ into the array. Otherwise it will nuke the array
+ and replace it with a properly sized one.
+ </UL>
+ <DD> Data reading is affected by the following flags
+ <UL>
+ <LI><b>/ASSOC_ELEMENTS</b> : Associate as an array of elements
+ <LI><b>/ASSOC_1D</b> : Associate as a 1D array
+ <LI><b>/COPY</b> : Forces an error if the DATA= you
+ provided is not the
+ correct size.
+ <LI><b>/ALLOCATE</b> : Forces destruction and reallocation
+ of the array
+ you provide with <i>DATA=</i>
+ <LI><b>/INFO</b> : Does not read data. Just for getting info.
+ </UL>
+ </DL>
+ <hr>
+ <address><a href="mailto:jshalf@suttung.aei-potsdam.mpg.de">John Shalf</a></address>
+ <!-- Created: Tue Apr 8 18:57:06 MDT 1997 -->
+ <!-- hhmts start -->
+Last modified: Wed Apr 9 11:41:11 MDT
+<!-- hhmts end -->
+ </body>
+</html>