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."
    pdata_epi = myVTK.readSTL(
        filename=args.epi_filename,
        verbose=args.verbose)

    (clipped_pdata_endLV,
     clipped_pdata_endRV,
     clipped_pdata_epi,
     clipped_valM,
     clipped_valP) = myVTK.clipSurfacesForFullBiVMesh(
        pdata_endLV=pdata_endLV,
        pdata_endRV=pdata_endRV,
        pdata_epi=pdata_epi,
        verbose=args.verbose)

    myVTK.writeSTL(
        pdata=clipped_pdata_endLV,
        filename="endLV.stl",
        verbose=args.verbose)
    myVTK.writeSTL(
        pdata=clipped_pdata_endRV,
        filename="endRV.stl",
        verbose=args.verbose)
    myVTK.writeSTL(
        pdata=clipped_pdata_epi,
        filename="epi.stl",
        verbose=args.verbose)
    myVTK.writeSTL(
        pdata=clipped_pdata_valM,
        filename="valM.stl",
        verbose=args.verbose)
    myVTK.writeSTL(
        pdata=clipped_pdata_valP,
    parser.add_argument("--r"             , type=float, default=0.99)
    parser.add_argument("--endLV_filename", type=str  , default=None)
    parser.add_argument("--epiLV_filename", type=str  , default=None)
    parser.add_argument("--verbose", "-v" , type=int  , default=1   )
    args = parser.parse_args()

    if (args.endLV_filename is None):
        args.endLV_filename = args.domain_filename.replace("LV", "EndLV")
    if (args.epiLV_filename is None):
        args.epiLV_filename = args.domain_filename.replace("LV", "EpiLV")

    pdata_domain = myVTK.readSTL(
        filename=args.domain_filename,
        verbose=args.verbose)

    (pdata_end,
     pdata_epi) = myVTK.splitDomainBetweenEndoAndEpi(
         pdata_domain=pdata_domain,
         r=args.r,
         verbose=args.verbose)

    myVTK.writeSTL(
        pdata=pdata_end,
        filename=args.endLV_filename,
        verbose=args.verbose)

    myVTK.writeSTL(
        pdata=pdata_epi,
        filename=args.epiLV_filename,
        verbose=args.verbose)
        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."
Esempio n. 5
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"))
Esempio n. 6
0
    parser.add_argument("--r"             , type=float, default=0.99)
    parser.add_argument("--endLV_filename", type=str  , default=None)
    parser.add_argument("--epiLV_filename", type=str  , default=None)
    parser.add_argument("--verbose", "-v" , type=int  , default=1   )
    args = parser.parse_args()

    if (args.endLV_filename is None):
        args.endLV_filename = args.domain_filename.replace("LV", "EndLV")
    if (args.epiLV_filename is None):
        args.epiLV_filename = args.domain_filename.replace("LV", "EpiLV")

    pdata_domain = myVTK.readSTL(
        filename=args.domain_filename,
        verbose=args.verbose)

    (pdata_end,
     pdata_epi) = myVTK.splitDomainBetweenEndoAndEpi(
         pdata_domain=pdata_domain,
         r=args.r,
         verbose=args.verbose)

    myVTK.writeSTL(
        pdata=pdata_end,
        filename=args.endLV_filename,
        verbose=args.verbose)

    myVTK.writeSTL(
        pdata=pdata_epi,
        filename=args.epiLV_filename,
        verbose=args.verbose)
    parser.add_argument('epi_filename', type=str)
    parser.add_argument('-v', '--verbose', type=int, default=1)
    args = parser.parse_args()

    pdata_endLV = myVTK.readSTL(filename=args.endLV_filename,
                                verbose=args.verbose)
    pdata_endRV = myVTK.readSTL(filename=endRV_filename, verbose=args.verbose)
    pdata_epi = myVTK.readSTL(filename=args.epi_filename, verbose=args.verbose)

    (clipped_pdata_endLV, clipped_pdata_endRV, clipped_pdata_epi, clipped_valM,
     clipped_valP) = myVTK.clipSurfacesForFullBiVMesh(pdata_endLV=pdata_endLV,
                                                      pdata_endRV=pdata_endRV,
                                                      pdata_epi=pdata_epi,
                                                      verbose=args.verbose)

    myVTK.writeSTL(pdata=clipped_pdata_endLV,
                   filename="endLV.stl",
                   verbose=args.verbose)
    myVTK.writeSTL(pdata=clipped_pdata_endRV,
                   filename="endRV.stl",
                   verbose=args.verbose)
    myVTK.writeSTL(pdata=clipped_pdata_epi,
                   filename="epi.stl",
                   verbose=args.verbose)
    myVTK.writeSTL(pdata=clipped_pdata_valM,
                   filename="valM.stl",
                   verbose=args.verbose)
    myVTK.writeSTL(pdata=clipped_pdata_valP,
                   filename="valP.stl",
                   verbose=args.verbose)
Esempio n. 8
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."