1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
|
/* Fitsy FITS header set routines.
EXAMPLES
Set the value part of a card in a header:
+
int i = 15;
double d = 34.7;
char *c = "Shutter";
FITSCard fits;
FITSCard card;
card = #ft_headsetl(fits, "Cosmic", 0, 1, "Removed Cosimics (silver bullet method)");
card = #ft_headseti(fits, "IValue" , 0, i, "15 is the number");
card = #ft_headsetr(fits, "Gain", 1, d, 2, "GAIN1");
card = #ft_headsetr(fits, "Gain", 2, d, 2, "GAIN2");
card = #ft_headsets(fits, "XHIST", 1, "Xray processed!", NULL);
/-* In this example the special pointer #ft_comment is used to
use the existing comment in the card.
*-/
card = #ft_headsets(fits, "FILTER", 0, "V", ft_comment);
+
*/
#include "fitsy.h"
/* Find a FITS card in the header and format a logical value into it.
*/
FITSCard ft_headsetl(fits, name, n, lvalue, comm, append)
FITSHead fits; /* FITS header to search in. */
char *name; /* keyword name. */
int n; /* keyword index number, if is zero no
index number is appended to the keyword.
*/
int lvalue; /* Logical to format as a FITS value. */
char *comm; /* Comment for the card. */
int append; /* Append the card if not found */
{
FITSCard card;
if ( !(card = ft_cardsetl(ft_headfind(fits, name, n, 1), lvalue, comm))
&& append )
card = ft_headappl(fits, name, n, lvalue, comm);
return card;
}
/* Find a FITS card in the header and format a logical value into it.
*/
FITSCard ft_headseti(fits, name, n, ivalue, comm, append)
FITSHead fits;
char *name;
int n;
int ivalue; /* Integer to format as a FITS value. */
char *comm;
int append;
{
FITSCard card;
if ( !(card = ft_cardseti(ft_headfind(fits, name, n, 1), ivalue, comm))
&& append )
card = ft_headappi(fits, name, n, ivalue, comm);
return card;
}
/* Find a FITS card in the header and format a logical value into it.
*/
FITSCard ft_headsetil(fits, name, n, ivalue, comm, append)
FITSHead fits;
char *name;
int n;
longlong ivalue; /* Integer to format as a FITS value. */
char *comm;
int append;
{
FITSCard card;
if ( !(card = ft_cardsetil(ft_headfind(fits, name, n, 1), ivalue, comm))
&& append )
card = ft_headappil(fits, name, n, ivalue, comm);
return card;
}
/* Find a FITS card in the header and format a logical value into it.
*/
FITSCard ft_headsetr(fits, name, n, rvalue, prec, comm, append)
FITSHead fits;
char *name;
int n;
double rvalue; /* Double to format as a FITS value. */
int prec; /* The value is formatted
at this precision.
*/
char *comm;
int append;
{
FITSCard card;
if ( !(card = ft_cardsetr(ft_headfind(fits, name, n, 1)
, rvalue, prec, comm))
&& append )
card = ft_headappr(fits, name, n, rvalue, prec, comm);
return card;
}
/* Find a FITS card in the header and format a string value into it.
*/
FITSCard ft_headsets(fits, name, n, svalue, comm, append)
FITSHead fits;
char *name;
int n;
char *svalue; /* String to format as a FITS value. */
char *comm;
int append;
{
FITSCard card;
if ( !(card = ft_cardsets(ft_headfind(fits, name, n, 1), svalue, comm))
&& append )
card = ft_headapps(fits, name, n, svalue, comm);
return card;
}
|