[Issues] floating point format again...

Hans Vaith hav at mpe.mpg.de
Tue Jul 17 15:08:02 CEST 2007


Dear All,

this is a followup to the floating point format issue. It turns out that the 
LBCBLUE MEF FITS files actually store the CDi_j values in correct notation. 
For example:

CD1_2   =          -0.00000007 / Matrix distortion element

But the final per-chip FITS files created during the ingestion show this 
entry:

CD1_2   =                -7e-8

That is, the dot that is required as part of the FITS floating point number 
specification is missing. The problem seems to arise in the very last stage 
when eclipse.image.image.save() is called, which in turn uses 
qfits_header_dump() to write the FITS header. While the header variable on 
the python level stores the values actually as floating point numbers, the 
header structure passed to the C routine qfits_header_dump stores the values 
of the FITS header entries as character strings, so there must be some 
conversion somewhere (possibly implicit?).

In fact, using python's str() function to convert the floating point 
number -0.00000007 to string representation, one gets '-7e-8', which is 
excatly what is shown in the resulting FITS files and causes the problems 
with preastrom due to the missing dot.

What is the best way to fix this?

Cheers,
Hans



More information about the Issues mailing list