public boolean equals(ImageData a) { if (rows != a.getNumRows()) return false; if (cols != a.getNumCols()) return false; if (bands != a.getNumBands()) return false; double[][][] avals = a.getValues(); int len1 = values.length; int len2 = values[0].length; int len3 = values[0][0].length; for (int i = 0; i < len1; i++) for (int j = 0; j < len2; j++) for (int k = 0; k < len3; k++) if (values[i][j][k] != avals[i][j][k]) return false; return true; }