---
name: "funimagerowput"
section: "3"
platform: "linux"
package: "libfuntools-dev"
version: "1.4.4-3"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/funimagerowput"
---

# funimagerowput(3)

put row(s) of an image

## 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 **dim1**and **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)](/funtools/7.md) for a list of Funtools help pages
