def generateWarpedMesh(
        mesh_folder,
        mesh_basename,
        images,
        structure,
        deformation,
        evolution,
        verbose=0):

    myVTK.myPrint(verbose, "*** generateWarpedMesh ***")

    mesh = myVTK.readUGrid(
        filename=mesh_folder+"/"+mesh_basename+".vtk",
        verbose=verbose-1)
    n_points = mesh.GetNumberOfPoints()
    n_cells = mesh.GetNumberOfCells()

    if os.path.exists(mesh_folder+"/"+mesh_basename+"-WithLocalBasis.vtk"):
        ref_mesh = myVTK.readUGrid(
            filename=mesh_folder+"/"+mesh_basename+"-WithLocalBasis.vtk",
            verbose=verbose-1)
    else:
        ref_mesh = None

    farray_disp = myVTK.createFloatArray(
        name="displacement",
        n_components=3,
        n_tuples=n_points,
        verbose=verbose-1)
    mesh.GetPointData().AddArray(farray_disp)

    mapping = Mapping(images, structure, deformation, evolution)

    X = numpy.empty(3)
    x = numpy.empty(3)
    U = numpy.empty(3)
    if ("zfill" not in images.keys()):
        images["zfill"] = len(str(images["n_frames"]))
    for k_frame in xrange(images["n_frames"]):
        t = images["T"]*float(k_frame)/(images["n_frames"]-1) if (images["n_frames"]>1) else 0.
        mapping.init_t(t)

        for k_point in xrange(n_points):
            mesh.GetPoint(k_point, X)
            mapping.x(X, x)
            U = x - X
            farray_disp.SetTuple(k_point, U)

        myVTK.computeStrainsFromDisplacements(
            mesh=mesh,
            disp_array_name="displacement",
            ref_mesh=ref_mesh,
            verbose=verbose-1)

        myVTK.writeUGrid(
            ugrid=mesh,
            filename=mesh_folder+"/"+mesh_basename+"_"+str(k_frame).zfill(images["zfill"])+".vtk",
            verbose=verbose-1)
def generateWarpedMesh(mesh_folder,
                       mesh_basename,
                       images,
                       structure,
                       deformation,
                       evolution,
                       verbose=0):

    myVTK.myPrint(verbose, "*** generateWarpedMesh ***")

    mesh = myVTK.readUGrid(filename=mesh_folder + "/" + mesh_basename + ".vtk",
                           verbose=verbose - 1)
    n_points = mesh.GetNumberOfPoints()
    n_cells = mesh.GetNumberOfCells()

    if os.path.exists(mesh_folder + "/" + mesh_basename +
                      "-WithLocalBasis.vtk"):
        ref_mesh = myVTK.readUGrid(filename=mesh_folder + "/" + mesh_basename +
                                   "-WithLocalBasis.vtk",
                                   verbose=verbose - 1)
    else:
        ref_mesh = None

    farray_disp = myVTK.createFloatArray(name="displacement",
                                         n_components=3,
                                         n_tuples=n_points,
                                         verbose=verbose - 1)
    mesh.GetPointData().AddArray(farray_disp)

    mapping = Mapping(images, structure, deformation, evolution)

    X = numpy.empty(3)
    x = numpy.empty(3)
    U = numpy.empty(3)
    if ("zfill" not in images.keys()):
        images["zfill"] = len(str(images["n_frames"]))
    for k_frame in xrange(images["n_frames"]):
        t = images["T"] * float(k_frame) / (images["n_frames"] - 1) if (
            images["n_frames"] > 1) else 0.
        mapping.init_t(t)

        for k_point in xrange(n_points):
            mesh.GetPoint(k_point, X)
            mapping.x(X, x)
            U = x - X
            farray_disp.SetTuple(k_point, U)

        myVTK.computeStrainsFromDisplacements(mesh=mesh,
                                              disp_array_name="displacement",
                                              ref_mesh=ref_mesh,
                                              verbose=verbose - 1)

        myVTK.writeUGrid(ugrid=mesh,
                         filename=mesh_folder + "/" + mesh_basename + "_" +
                         str(k_frame).zfill(images["zfill"]) + ".vtk",
                         verbose=verbose - 1)
def writeDataSet(dataset, filename, verbose=0):

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

    file_ext = filename[-3:]
    if (file_ext == "vti") or ((file_ext == "vtk")
                               and dataset.IsA("vtkImageData")):
        myvtk.writeImage(image=dataset, filename=filename, verbose=verbose - 1)
    elif (file_ext == "vtp") or ((file_ext == "vtk")
                                 and dataset.IsA("vtkPolyData")):
        myvtk.writePData(pdata=dataset, filename=filename, verbose=verbose - 1)
    elif (file_ext == "stl"):
        myvtk.writeSTL(pdata=dataset, filename=filename, verbose=verbose - 1)
    elif (file_ext == "vts") or ((file_ext == "vtk")
                                 and dataset.IsA("vtkStructuredGrid")):
        myvtk.writeSGrid(sgrid=dataset, filename=filename, verbose=verbose - 1)
    elif (file_ext == "vtu") or ((file_ext == "vtk")
                                 and dataset.IsA("vtkUnstructuredGrid")):
        myvtk.writeUGrid(ugrid=dataset, filename=filename, verbose=verbose - 1)
    else:
        assert 0, "Wrong extention (" + file_ext + "). Extention must be vtk, vti, vtp, stl, vts, vtu. Aborting."
예제 #4
0
###                                                                  ###
### 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("inp_filename", type=str)
    args = parser.parse_args()

    mesh = myvtk.readAbaqusMeshFromINP(
        mesh_filename=args.inp_filename,
        elem_types="all",
        verbose=1)

    myvtk.writeUGrid(
        ugrid=mesh,
        filename=args.inp_filename.replace(".inp", ".vtk"),
        verbose=1)
예제 #5
0
#coding=utf8

########################################################################
###                                                                  ###
### Created by Martin Genet, 2012-2017                               ###
###                                                                  ###
### University of California at San Francisco (UCSF), USA            ###
### Swiss Federal Institute of Technology (ETH), Zurich, Switzerland ###
### École Polytechnique, Palaiseau, France                           ###
###                                                                  ###
########################################################################

import argparse

import myPythonLibrary as mypy
import myVTKPythonLibrary as myvtk

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

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

    assert (args.vtu_filename.endswith(".vtu"))
    mesh = myvtk.readUGrid(
        filename=args.vtu_filename)
    myvtk.writeUGrid(
        ugrid=mesh,
        filename=args.vtu_filename.replace(".vtu", ".vtk"))
예제 #6
0
#coding=utf8

########################################################################
###                                                                  ###
### Created by Martin Genet, 2012-2016                               ###
###                                                                  ###
### University of California at San Francisco (UCSF), USA            ###
### Swiss Federal Institute of Technology (ETH), Zurich, Switzerland ###
### École Polytechnique, Palaiseau, France                           ###
###                                                                  ###
########################################################################

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()

    assert (args.vtk_filename.endswith(".vtk"))
    mesh = myvtk.readUGrid(
        filename=args.vtk_filename)
    myvtk.writeUGrid(
        ugrid=mesh,
        filename=args.vtk_filename.replace(".vtk", ".vtu"))
예제 #7
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"))
        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,
            filename=args.mesh_out_filename,
            verbose=args.verbose)
    elif (args.mesh_out_filename.endswith(".stl")):
        myvtk.writeSTL(
            pdata=mesh,
            filename=args.mesh_out_filename,
            verbose=args.verbose)
    else:
        assert (0), "Output file must be .vtk, .vtu, or .stl. Aborting."
예제 #9
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"))
예제 #10
0
###                                                                  ###
### Created by Martin Genet, 2012-2016                               ###
###                                                                  ###
### University of California at San Francisco (UCSF), USA            ###
### Swiss Federal Institute of Technology (ETH), Zurich, Switzerland ###
### École Polytechnique, Palaiseau, France                           ###
###                                                                  ###
########################################################################

import argparse

import myPythonLibrary as mypy
import myVTKPythonLibrary as myvtk

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

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

    mesh = myvtk.readAbaqusMeshFromINP(
        mesh_filename=args.inp_filename,
        elem_types="all",
        verbose=1)

    myvtk.writeUGrid(
        ugrid=mesh,
        filename=args.inp_filename.replace(".inp", ".vtk"),
        verbose=1)
예제 #11
0
        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,
            filename=args.mesh_out_filename,
            verbose=args.verbose)
    elif (args.mesh_out_filename.endswith(".stl")):
        myvtk.writeSTL(
            pdata=mesh,
            filename=args.mesh_out_filename,
            verbose=args.verbose)
    else:
        assert (0), "Output file must be .vtk, .vtu, or .stl. Aborting."