Exemplo n.º 1
0
# Parse input arguments
args = parser.parse_args()

# option output
print args.nb_step, "step of size ", args.step_size

# mask step size
if args.mask is not None:
    mask = np.load(args.mask)
    step_size = args.step_size * mask
else:
    step_size = args.step_size

mesh = TriMesh_Vtk(args.surface, None)
end_vertices = mesh.positive_mass_stiffness_smooth(
                    nb_iter=args.nb_step,
                    diffusion_step=step_size,
                    flow_file=args.flow_file)


end_mesh = TriMesh_Vtk(mesh.get_triangles(), end_vertices)

print "saving surface tracking ..."
flow = np.memmap(args.flow_file, dtype=np.float64, mode='r', shape=(args.nb_step, end_vertices.shape[0], end_vertices.shape[1]))


if args.tracking is not None:
    lines = compress_streamlines(np.swapaxes(flow, 0, 1))
    lines_polydata = lines_to_vtk_polydata(lines, None, np.float32)
    save_polydata(lines_polydata, args.tracking, True)