Since the icp.py code is taken from https://github.com/ClayFlannigan/icp/blob/master/LICENSE and is under the apache license. The code has been modified or is being modified to fit into a simple optimization framework to measure error at each time step. The code is further adapted so the number of points in the source and target pointclouds do not have to match. Some of this code has been moved to frameworks.