next up previous
Next: READBIGIO - read Up: C Examples Previous: C Examples

MAKEBIGIO - make a big image

/*   MAKEBIGIO.C - create a small bigimage and fill it with values */

#include <stdio.h>
#include <errno.h>

#include "bigio.h"

int main ( int argc, char **argv )
{
   char mapname[132];        /* name of directory to hold bigimage */
   int bd;                   /* bigimage descriptor */
   int status;               /* status */
   short values[20];         /* values written to the bigimage */
   int lane;                 /* lane number */
   int row;                  /* row number */
   int j;                    /* loop counter */
   char errmsg[80];          /* error message */

/*   Invent a row of pixel values */

   for ( j=0; j<20; j++ )
   {
      values[j] = (short)j;
   }

/*   Extract the mapname, which is the name of the directory to hold the
     bigimage */

   if ( argc == 2 )
   {
      strcpy ( mapname, argv[1] );

/*   Create the bigimage */

      status = 0;
      bigio_create ( mapname, 3, 20, 30, "I2S", &status );
      if ( status != 0 )
      {
         printf ( "failed to create map\n" );
         bigio_errtran ( 80, errmsg, &status );
         printf ( "%s\n", errmsg );
      }
      else
      {

/*   Open the bigimage and write the invented data to it. Each row of
     pixels in each lane is the same */

         bigio_open ( mapname, "update", &bd, &status );
         if ( status != 0 )
         {
            printf ( "failed to open map\n" );
            bigio_errtran ( 80, errmsg, &status );
            printf ( "%s\n", errmsg );
         }
         else
         {
            for ( lane=1; lane<=3; lane++ )
            {
               for ( row=1; row<=30; row++ )
               {
                  bigio_putrow ( bd, lane, row, (char *)values, &status );
               }
            }
            if ( status != 0 )
            {
               printf ( "failed to write map\n" );
               bigio_errtran ( 80, errmsg, &status );
               perror ( errmsg );
            }
            bigio_close ( bd, &status );
         }
      }
   }
   else
   {
      printf ( "makebigio: usage:- makebigio mapname\n" );
   }
   return 0;
}



SuperCOSMOS development
Tue Aug 20 12:02:13 BST 1996