geometry based edge detector