added decimate_until, fixed decimate recusion causing a stack overflow, properly use numpy bool arrays