[fitswcs] -TAB progress report

Eric Greisen egreisen at nrao.edu
Wed Dec 22 16:05:30 EST 2004


Mark Calabretta writes:
 > Since WCS Paper III is waiting for the implementation of -TAB, and I
 > will be on leave till mid-January, I thought a progress report may be
 > of interest.

      Thanks for the progress report.

 > 
 > -TAB has been implemented, documented, and tested in WCSLIB 3.7
 > (unreleased) with the exception of the inverse table lookup function,
 > tabs2x().  The implementation was pretty straightforward and I've only
 > been able to spend the equivalent of a few full days on it so far.  At
 > this stage I have the following amount of code and documentation:
 > 
 > grus-110% wc tab.h tab.c test/ttab.c 
 >     447    2679   19231 tab.h
 >     743    2379   18399 tab.c
 >     123     475    3374 test/ttab.c
 >    1313    5533   41004 total

    The choice of tabini for a s.r. name may give AIPS a pain if we
get a chance to include wcslib.  The EVLA should use FREQ-TAB for its
main frequency axis, with Table 10/Fig 7 being a simplified EVLA freq
axis.

 > Notes that I made while coding:
 > 
 > * References in Paper III to "indexing array" are somewhat confusing
 >   since these are always one-dimensional, i.e. "indexing vector" would
 >   be a better description.

     I suppose - the word was vector until the blue color changes and
is now a red-color vector.  "index array" has become "indexing vector" as
well where it occurred.

 >   
 > * In Sect. 6.1.1 it is stated that "The data in the indexing arrays must
 >   be monotonically increasing or decreasing, although two adjacent index
 >   values in the array are allowed to have the same value".

    The sentence below was added:

 >   However it should not be considered valid for an index value to appear
 >   more than twice in an index vector, nor for an index value to be
 >   repeated at the start or at the end of an index vector.

 > * Eq. (88) is not valid for Psi_k == Psi_{k+1}.  The required condition is
 >   either
 > 
 >      Psi_k <  psi_m <= Psi_{k+1}
 > 
 >   or
 > 
 >      Psi_k <= psi_m <  Psi_{k+1}
 > 
 >   for monotonic increasing indexing vectors, and similarly for monotonic
 >   decreasing indexing vectors.

     A phrase and a sentence awere added to deal with this.

 > 
 > * Paper III gives no hint on how to implement linear interpolation in an
 >   M-dimensional table.  I had to resort to the method defined in the
 >   draft of Paper IV.

      Mark, why is 2-D linear interpolation so hard for you?  I
avoided the messy nomenclature needed to actually write such a thing
out.  But order does not matter.  Conceptually, one interpolates in X
for both Ys and then in Y, or vice versa.  If you really insist, I
will find a place in the paper to write the thing out in glorious
detail but it will be a multi-line mess obscuring the simplicity of
the concept.

 > 
 > In testing I was surprised by how inadequate table lookup can be in some
 > circumstances.  However, as I was trying to map coordinates in the
 > region of a singularity perhaps I expected too much.  Nevertheless, it
 > would be useful to discuss this either in Paper III or IV, probably in
 > Paper IV.

If anyone can find a place in Paper III and a suggested wording I will
accept it.  The opening sentence in -TAB says coordinate well defined
which a singularity is not...

Eric Greisen




More information about the fitswcs mailing list