+template<class T>
+void
+Array2dFile<T>::setAxisIncrement (double incX, double incY)
+{
+ axis_increment_known = true;
+ mIncX = incX;
+ mIncY = incY;
+}
+
+template<class T>
+void
+Array2dFile<T>::setAxisExtent (double minX, double maxX, double minY, double maxY)
+{
+ axis_extent_known = true;
+ mMinX = minX;
+ mMaxY = maxX;
+ mMinX = minX;
+ mMaxY = maxY;
+}
+
+template<class T>
+void
+Array2dFile<T>::getPixelValueRange (T& pvmin, T& pvmax) const
+{
+ T** da = array.getArray();
+ if (da) {
+ pvmax = pvmin = da[0][0];
+ for (int ix = 0; ix < mNX; ix++)
+ for (int iy = 0; iy < mNY; iy++)
+ if (pvmax < da[ix][iy])
+ pvmax = da[ix][iy];
+ else if (pvmin > da[ix][iy])
+ pvmin = da[ix][iy];
+ }
+}
+
+template<class T>
+void
+Array2dFile<T>::doPixelOffsetScale (double offset, double scale)
+{
+ T** ad = array.getArray();
+ if (ad) {
+ mOffsetPV = offset;
+ mScalePV = scale;
+
+ for (unsigned int ix = 0; ix < mNX; ix++)
+ for (unsigned int iy = 0; iy < mNY; iy++)
+ ad[ix][iy] = (ad[ix][iy] - offset) * scale;
+ }
+}
+