Newsgroups: comp.sys.mac.scitech,sci.image.processing
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!news.mathworks.com!hookup!swrinde!howland.reston.ans.net!ix.netcom.com!netcom.com!agraps
From: agraps@netcom.com (Amara Graps)
Subject: Re: Opinions on IDL sought
Message-ID: <agrapsD3ACoD.423@netcom.com>
Organization: NETCOM On-line Communication Services (408 261-4700 guest)
References: <Melissa.Hines-2901951743140001@128.253.229.125>
Date: Tue, 31 Jan 1995 19:55:25 GMT
Lines: 97
Xref: glinda.oz.cs.cmu.edu comp.sys.mac.scitech:3820 sci.image.processing:12302

Scitech folks,

I am posting part of an off-line conversation that I had regarding
IDL.  I'm reposting that part because I thought it would be of general
interest. The topic is mainly about how much more useful a scientific
programming environment such as IDL (or Matlab for that matter) would
be over more traditional data analysis approaches.

Amara

--------------------------------------------

>What advantages does using IDL have over generating your own code? Does
>IDL have bunches of canned routines/widgets that would make the analyzing
>process easier. I would like to better understand why I should learn IDL
>and what it's possible benefits are.

Good question. I didn't really address it in my original post.

The biggest advantage that I can think of is that you can easily embed
graphics in your data analysis programs so that you can see intermediate
and/or final results right away. 

For example. An old project that I recently finished was to produce
optical depth profiles of Uranus' Epsilon ring from Voyager 2 occultation
data. Since the data was noisy, my colleagues and I decided to perform
nonlinear least-squares curvefitting to *sections* of the data. We then
overlapped the sections and "pasted" the overlapping parts with a kind of
weighted averaging. 

During many parts of this procedure things could go wrong. We could mess
up with the initial estimates of the parameters for each of the curvefittings.
We could mess up with the weighted averaging. We could mess up with the
functions and their derivatives used in the curvefitting. And the list
goes on. Wouldn't it be useful, then, to see the intermediate results to
know if the process was working correctly?

In my early versions of the program I wrote for this analysis, I did just
that. I created plots every step of the way to verify that what I was doing
was fine, and to catch other places that were working incorrectly. In later
versions of the program I commented out the plotting statements, and 
in fact made "batch" versions so that I could make a lot of runs with
the program at once.

The IDL plots were high quality enough to use in my initial journal submission.
However, I wanted easier control over various aspects of the plots
for my final journal submission, so I turned to Kaleidagraph for those.

Kaleidagraph certainly has its place. It's the first program I turn to
if I have columns of numbers that I want to see. I also really enjoy its
ability to "mask" out data points in identifying outliers, and polynomial
curvefitting to the remaining points.

Remember though, that you are still going to have to write code in
IDL.  You are either going to have to learn the language or hire a
programmer.  The language comes with a few hundred built-in scientific
functions, so at least those would be available to save you time. And
making a plot is as simple as the statement: plot,x,y. If you have
programmed in Fortran before, then the syntax will be a snap to learn.


An aside: I've been concerned for a while with the lack of Mac
software to do first-cut (i.e. simple) scientific data analysis
*without* learning a scripting or a programming language. My spouse
started working on software to fill that need a year ago (I'm
providing some direction, and working on examples, functions, and
documentation), and we hope to release it later this Spring. It's
called "Galactomatic-1000" (sounds like a '50s blender doesn't it?).
We hope to be able to provide an easy "what-if" environment so that
scientists could either generate data, or import data into the
program, then manipulate the data innumerable ways (with lots of
built-in functions, and a parser to create your own), then plot it in
1D, 2D, 3D, vector fields, contours, images, and model the data with
linear and nonlinear fitting, and finally export the data. I'll talk
more about it on the c.s.m.scitech list in the coming months as it
gets closer to completion. (write support@intergalact.com for more
info).

Amara













-- 

*************************************************************************
Amara Graps			email: agraps@netcom.com
Computational Physicist         vita: finger agraps@sunshine.arc.nasa.gov
Intergalactic Reality           bio: finger -lm agraps@netcom.com
*************************************************************************
"When we remember we are all mad, the mysteries disappear and life stands
explained."  --Mark Twain








