User:Level zero/GSOC13/api

From BRL-CAD
Revision as of 13:13, 10 June 2013 by Level zero (talk | contribs) (STructures and API)

API CALLS

Group1

  • for bwrect, pixrect
   void
   icv_rect(icv_image_file_t *img,
            icv_image_file_t *img_out,    
            icv_point_t *area,
            icv_point_t *orig);   
  • for bwcrop
   void
   icv_crop(icv_image_file_t *img,
            icv_image_file_t *img_out,
            icv_size_t *outsize,
            icv_point_t *p1,
            icv_point_t *p2,
            icv_point_t *p3,
            icv_point_t *p4);

Group2

  • for bwdiff, pixdiff
   void
   icv_oper2(icv_image_file_t* img1,
             icv_image_file_t* img2,
             icv_image_file_t *img_out,
             icv_operation *opr) 
  • for bwmod
   void
   icv_oper1(icv_image_file* img,
             icv_image_file_t *img_out,
             icv_operation_t *oper[],  
             int numop); 
  • for Pixsaturate
   void
   icv_saturate(icv_image_file_t *img,
                icv_image_file_t *img_out,    
                double saturation);

Group3

  • for bwfilter, pixfilter, pix3filter, pixfade
   void
   icv_filter(icv_image_file_t *img,
              icv_image_file_t *img_out,  
              int kernel);

Group4

  • for bwhist, pixhist
   void
   icv_hist(icv_image_file_t *img, 
           long *bin1, 
           long *bin2, 
           long *bin3);
  • for bwhisteq
   void icv_histeq(icv_image_file_t *img,
                   icv_imgage_file_t *out);

Group5

  • for bwscale, pixscale
   void icv_histeq(icv_image_file_t *img,
                   icv_image_file_t *img_out,
                   icv_size_t *size,
                   int method);
  • for bwshrink, pixshrink
   void icv_shrink(icv_image_file_t *img,
                   icv_image_file_t* img_out,
                   icv_size_t *size,
                   int factor,
                   int method);

Group6

  • for imgdims, pixcount

Not useful

  • for pixstat, bwstat
   void icv_stat(icv_image_file_t *img,
                 icv_stat_t *stat1, 
                 icv_stat_t *stat2,   
                 icv_stat_t *stat3);
  • for pixcolors
   void icv_colors(icv_image_file_t *img) 
   /* Prints all the colors */    
   

Group7

  • for bwthresh
   void icv_threshold(icv_image_file_t *img,
                      icv_image_file_t *img_out,
                      unsigned char *val,

int num_thresh);

  • for pixclump
   void icv_clump()	

/* Need Suggestions */

Group8

  • for pixinterep2x
   void icv_interep2x(icv_image_file_t *img,
                      icv_image_file_t *img_out);    
  • for pixhalve
   void icv_halve(icv_image_file_t *img,
                  icv_image_file_t *img_out
                  int autosize );

Structure

  • ICV_IMAGE_FILE

struct icv_image_file { uint_32 magic; char* filename; int fd; int format; int width, height, depth; unsigned char *data; unisgned long flags; }

  • ICV_SIZE

struct icv_size { int height, width; }

  • ICV_POINT

struct icv_point { int x,y; }

  • ICV_OPERATION

struct icv_operation { char oper; double val; }

  • ICV_KERNEL

struct icv_kernel { char *name; char *uname; /* What is needed to recognize it */ int kern[9]; int kerndiv; /* Divisor for kernel */ int kernoffset; /* To be added to result */ }

  • ICV_STAT

struct icv_stat {

   long bin[256];
   int max, min, mode, median;
   double mean, var, skew;
   long sum, partial_sum;

}