Finish filter lib refactoring; Add canny filter