Difference between revisions of "User:Level zero/GSOC13/api"

From BRL-CAD
(Structure)
(Added name to each group)
Line 1: Line 1:
 
=API CALLS=
 
=API CALLS=
==Group1==
+
==Cropping(Group1)==
 
*for bwrect, pixrect
 
*for bwrect, pixrect
 
     void
 
     void
Line 17: Line 17:
 
             icv_point_t *p3,
 
             icv_point_t *p3,
 
             icv_point_t *p4);
 
             icv_point_t *p4);
==Group2==
+
 +
==Operations (Group2)==
 
*for bwdiff, pixdiff
 
*for bwdiff, pixdiff
 
     void
 
     void
Line 38: Line 39:
 
                 double saturation);
 
                 double saturation);
  
==Group3==
+
==Filters (Group3)==
 
*for bwfilter, pixfilter, pix3filter, pixfade
 
*for bwfilter, pixfilter, pix3filter, pixfade
 
     void
 
     void
Line 45: Line 46:
 
               int kernel);
 
               int kernel);
  
==Group4==
+
==Histogram (Group4)==
 
*for bwhist, pixhist
 
*for bwhist, pixhist
 
     void
 
     void
Line 57: Line 58:
 
                     icv_imgage_file_t *out);
 
                     icv_imgage_file_t *out);
  
==Group5==
+
==Scale (Group5)==
 
*for bwscale, pixscale
 
*for bwscale, pixscale
 
     void icv_histeq(icv_image_file_t *img,
 
     void icv_histeq(icv_image_file_t *img,
Line 70: Line 71:
 
                     int method);
 
                     int method);
  
==Group6==
+
==Stats (Group6)==
 
*for imgdims, pixcount
 
*for imgdims, pixcount
 
Not useful     
 
Not useful     
Line 84: Line 85:
 
      
 
      
  
==Group7==
+
==Threshold (Group7)==
 
*for bwthresh  
 
*for bwthresh  
 
     void icv_threshold(icv_image_file_t *img,
 
     void icv_threshold(icv_image_file_t *img,
Line 94: Line 95:
 
/* Need Suggestions */
 
/* Need Suggestions */
 
      
 
      
==Group8==
+
==Interpolate(Group8)==
 
*for pixinterep2x
 
*for pixinterep2x
 
     void icv_interep2x(icv_image_file_t *img,
 
     void icv_interep2x(icv_image_file_t *img,
Line 102: Line 103:
 
                   icv_image_file_t *img_out
 
                   icv_image_file_t *img_out
 
                   int autosize );
 
                   int autosize );
 
  
 
=Structure=
 
=Structure=

Revision as of 09:33, 11 June 2013

API CALLS

Cropping(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);

Operations (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);

Filters (Group3)

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

Histogram (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);

Scale (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);

Stats (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 */    
   

Threshold (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 */

Interpolate(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;
   };