[docs]defload_polydata(file_name,is_mni_obj=False):"""Load a vtk polydata to a supported format file. Supported file formats are OBJ, VTK, FIB, PLY, STL and XML Parameters ---------- file_name : string is_mni_obj : bool Returns ------- output : vtkPolyData """# get file extension (type) lower casefile_extension=file_name.split(".")[-1].lower()iffile_extension=="vtk":reader=vtk.vtkPolyDataReader()eliffile_extension=="fib":reader=vtk.vtkPolyDataReader()eliffile_extension=="ply":reader=vtk.vtkPLYReader()eliffile_extension=="stl":reader=vtk.vtkSTLReader()eliffile_extension=="xml":reader=vtk.vtkXMLPolyDataReader()eliffile_extension=="obj"andis_mni_obj:reader=vtk.vtkMNIObjectReader()eliffile_extension=="obj":try:# try to read as a normal objreader=vtk.vtkOBJReader()exceptException:# than try load a MNI obj formatreader=vtk.vtkMNIObjectReader()else:raiseIOError("polydata "+file_extension+" is not suported")reader.SetFileName(file_name)reader.Update()returnreader.GetOutput()
[docs]defsave_polydata(polydata,file_name,binary=False,color_array_name=None,is_mni_obj=False):"""Save a vtk polydata to a supported format file. Save formats can be VTK, FIB, PLY, STL and XML. Parameters ---------- polydata : vtkPolyData file_name : string binary : bool color_array_name: ndarray is_mni_obj : bool """# get file extension (type)file_extension=file_name.split(".")[-1].lower()iffile_extension=="vtk":writer=vtk.vtkPolyDataWriter()eliffile_extension=="fib":writer=vtk.vtkPolyDataWriter()eliffile_extension=="ply":writer=vtk.vtkPLYWriter()eliffile_extension=="stl":writer=vtk.vtkSTLWriter()eliffile_extension=="xml":writer=vtk.vtkXMLPolyDataWriter()eliffile_extension=="obj":ifis_mni_obj:writer=vtk.vtkMNIObjectWriter()else:# vtkObjWriter not available on python# vtk.vtkOBJWriter()raiseIOError("OBJ Writer not available. MNI obj is the only"" available writer so set mni_tag option to True")else:raiseIOError("Unknown extension ({})".format(file_extension))writer.SetFileName(file_name)writer=set_input(writer,polydata)ifcolor_array_nameisnotNoneandfile_extension=="ply":writer.SetArrayName(color_array_name)ifbinary:writer.SetFileTypeToBinary()writer.Update()writer.Write()