User:Level zero/GSOC13/api

From BRL-CAD
Revision as of 14:21, 10 June 2013 by Level zero (talk | contribs) (Structure)

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;
   int kerndiv;	/* Divisor for kernel */
   int kernoffset;	/* To be added to result */
 };
  • ICV_STAT
   struct icv_stat {
     int max, min, mode, median;
     double mean, var, skew;
     long sum, partial_sum;
   };