Registration algorithms