Unidata - To provide the data services, tools, and cyberinfrastructure leadership that advance Earth system science, enhance educational opportunities, and broaden participation. Unidata
         
  advanced  
 

the AD in VisAD

I would like to know more about algorithm development with VisAD.

For general users who want to develop algorithms to process data,
is there a way in VisAD to let the user 1) compose an algorithm of
arbitrary complexity, 2) plug it into perhaps a subclass of
FlatField WITHOUT having to modify the said FlatField subclass
source code and recompiling, and 3) run evaluate() on a given
domain set with the efficiency that is largely limited
to the efficiency of the code of the algorithm.

What is asked for is perhaps an algorithm object that is more
detached from the actual data, that can be developed and fiddled
with by the user, that could have parameters (i.e. number of data
point in a boxcar smoothing algorithm), but can be applied
to data using a hosting FlatField. Of course the algorithm object has
to be applicable to the data according to the domain and range
in the FlatField.

Currently FlatField, by implementing DataImpl, can do simple
math such as sin() exp(). A user could use Jython to realize
a certain type of complext algorithm using these methods.
There are limits in developing algorithms this way.
The efficiency in memory and speed can be a problem if
the algorithm needs to do many primitive floating point operations,
and can easily be impossible if the algorithm is more complex
than doing the same math operation to all elements in the
data sample (e.g. doing an transformation to an image).

I could well have missed something obvious in the VisAD framework
that allows rapid and flexible algorithm developement
without losing efficiency during execution.
But if there isn't anything close to the above requirements in VisAD,
how to implement it? I guess an algorithm can be plugged into
somewhere in the Funtion-> Field -> FlatField inheritance chain?
I only use FlatField as example above. 

any thoughts?

maohai huang

__________________________________________________
Do you Yahoo!?
Yahoo! Web Hosting - establish your business online
http://webhosting.yahoo.com


 
 
  Contact Us     Site Map     Search     Terms and Conditions     Privacy Policy     Participation Policy
 
National Science Foundation (NSF) UCAR Community Programs   Unidata is a member of the UCAR Community Programs, is managed by the University Corporation for Atmospheric Research, and is sponsored by the National Science Foundation.
P.O. Box 3000     Boulder, CO 80307-3000 USA     Tel: 303-497-8643     Fax: 303-497-8690