Changeset 3520 in Sophya
- Timestamp:
- Sep 11, 2008, 2:45:01 PM (17 years ago)
- Location:
- trunk/SophyaPI/PIext
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaPI/PIext/nomskymapadapter.cc
r3433 r3520 33 33 virtual ~LocalMapArrAdapter() { if (ad) delete map; } 34 34 virtual double Value(int ix, int iy) { return((*map)(ix, iy)); } 35 virtual double MeanVal(int ix1, int ix2, int jy1, int jy2) 36 { 37 int ec; 38 if (ix1>ix2) { ec=ix1; ix1=ix2; ix2=ec; } 39 if (jy1>jy2) { ec=jy1; jy1=jy2; jy2=ec; } 40 double ss = 0.; 41 for(int j=jy1; j<=jy2; j++) 42 for(int i=ix1; i<=ix2; i++) ss += (double)((*map)(i, j)); 43 ss /= (double)((jy2-jy1+1)*(ix2-ix1+1)); 44 return ss; 45 } 35 46 36 47 protected : … … 56 67 im = (*map)(iy, ix).imag(); 57 68 return(sqrt(re*re+im*im)); 69 } 70 71 /* --Methode-- */ 72 DECL_TEMP_SPEC /* equivalent a template <> , pour SGI-CC en particulier */ 73 double LocalMapArrAdapter< complex<float> >::MeanVal(int ix1, int ix2, int jy1, int jy2) 74 { 75 int ec; 76 if (ix1>ix2) { ec=ix1; ix1=ix2; ix2=ec; } 77 if (jy1>jy2) { ec=jy1; jy1=jy2; jy2=ec; } 78 complex<float> ss = 0.; 79 for(int j=jy1; j<=jy2; j++) 80 for(int i=ix1; i<=ix2; i++) ss += (*map)(i, j); 81 ss /= (double)((jy2-jy1+1)*(ix2-ix1+1)); 82 return sqrt(ss.real()*ss.real()+ss.imag()*ss.imag()); 83 } 84 85 /* --Methode-- */ 86 DECL_TEMP_SPEC /* equivalent a template <> , pour SGI-CC en particulier */ 87 double LocalMapArrAdapter< complex<double> >::MeanVal(int ix1, int ix2, int jy1, int jy2) 88 { 89 int ec; 90 if (ix1>ix2) { ec=ix1; ix1=ix2; ix2=ec; } 91 if (jy1>jy2) { ec=jy1; jy1=jy2; jy2=ec; } 92 complex<double> ss = 0.; 93 for(int j=jy1; j<=jy2; j++) 94 for(int i=ix1; i<=ix2; i++) ss += (*map)(i, j); 95 ss /= (double)((jy2-jy1+1)*(ix2-ix1+1)); 96 return sqrt(ss.real()*ss.real()+ss.imag()*ss.imag()); 58 97 } 59 98 -
trunk/SophyaPI/PIext/phistwrapper.h
r3153 r3520 99 99 // Identique a l'operateur ()(i) 100 100 virtual double Value(int i, int j) { return (*this)(i, j); } 101 // Calcule la moyenne des bins entre (ix1,jy1) <= (ix2, jy2) 102 virtual double MeanVal(int ix1, int ix2, int jy1, int jy2); 101 103 102 104 // Methode de mise a jour du contenu -
trunk/SophyaPI/PIext/pihisto2d.cc
r3153 r3520 23 23 P2DHistoWrapper::~P2DHistoWrapper() 24 24 { 25 } 26 27 28 double P2DHistoWrapper::MeanVal(int ix1, int ix2, int jy1, int jy2) 29 { 30 int ec; 31 if (ix1>ix2) { ec=ix1; ix1=ix2; ix2=ec; } 32 if (jy1>jy2) { ec=jy1; jy1=jy2; jy2=ec; } 33 double ss = 0.; 34 for(int j=jy1; j<=jy2; j++) 35 for(int i=ix1; i<=ix2; i++) ss += (double)((*this)(i, j)); 36 ss /= (double)((jy2-jy1+1)*(ix2-ix1+1)); 37 return ss; 25 38 } 26 39 -
trunk/SophyaPI/PIext/pimgadapter.h
r493 r3520 32 32 virtual ~ImageAdapter() { if (aDel) delete mImg; } 33 33 virtual double Value(int ix, int iy) { return((*mImg)(ix, iy)); } 34 virtual double MeanVal(int ix1, int ix2, int jy1, int jy2) 35 { 36 int ec; 37 if (ix1>ix2) { ec=ix1; ix1=ix2; ix2=ec; } 38 if (jy1>jy2) { ec=jy1; jy1=jy2; jy2=ec; } 39 double ss = 0.; 40 for(int j=jy1; j<=jy2; j++) 41 for(int i=ix1; i<=ix2; i++) ss += (double)((*mImg)(i, j)); 42 ss /= (double)((jy2-jy1+1)*(ix2-ix1+1)); 43 return ss; 44 } 34 45 35 46 protected : -
trunk/SophyaPI/PIext/pitvmaad.cc
r2930 r3520 71 71 72 72 /* --Methode-- */ 73 template <class T> 74 double POTMatrixAdapter<T>::MeanVal(int ix1, int ix2, int jy1, int jy2) 75 { 76 int ec; 77 if (ix1>ix2) { ec=ix1; ix1=ix2; ix2=ec; } 78 if (jy1>jy2) { ec=jy1; jy1=jy2; jy2=ec; } 79 double ss = 0.; 80 for(int j=jy1; j<=jy2; j++) 81 for(int i=ix1; i<=ix2; i++) ss += (double)((*mMtx)(j, i)); 82 ss /= (double)((jy2-jy1+1)*(ix2-ix1+1)); 83 return ss; 84 } 85 86 87 /* --Methode-- */ 73 88 DECL_TEMP_SPEC /* equivalent a template <> , pour SGI-CC en particulier */ 74 89 double POTMatrixAdapter< complex<float> >::Value(int ix, int iy) … … 89 104 return(sqrt(re*re+im*im)); 90 105 } 106 107 /* --Methode-- */ 108 DECL_TEMP_SPEC /* equivalent a template <> , pour SGI-CC en particulier */ 109 double POTMatrixAdapter< complex<float> >::MeanVal(int ix1, int ix2, int jy1, int jy2) 110 { 111 int ec; 112 if (ix1>ix2) { ec=ix1; ix1=ix2; ix2=ec; } 113 if (jy1>jy2) { ec=jy1; jy1=jy2; jy2=ec; } 114 complex<float> ss = 0.; 115 for(int j=jy1; j<=jy2; j++) 116 for(int i=ix1; i<=ix2; i++) ss += (*mMtx)(j, i); 117 ss /= (double)((jy2-jy1+1)*(ix2-ix1+1)); 118 return sqrt(ss.real()*ss.real()+ss.imag()*ss.imag()); 119 } 120 121 /* --Methode-- */ 122 DECL_TEMP_SPEC /* equivalent a template <> , pour SGI-CC en particulier */ 123 double POTMatrixAdapter< complex<double> >::MeanVal(int ix1, int ix2, int jy1, int jy2) 124 { 125 int ec; 126 if (ix1>ix2) { ec=ix1; ix1=ix2; ix2=ec; } 127 if (jy1>jy2) { ec=jy1; jy1=jy2; jy2=ec; } 128 complex<double> ss = 0.; 129 for(int j=jy1; j<=jy2; j++) 130 for(int i=ix1; i<=ix2; i++) ss += (*mMtx)(j, i); 131 ss /= (double)((jy2-jy1+1)*(ix2-ix1+1)); 132 return sqrt(ss.real()*ss.real()+ss.imag()*ss.imag()); 133 } 91 134 92 135 #ifdef __CXX_PRAGMA_TEMPLATES__ -
trunk/SophyaPI/PIext/pitvmaad.h
r594 r3520 38 38 virtual ~POTMatrixAdapter(); 39 39 virtual double Value(int ix, int iy); 40 virtual double MeanVal(int ix1, int ix2, int jy1, int jy2); 40 41 41 42 protected:
Note:
See TracChangeset
for help on using the changeset viewer.