I am currently testing an open source repository(https://github.com/jzengust/RGBD2Normal) for surface normal estimation, the following function is used as the surface normal