boundary 4.0 -- add canny
new -- 2D->3D