NAME¶
FunImageRowPut - put row(s) of an image
SYNOPSIS¶
#include <funtools.h>
void *FunImageRowPut(Fun fun, void *buf, int rstart, int rstop,
int dim1, int dim2, int bitpix, char *plist)
DESCRIPTION¶
The
FunImageRowPut() routine writes one or more
image rows to the specified FITS image file. The first argument is the
Funtools handle returned by
FunOpen(). The second
buf argument
is a pointer to the row data buffer, while the third and fourth arguments
specify the starting and ending rows to write. Valid rows values range from 1
to dim2, i.e., row is one\-valued.
The
dim1and
dim2 arguments that follow specify the dimensions,
where dim1 corresponds to naxis1 and dim2 corresponds to naxis2. The
bitpix argument data type of the image and can have the following
FITS-standard values:
- •
- 8 unsigned char
- •
- 16 short
- •
- 32 int
- •
- \-32 float
- •
- \-64 double
For example:
double *drow;
Fun fun, fun2;
... open files ...
/* get section dimensions */
FunInfoGet(fun, FUN_SECT_DIM1, &dim1, FUN_SECT_DIM2, &dim2, 0);
/* allocate one line's worth */
drow = malloc(dim1*sizeof(double));
/* retrieve and process each input row (starting at 1) */
for(i=1; i <= dim2; i++){
if( !FunImageRowGet(fun, drow, i, i, "bitpix=-64") )
gerror(stderr, "can't FunImageRowGet: %d %s\n", i, iname);
... process drow ...
if( !FunImageRowPut(fun2, drow, i, i, 64, NULL) )
gerror(stderr, "can't FunImageRowPut: %d %s\n", i, oname);
}
...
The data are assumed to be in the native machine format and will automatically
be swapped to big-endian FITS format if necessary. This behavior can be
over-ridden with the
convert=[true⎪false] keyword in the
plist param list string.
When you are finished writing the image, you should call
FunFlush() to
write out the FITS image padding. However, this is not necessary if you
subsequently call
FunClose() without doing any other I/O to the FITS
file.
SEE ALSO¶
See
funtools(7) for a list of Funtools help pages