コード例 #1
0
def readDataSet(filename, verbose=0):

    mypy.my_print(verbose, "*** readDataSet: " + filename + " ***")

    assert (os.path.isfile(filename)
            ), "Wrong filename (\"" + filename + "\"). Aborting."

    file_ext = filename[-3:]
    if (file_ext == "vtk"):
        for line in open(filename):
            if (line.split()[0] == "DATASET"):
                dataset_type = line.split()[-1]
                break
        assert ("dataset_type" in locals()), "Wrong file format. Aborting."

        if (dataset_type == "STRUCTURED_POINTS"):
            return myvtk.readSPoints(filename=filename, verbose=verbose - 1)
        elif (dataset_type == "STRUCTURED_GRID"):
            return myvtk.readSGrid(filename=filename, verbose=verbose - 1)
        elif (dataset_type == "UNSTRUCTURED_GRID"):
            return myvtk.readUGrid(filename=filename, verbose=verbose - 1)
        elif (dataset_type == "POLYDATA"):
            return myvtk.readPData(filename=filename, verbose=verbose - 1)
        elif (dataset_type == "RECTILINEAR_GRID") or (dataset_type == "FIELD"):
            assert 0, "Not implemented. Aborting."
        else:
            assert 0, "Wrong dataset type (" + dataset_type + "). Aborting."
    elif (file_ext == "vti"):
        return myvtk.readImage(filename=filename, verbose=verbose - 1)
    elif (file_ext == "vtp") or (file_ext == "stl"):
        return myvtk.readPData(filename=filename, verbose=verbose - 1)
    elif (file_ext == "vts"):
        return myvtk.readSGrid(filename=filename, verbose=verbose - 1)
    elif (file_ext == "vtu"):
        return myvtk.readUGrid(filename=filename, verbose=verbose - 1)
    else:
        assert 0, "Wrong extention (" + file_ext + "). Extention must be vtk, vti, vtp, stl, vts, vtu. Aborting."
コード例 #2
0
########################################################################


def pdata2ugrid(pdata, verbose=0):

    mypy.my_print(verbose, "*** pdata2ugrid ***")

    filter_append = vtk.vtkAppendFilter()
    if (vtk.vtkVersion.GetVTKMajorVersion() >= 6):
        filter_append.SetInputData(pdata)
    else:
        filter_append.SetInput(pdata)
    filter_append.Update()
    ugrid = filter_append.GetOutput()

    return ugrid


########################################################################

if (__name__ == "__main__"):
    parser = argparse.ArgumentParser()
    parser.add_argument('pdata_filename', type=str)
    args = parser.parse_args()

    assert (args.ugrid_filename.endswith(".vtp"))
    pdata = myvtk.readPData(filename=args.pdata_filename)
    ugrid = myvtk.pdata2ugrid(pdata=pdata)
    myvtk.writeUGrid(ugrid=ugrid,
                     filename=args.pdata_filename.replace(".vtp", ".vtu"))
コード例 #3
0
    if (args.image_out is not None):
        S_out = numpy.diag(list(numpy.loadtxt("Image_"+args.image_out+"_Scaling.dat"))+[1])
        W_out = numpy.loadtxt("Image_"+args.image_out+"_WorldMatrix.dat")
        I2W_out = numpy.dot(W_out, numpy.linalg.inv(S_out))
    else:
        I2W_out = numpy.eye(4)

    I2I = numpy.dot(numpy.linalg.inv(I2W_out), I2W_in)

    if (args.mesh_in_filename.endswith(".vtk") or args.mesh_in_filename.endswith(".vtu")):
        mesh = myvtk.readUGrid(
            filename=args.mesh_in_filename,
            verbose=args.verbose)
    elif (args.mesh_in_filename.endswith(".vtp") or args.mesh_in_filename.endswith(".stl")):
        mesh = myvtk.readPData(
            filename=args.mesh_in_filename,
            verbose=args.verbose)
    else:
        assert (0), "Input file must be .vtk, .vtu, or .stl. Aborting."

    myvtk.moveMeshWithWorldMatrix(
        mesh=mesh,
        M=I2I,
        verbose=args.verbose)

    if (args.mesh_out_filename == None):
        args.mesh_out_filename = args.mesh_in_filename.replace(args.image_in, args.image_out)

    if (args.mesh_out_filename.endswith(".vtk") or args.mesh_out_filename.endswith(".vtu")):
        myvtk.writeUGrid(
            ugrid=mesh,
コード例 #4
0
########################################################################
###                                                                  ###
### Created by Martin Genet, 2012-2020                               ###
###                                                                  ###
### University of California at San Francisco (UCSF), USA            ###
### Swiss Federal Institute of Technology (ETH), Zurich, Switzerland ###
### École Polytechnique, Palaiseau, France                           ###
###                                                                  ###
########################################################################

from builtins import range

import argparse

import myPythonLibrary as mypy
import myVTKPythonLibrary as myvtk

########################################################################

if (__name__ == "__main__"):
    parser = argparse.ArgumentParser()
    parser.add_argument("vtk_filename", type=str)
    args = parser.parse_args()

    mesh = myvtk.readPData(
        filename=args.vtk_filename)
    myvtk.writeSTL(
        pdata=mesh,
        filename=args.vtk_filename.replace(".vtk", ".stl").replace(".vtp", ".stl"))
コード例 #5
0
########################################################################


def pdata2ugrid(pdata, verbose=0):

    mypy.my_print(verbose, "*** pdata2ugrid ***")

    filter_append = vtk.vtkAppendFilter()
    if vtk.vtkVersion.GetVTKMajorVersion() >= 6:
        filter_append.SetInputData(pdata)
    else:
        filter_append.SetInput(pdata)
    filter_append.Update()
    ugrid = filter_append.GetOutput()

    return ugrid


########################################################################

if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument("pdata_filename", type=str)
    args = parser.parse_args()

    assert args.ugrid_filename.endswith(".vtp")
    pdata = myvtk.readPData(filename=args.pdata_filename)
    ugrid = myvtk.pdata2ugrid(pdata=pdata)
    myvtk.writeUGrid(ugrid=ugrid, filename=args.pdata_filename.replace(".vtp", ".vtu"))
コード例 #6
0
    if (args.image_out is not None):
        S_out = numpy.diag(list(numpy.loadtxt("Image_"+args.image_out+"_Scaling.dat"))+[1])
        W_out = numpy.loadtxt("Image_"+args.image_out+"_WorldMatrix.dat")
        I2W_out = numpy.dot(W_out, numpy.linalg.inv(S_out))
    else:
        I2W_out = numpy.eye(4)

    I2I = numpy.dot(numpy.linalg.inv(I2W_out), I2W_in)

    if (args.mesh_in_filename.endswith(".vtk") or args.mesh_in_filename.endswith(".vtu")):
        mesh = myvtk.readUGrid(
            filename=args.mesh_in_filename,
            verbose=args.verbose)
    elif (args.mesh_in_filename.endswith(".vtp") or args.mesh_in_filename.endswith(".stl")):
        mesh = myvtk.readPData(
            filename=args.mesh_in_filename,
            verbose=args.verbose)
    else:
        assert (0), "Input file must be .vtk, .vtu, or .stl. Aborting."

    myvtk.moveMeshWithWorldMatrix(
        mesh=mesh,
        M=I2I,
        verbose=args.verbose)

    if (args.mesh_out_filename == None):
        args.mesh_out_filename = args.mesh_in_filename.replace(args.image_in+"Coords", args.image_out+"Coords")

    if (args.mesh_out_filename.endswith(".vtk") or args.mesh_out_filename.endswith(".vtu")):
        myvtk.writeUGrid(
            ugrid=mesh,