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

From BRL-CAD
(STructures and API)
(Structure)
Line 102: Line 102:
 
                   icv_image_file_t *img_out
 
                   icv_image_file_t *img_out
 
                   int autosize );
 
                   int autosize );
 +
  
 
=Structure=
 
=Structure=
 
*ICV_IMAGE_FILE
 
*ICV_IMAGE_FILE
struct icv_image_file {
+
uint_32 magic;
+
  struct icv_image_file {
char* filename;
+
    uint_32 magic;
int fd;
+
    char* filename;
int format;
+
    int fd;
int width, height, depth;
+
    int format;
unsigned char *data;
+
    int width, height, depth;
unisgned long flags;
+
    unsigned char *data;
}
+
    unisgned long flags;
 +
  };
  
 
*ICV_SIZE
 
*ICV_SIZE
struct icv_size {
+
int height, width;
+
  struct icv_size {
}
+
    int height, width;
 +
  };
  
 
*ICV_POINT
 
*ICV_POINT
struct icv_point {
+
int x,y;
+
  struct icv_point {
}
+
    int x,y;
 +
  };
  
 
*ICV_OPERATION
 
*ICV_OPERATION
struct icv_operation {
+
char oper;
+
  struct icv_operation {
double val;
+
    char oper;
}
+
    double val;
 +
  };
 +
 
*ICV_KERNEL
 
*ICV_KERNEL
struct icv_kernel {
+
char *name;
+
  struct icv_kernel {
char *uname; /* What is needed to recognize it */
+
    char *name;
int kern[9];
+
    char *uname; /* What is needed to recognize it */
int kerndiv; /* Divisor for kernel */
+
    int *kern;
int kernoffset; /* To be added to result */
+
    int kerndiv; /* Divisor for kernel */
}
+
    int kernoffset; /* To be added to result */
 +
  };
  
 
*ICV_STAT
 
*ICV_STAT
struct icv_stat {
+
   
    long bin[256];
+
    struct icv_stat {
    int max, min, mode, median;
+
      int max, min, mode, median;
    double mean, var, skew;
+
      double mean, var, skew;
    long sum, partial_sum;
+
      long sum, partial_sum;
}
+
    };

Revision as of 14:21, 10 June 2013

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