[Ifeffit] contributing to the Ifeffit family

Bruce Ravel ravel at phys.washington.edu
Tue Oct 28 11:15:20 CST 2003

Hi folks,

On occassion, the topic comes up of contributions to the ifeffit
universe from other people besides Matt, Sam, and myself.  Indeed,
there have been some excellent examples centered around this mailing
list.  For example, a few months ago, we had a really useful
discussion, including code examples, about rebinning data.  As a
somewhat smaller example, two fine souls responded to my request for
some example data from NSLS X10C.

Last week, Scott asked this:

   Oh, and I've been thinking.  [Matt and Bruce] spend enormous
   amounts of time on this software, and it's a big contribution to
   the field.  As I explained above, I'm not willing to help on the
   coding end, but I'd like to support the project in some way.  I
   know Bruce has mentioned the need for more/better Athena and
   Artemis documentation...I was hesitant to suggest I help with that
   until I got more familiar with the software, but I think I'm now
   getting to that point.  So Bruce--what is the most pressing need in
   that area?  I'll see if I can start devoting some time to it...

I thought I would answer Scott's question in public.  Who knows, maybe
I'll start something ;-)

I will divide this up into a few categories.  If you dig into any of
these, we should probably communicate so that you produce something in
a format that will be useful to us developers.

Pure documentation

1.  Edit and expand upon the documentation that exists for Athena.
    The Athena doc is actually in pretty good shape.  Most parts of
    the code are at least mentioned in the doc.  If you are not
    familiar with the POD markup that is used in Athena's docs, don't
    worry.  If you do some significant editing, I'll be happy to touch
    up the mark-up.

2.  The Artemis document needs serious work.  Pick a topic that
    interests you (or one of the unwritten topics in the current
    document) and start writing.  You don't have to write in Latex.
    If you write in Word or some other format, all I'd ask is that you
    not format what you write too heavily and that you provide me with
    external copies of all images in appropriate formats.

3.  Write a FAQ (frequently asked/answered/anticipated questions).
Documentation by example

One of the neat (IMHO, anyway) ways that I have documented Athena is
the collection of demo projects, which are just normal Athena projects
with extensive commentary in the Journal area.

1.  Make more Athena projects.  Improve upon the ones that are already

2.  Make some nice Artemis projects.  Even better, make a sequence of
    Artemis projects which demonstrate the steps one might take in
    building a sophisticated fitting model.

Programming and related chores

If you are inclined to deal with code, but don't necessarily want to
dive into Athena or Artemis, here are some smaller projects.

1.  Write an object-oriented module in Perl for accessing Spec data
    files.  I could then use this in Athena.

2.  Volunteer to maintain and build the Windows distribution and

3.  Collect examples of data from every dedicated XAFS beamline in the
    world.  (Really, I mean it, every one.)  Figure out which ones can
    be read by Ifeffit and which cannot.  Figure out how to preprocess
    the ones that aren't read properly by Ifeffit and explain to us
    how to recognize them and how to preprocess them.

4.  Think up a battery of tests.  Subject Athena and Artemis to those
    tests soon after (or even prior to) every release.  Let me know
    about any problems.

Web-based projects

1.  Set up a web site for a FAQ which allows searching the FAQ for

2.  Set up a web page which indexes the Ifeffit mailing list archives
    and allows searching by keywords.
3.  Set up and administer a Wiki so everyone can participate in the
    process of documenting Ifeffit, SixPack, Athena, and Artemis.

4.  Set up and administer a community discussion board.  My
    inclination would be to use Slash (http://slashcode.com), which
    has a comination of features that I think could provide a valuable
    service to the XAFS community.

5.  Collect and organize new material for the databases that Matt
    maintains which contain atoms input files and standards spectra.

Well, that ought to be enough suggestions to get anyone started.
 Bruce Ravel  ----------------------------------- ravel at phys.washington.edu
 Code 6134, Building 3, Room 222
 Naval Research Laboratory                          phone: (1) 202 767 5947
 Washington DC 20375, USA                             fax: (1) 202 767 1697

 NRL Synchrotron Radiation Consortium (NRL-SRC)
 Beamlines X11a, X11b, X23b
 National Synchrotron Light Source
 Brookhaven National Laboratory, Upton, NY 11973

 My homepage:    http://feff.phys.washington.edu/~ravel 
 EXAFS software: http://feff.phys.washington.edu/~ravel/software/exafs/

More information about the Ifeffit mailing list