detecting edge patterns