Beispiel #1
0
def write(obj, fileoutput):
    '''
    Write 3D object to file.
    Possile extensions are: .vtk, .ply, .obj, .stl, .byu, .vtp
    '''
    fr = fileoutput.lower()
    if '.vtk' in fr: w = vtk.vtkPolyDataWriter()
    elif '.ply' in fr: w = vtk.vtkPLYWriter()
    elif '.obj' in fr:
        w = vtk.vtkOBJExporter()
        w.SetFilePrefix(fileoutput.replace('.obj', ''))
        vc.printc('Please use write(vp.renderWin)', 3)
        w.SetInput(obj)
        w.Update()
        vc.printc("Saved file: " + fileoutput, 'g')
        return
    elif '.stl' in fr:
        w = vtk.vtkSTLWriter()
    elif '.byu' in fr or '.g' in fr:
        w = vtk.vtkBYUWriter()
    elif '.vtp' in fr:
        w = vtk.vtkXMLPolyDataWriter()
    else:
        vc.printc('Unavailable format in file ' + fileoutput, c='r')
        exit(1)
    try:
        vu.setInput(w, vu.polydata(obj, True))
        w.SetFileName(fileoutput)
        w.Write()
        vc.printc("Saved file: " + fileoutput, 'g')
    except:
        vc.printc("Error saving: " + fileoutput, 'r')
Beispiel #2
0
 def __init__(self, module_manager):
     SimpleVTKClassModuleBase.__init__(
         self, module_manager,
         vtk.vtkBYUWriter(), 'Writing vtkBYU.',
         ('vtkBYU',), (),
         replaceDoc=True,
         inputFunctions=None, outputFunctions=None)
Beispiel #3
0
 def __init__(self, module_manager):
     SimpleVTKClassModuleBase.__init__(self,
                                       module_manager,
                                       vtk.vtkBYUWriter(),
                                       'Writing vtkBYU.', ('vtkBYU', ), (),
                                       replaceDoc=True,
                                       inputFunctions=None,
                                       outputFunctions=None)
Beispiel #4
0
def write(obj, fileoutput):
    '''
    Write 3D object to file.

    Possile extensions are: .vtk, .ply, .obj, .stl, .byu, .vtp, .xyz, .tif
    '''
    fr = fileoutput.lower()
    if '.vtk' in fr:
        w = vtk.vtkPolyDataWriter()
    elif '.ply' in fr:
        w = vtk.vtkPLYWriter()
    elif '.stl' in fr:
        w = vtk.vtkSTLWriter()
    elif '.vtp' in fr:
        w = vtk.vtkXMLPolyDataWriter()
    elif '.xyz' in fr:
        w = vtk.vtkSimplePointsWriter()
    elif '.byu' in fr or fr.endswith('.g'):
        w = vtk.vtkBYUWriter()
    elif '.obj' in fr:
        obj = vu.polydata(obj, True)
        w = vtk.vtkOBJExporter()
        w.SetFilePrefix(fileoutput.replace('.obj', ''))
        vc.printc('Please use write(vp.renderWin)', c=3)
        w.SetInput(obj)
        w.Update()
        vc.printc("Saved file: " + fileoutput, c='g')
        return
    elif '.tif' in fr:
        wr = vtk.vtkTIFFWriter()
        wr.SetFileDimensionality(len(obj.GetDimensions()))
        vu.setInput(wr, obj)
        wr.SetFileName(fileoutput)
        wr.Write()
        vc.printc("TIFF stack saved as: " + fileoutput, c='g')
        return
    else:
        vc.printc('Unavailable format in file ' + fileoutput, c='r')
        exit(1)

    try:
        obj = vu.polydata(obj, True)
        vu.setInput(w, vu.polydata(obj, True))
        w.SetFileName(fileoutput)
        w.Write()
        vc.printc("Saved file: " + fileoutput, c='g')
    except:
        vc.printc("Error saving: " + fileoutput, c='r')
Beispiel #5
0
     iv2 = vtk.vtkIVWriter()
     iv2.SetInputConnection(triangles.GetOutputPort())
     iv2.SetFileName("brain2.iv")
     iv2.Write()
     file.delete("-force", "brain2.iv")
     pass
 if (info.command(globals(), locals(), "vtkIVWriter") != ""):
     edges = vtk.vtkExtractEdges()
     edges.SetInputConnection(triangles.GetOutputPort())
     iv3 = vtk.vtkIVWriter()
     iv3.SetInputConnection(edges.GetOutputPort())
     iv3.SetFileName("brain3.iv")
     iv3.Write()
     file.delete("-force", "brain3.iv")
     pass
 byu = vtk.vtkBYUWriter()
 byu.SetGeometryFileName("brain.g")
 byu.SetScalarFileName("brain.s")
 byu.SetDisplacementFileName("brain.d")
 byu.SetInputConnection(triangles.GetOutputPort())
 byu.Write()
 file.delete("-force", "brain.g")
 file.delete("-force", "brain.s")
 file.delete("-force", "brain.d")
 mcubes = vtk.vtkMCubesWriter()
 mcubes.SetInputConnection(triangles.GetOutputPort())
 mcubes.SetFileName("brain.tri")
 mcubes.SetLimitsFileName("brain.lim")
 mcubes.Write()
 file.delete("-force", "brain.lim")
 file.delete("-force", "brain.tri")
Beispiel #6
0
def write(obj, fileoutput, binary=True):
    '''
    Write 3D object to file.

    Possile extensions are: 
        vtk, vti, ply, obj, stl, byu, vtp, xyz, tif, png, bmp
    '''
    if isinstance(obj, Actor):
        obj = obj.polydata(True)
    elif isinstance(obj, vtk.vtkActor):
        obj = obj.GetMapper().GetInput()

    fr = fileoutput.lower()
    if '.vtk' in fr:
        w = vtk.vtkPolyDataWriter()
    elif '.ply' in fr:
        w = vtk.vtkPLYWriter()
    elif '.stl' in fr:
        w = vtk.vtkSTLWriter()
    elif '.vtp' in fr:
        w = vtk.vtkXMLPolyDataWriter()
    elif '.xyz' in fr:
        w = vtk.vtkSimplePointsWriter()
    elif '.byu' in fr or fr.endswith('.g'):
        w = vtk.vtkBYUWriter()
    elif '.obj' in fr:
        obj = obj.polydata(True)
        w = vtk.vtkOBJExporter()
        w.SetFilePrefix(fileoutput.replace('.obj', ''))
        colors.printc('Please use write(vp.renderWin)', c=3)
        w.SetInputData(obj)
        w.Update()
        colors.printc("Saved file: " + fileoutput, c='g')
        return
    elif '.tif' in fr:
        w = vtk.vtkTIFFWriter()
        w.SetFileDimensionality(len(obj.GetDimensions()))
    elif '.vti' in fr:
        w = vtk.vtkXMLImageDataWriter()
    elif '.png' in fr:
        w = vtk.vtkPNGWriter()
    elif '.jpg' in fr:
        w = vtk.vtkJPEGWriter()
    elif '.bmp' in fr:
        w = vtk.vtkBMPWriter()
    else:
        colors.printc('Unknown format', fileoutput, 'file not saved.', c='r')
        return

    try:
        if binary:
            w.SetFileTypeToBinary()
        else:
            w.SetFileTypeToASCII()
        w.SetInputData(obj)
        w.SetFileName(fileoutput)
        w.Write()
        colors.printc("Saved file: " + fileoutput, c='g')
    except Exception as e:
        colors.printc("Error saving: " + fileoutput, '\n', e, c='r')
    return
Beispiel #7
0
        polyData_t.Modified()

        outputPath_idx = regression_output_folder_path + "CMRep_EGReg_" + anatomy + "_Subjects_" + subj_i + "_t_" + str(
            age_i) + ".vtk"

        writer_t = vtk.vtkPolyDataWriter()
        writer_t.SetFileName(outputPath_idx)
        writer_t.SetInputData(polyData_t)
        writer_t.Update()
        writer_t.Write()

        byuOutputPath_idx = regression_output_folder_path + "CMRep_EGReg_" + anatomy + "_Subjects_" + subj_i + "_t_" + str(
            age_i) + ".byu"

        byuWriter_t = vtk.vtkBYUWriter()
        byuWriter_t.SetGeometryFileName(byuOutputPath_idx)
        byuWriter_t.SetInputData(polyData_t)
        byuWriter_t.Update()
        byuWriter_t.Write()

        stlOutputPath_idx = regression_output_folder_path + "CMRep_EGReg_" + anatomy + "_Subjects_" + subj_i + "_t_" + str(
            age_i) + ".stl"

        stlWriter_t = vtk.vtkSTLWriter()
        stlWriter_t.SetFileName(stlOutputPath_idx)
        stlWriter_t.SetInputData(polyData_t)
        stlWriter_t.Update()
        stlWriter_t.Write()

    # for n in range( nTimePt ):
     iv2 = vtk.vtkIVWriter()
     iv2.SetInputConnection(triangles.GetOutputPort())
     iv2.SetFileName("brain2.iv")
     iv2.Write()
     file.delete("-force", "brain2.iv")
     pass
 if (info.command(globals(), locals(),  "vtkIVWriter") != ""):
     edges = vtk.vtkExtractEdges()
     edges.SetInputConnection(triangles.GetOutputPort())
     iv3 = vtk.vtkIVWriter()
     iv3.SetInputConnection(edges.GetOutputPort())
     iv3.SetFileName("brain3.iv")
     iv3.Write()
     file.delete("-force", "brain3.iv")
     pass
 byu = vtk.vtkBYUWriter()
 byu.SetGeometryFileName("brain.g")
 byu.SetScalarFileName("brain.s")
 byu.SetDisplacementFileName("brain.d")
 byu.SetInputConnection(triangles.GetOutputPort())
 byu.Write()
 file.delete("-force", "brain.g")
 file.delete("-force", "brain.s")
 file.delete("-force", "brain.d")
 mcubes = vtk.vtkMCubesWriter()
 mcubes.SetInputConnection(triangles.GetOutputPort())
 mcubes.SetFileName("brain.tri")
 mcubes.SetLimitsFileName("brain.lim")
 mcubes.Write()
 file.delete("-force", "brain.lim")
 file.delete("-force", "brain.tri")
        est_vtk_i.Modified()

        filePath_est_i = outFolderPath + "Surface_ShapeWork_CTRL_Complex_" + anatomy + "_LinearModel_" + subject_i + "_" + str(
            age_i) + ".vtk"

        writer_i = vtk.vtkPolyDataWriter()
        writer_i.SetFileName(filePath_est_i)
        writer_i.SetInputData(est_vtk_i)
        writer_i.Update()
        writer_i.Write()

        byuFilePath_est_i = outFolderPath + "Surface_ShapeWork_CTRL_Complex_" + anatomy + "_LinearModel_" + subject_i + "_" + str(
            age_i) + ".byu"

        byuWriter_i = vtk.vtkBYUWriter()
        byuWriter_i.SetGeometryFileName(byuFilePath_est_i)
        byuWriter_i.SetInputData(est_vtk_i)
        byuWriter_i.Update()
        byuWriter_i.Write()

        stlFilePath_est_i = outFolderPath + "Surface_ShapeWork_CTRL_Complex_" + anatomy + "_LinearModel_" + subject_i + "_" + str(
            age_i) + ".stl"

        stlWriter_i = vtk.vtkSTLWriter()
        stlWriter_i.SetFileName(stlFilePath_est_i)
        stlWriter_i.SetInputData(est_vtk_i)
        stlWriter_i.Update()
        stlWriter_i.Write()

# plt.show()