Last change
on this file since 3572 was 3572, checked in by cmv, 17 years ago |
char* -> const char* pour regler les problemes de deprecated string const... + comparaison unsigned signed + suppression EVOL_PLANCK rz+cmv 07/02/2009
|
File size:
972 bytes
|
Rev | Line | |
---|
[165] | 1 | #ifndef PIMGADAPTER_SEEN
|
---|
| 2 | #define PIMGADAPTER_SEEN
|
---|
| 3 |
|
---|
| 4 | #include "cimage.h"
|
---|
| 5 | #include "parradapter.h"
|
---|
| 6 |
|
---|
| 7 |
|
---|
| 8 | template <class T>
|
---|
| 9 | class ImageAdapter : public P2DArrayAdapter {
|
---|
| 10 | public:
|
---|
| 11 | ImageAdapter(Image<T>* img, bool ad=false) :
|
---|
| 12 | P2DArrayAdapter(img->XSize(), img->YSize())
|
---|
[338] | 13 | { aDel = ad; mImg = img;
|
---|
| 14 | DefineXYCoordinates(img->XOrg(), img->YOrg(), 1., 1. ); }
|
---|
[165] | 15 |
|
---|
| 16 | virtual ~ImageAdapter() { if (aDel) delete mImg; }
|
---|
[205] | 17 | virtual double Value(int ix, int iy) { return((*mImg)(ix, iy)); }
|
---|
[3520] | 18 | virtual double MeanVal(int ix1, int ix2, int jy1, int jy2)
|
---|
| 19 | {
|
---|
| 20 | int ec;
|
---|
| 21 | if (ix1>ix2) { ec=ix1; ix1=ix2; ix2=ec; }
|
---|
| 22 | if (jy1>jy2) { ec=jy1; jy1=jy2; jy2=ec; }
|
---|
| 23 | double ss = 0.;
|
---|
| 24 | for(int j=jy1; j<=jy2; j++)
|
---|
| 25 | for(int i=ix1; i<=ix2; i++) ss += (double)((*mImg)(i, j));
|
---|
| 26 | ss /= (double)((jy2-jy1+1)*(ix2-ix1+1));
|
---|
| 27 | return ss;
|
---|
| 28 | }
|
---|
[165] | 29 |
|
---|
| 30 | protected :
|
---|
| 31 | bool aDel;
|
---|
| 32 | Image<T>* mImg;
|
---|
| 33 | };
|
---|
| 34 |
|
---|
| 35 | #endif
|
---|
Note:
See
TracBrowser
for help on using the repository browser.