Array2DSubstract < Value >::Array2DSubstract(const Array2D < Value > &src1, const Array2D < Value > &src2) : Array2D < Value > (src1.xsize(), src1.ysize()) { if ((src1.xsize() != src2.xsize()) || (src1.ysize() != src2.ysize())) { fprintf(stderr, "Array2DSubstract: dimension of src1 and src2 must be the same!\n"); return; } int x, y; for (y = 0; y < Array2D<Value>::ysize(); y++) { for (x = 0; x < Array2D<Value>::xsize(); x++) { set(x, y, src1.get(x, y) - src2.get(x, y)); } } }
Array2DMedian < Value >::Array2DMedian(const Array2D < Value > &src, int fsizex, int fsizey, int pick) : Array2D < Value > (src.xsize(), src.ysize()) { int x, y; for (y = 0; y < Array2D<Value>::ysize(); y++) { #if 0 #ifdef DEBUG printf("(%d,%d) %f \n", 0, y, src.getPixel(0, y)); #endif #endif for (x = 0; x < Array2D<Value>::xsize(); x++) { CalcPoint(x, y, src, fsizex, fsizey, pick); } } }
Array2D<Value>::Array2D(const Array2D<Value> &pic) { init(pic.xsize(),pic.ysize()); if (!data_) return; memcpy(data_,pic.data(),xsize_*ysize_*sizeof(Value)); }