hard edge extraction