Main Page   File List   File Members  

init_vals.c File Reference

Go to the source code of this file.

Functions

float find_surrounding_mean (float **empty, int Ni, int Nj, int pi, int pj, int di, int dj, int oi, int oj)
float find_surrounding_variance (float **empty, int Ni, int Nj, int pi, int pj, int di, int dj, int oi, int oj, float mean)


Function Documentation

float find_surrounding_mean float **    empty,
int    Ni,
int    Nj,
int    pi,
int    pj,
int    di,
int    dj,
int    oi,
int    oj
 

Definition at line 9 of file init_vals.c.

00012 {
00013         int i,j;
00014         int limi=pi+di,limj=pj+dj;
00015         float mean=0;
00016         int norm=0;
00017 
00018         for(j=pj-oj;j<limj+oj;j++) {
00019 
00020                 if((j<0)||(j>=Nj))
00021                         continue;
00022 
00023                 for(i=pi-oi;i<pi;i++) {
00024 
00025                         if((i<0)||(i>=Ni))
00026                                 continue;
00027 
00028                         mean+=empty[i][j];
00029                         norm++;
00030                 }
00031                 for(i=limi;i<limi+oi;i++) {
00032 
00033                         if((i<0)||(i>=Ni))
00034                                 continue;
00035 
00036                         mean+=empty[i][j];
00037                         norm++;
00038                 }
00039         }
00040 
00041         for(i=pi;i<limi;i++) {
00042 
00043                 if((i<0)||(i>=Ni))
00044                         continue;
00045 
00046                 for(j=pj-oj;j<pj;j++) {
00047 
00048                         if((j<0)||(j>=Nj))
00049                                 continue;
00050 
00051                         mean+=empty[i][j];
00052                         norm++;
00053                 }
00054                 for(j=limj;j<limj+oj;j++) {
00055 
00056                         if((j<0)||(j>=Nj))
00057                                 continue;
00058 
00059                         mean+=empty[i][j];
00060                         norm++;
00061                 }       
00062         }
00063 
00064         if(norm)
00065                 mean/=(float)norm;
00066         else
00067                 mean=128;
00068 
00069         return(mean);
00070 }

float find_surrounding_variance float **    empty,
int    Ni,
int    Nj,
int    pi,
int    pj,
int    di,
int    dj,
int    oi,
int    oj,
float    mean
 

Definition at line 75 of file init_vals.c.

00078 {
00079         int i,j;
00080         int limi=pi+di,limj=pj+dj;
00081         float var=0;
00082         int norm=0;
00083 
00084         for(j=pj-oj;j<limj+oj;j++) {
00085 
00086                 if((j<0)||(j>=Nj))
00087                         continue;
00088 
00089                 for(i=pi-oi;i<pi;i++) {
00090 
00091                         if((i<0)||(i>=Ni))
00092                                 continue;
00093 
00094                         var+=empty[i][j]*empty[i][j];
00095                         norm++;
00096                 }
00097                 for(i=limi;i<limi+oi;i++) {
00098 
00099                         if((i<0)||(i>=Ni))
00100                                 continue;
00101 
00102                         var+=empty[i][j]*empty[i][j];
00103                         norm++;
00104                 }
00105         }
00106 
00107         for(i=pi;i<limi;i++) {
00108 
00109                 if((i<0)||(i>=Ni))
00110                         continue;
00111 
00112                 for(j=pj-oj;j<pj;j++) {
00113 
00114                         if((j<0)||(j>=Nj))
00115                                 continue;
00116 
00117                         var+=empty[i][j]*empty[i][j];
00118                         norm++;
00119                 }
00120                 for(j=limj;j<limj+oj;j++) {
00121 
00122                         if((j<0)||(j>=Nj))
00123                                 continue;
00124 
00125                         var+=empty[i][j]*empty[i][j];
00126                         norm++;
00127                 }       
00128         }
00129 
00130         if(norm)
00131                 var/=(float)norm;
00132         else
00133                 var=255*255;
00134 
00135         return(var-mean*mean);
00136 }


Generated on Fri Jan 16 00:15:43 2004 for Image_Recovery_Proof_of_Concept_Code by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002