public static Mask buildKirshMask(Direction d) {
		switch (d) {
		case HORIZONTAL:
			double[][] dValues = { { 5, -3, -3 }, { 5, 0, -3 }, { 5, -3, -3 } };
			return new Mask(dValues);
		case VERTICAL:
			double[][] aValues = { { 5, 5, 5 }, { -3, 0, -3 }, { -3, -3, -3 } };
			return new Mask(aValues);
		case DIAGONAL:
			double[][] bValues = { { -3, 5, 5 }, { -3, 0, 5 }, { -3, -3, -3 } };
			return new Mask(bValues);
		case INVERSE_DIAGONAL:
			double[][] cValues = { { -3, -3, -3 }, { 5, 0, -3 }, { 5, 5, -3 } };
			return new Mask(cValues);
		}
		return null;
	}