def __init__(self, module_manager):
     SimpleVTKClassModuleBase.__init__(
         self, module_manager,
         vtk.vtkGenericEnSightReader(), 'Reading vtkGenericEnSight.',
         (), ('vtkGenericEnSight',),
         replaceDoc=True,
         inputFunctions=None, outputFunctions=None)
Example #2
0
 def create_reader (self): 
     "Create the corresponding reader."
     debug ("In VtkEnSightReader::create_reader ()")
     # set up the reader     
     if self.file_name == "":
         raise IOError, "No filename specifed for the data handler!"
     self.reader = vtk.vtkGenericEnSightReader()
Example #3
0
def __ensight_reader__(filename, reader):
    filename, fileExtension = os.path.splitext(filename)
    print "[ensight_reader] <- \'%s\'" % (filename)

    cdp = vtk.vtkCompositeDataPipeline()
    eg = vtk.vtkGenericEnSightReader()  # vtk.vtkEnSightGoldReader()
    eg.SetDefaultExecutivePrototype(cdp)

    eg.SetCaseFileName(filename)
    eg.ReadAllVariablesOn()
    eg.Update()

    reader = eg
Example #4
0
    def readData(self, ntime = -1.):
        """
        Return the mesh vtkDataSet with the associated scalars for a single time step.
        """
        p = os.path.abspath(self.opt.f_name)
        path, case = os.path.dirname(p), os.path.basename(p)
        ens = vtk.vtkGenericEnSightReader()
        ens.SetByteOrderToLittleEndian()
        ens.SetFilePath(path)
        ens.SetCaseFileName(case)
        ens.ReadAllVariablesOn()
        ens.Update()

        times = ens.GetTimeSets().GetItem(0)

        # last result by default
        if ntime == -1.:
            ntime = times.GetSize() - 1

        ens.SetTimeValue(times.GetTuple1(ntime))
        ens.Update()
        return ens.GetOutput().GetBlock(0) # Now multiblock objet with 0 for volume, 1 for bord !
Example #5
0
    def readEnsightFile(self, fileName):
        """
        Read Ensight file. Writes a VTK file with fileName+'.vtk'.
        :param str filename: Input filename
        """
        #read the ensight file
        reader = vtk.vtkGenericEnSightReader()
        reader.SetCaseFileName(fileName)
        reader.Update()

        output = reader.GetOutput()
        num_blocks =  output.GetNumberOfBlocks()  

        #blocks_unstructured is a list of objects of vtkUnstructuredGrid
        blocks_unstructured = []
        for i in range(num_blocks):
            blocks_unstructured.append(output.GetBlock(i))

        appendFilter = vtk.vtkAppendFilter()
        i = 0
        while i < len(blocks_unstructured):
            if(vtk.VTK_MAJOR_VERSION <= 5):
                appendFilter.AddInput(blocks_unstructured[i])
            else:
                appendFilter.AddInputData(blocks_unstructured[i])
            i=i+1
        appendFilter.Update();

        unstructuredGrid=vtk.vtkUnstructuredGrid()
        unstructuredGrid.ShallowCopy(appendFilter.GetOutput());
        w = vtk.vtkUnstructuredGridWriter()
        if(vtk.VTK_MAJOR_VERSION <= 5):
            w.SetInput(unstructuredGrid)
        else:
            w.SetInputData(unstructuredGrid)
        w.SetFileName(fileName+'.vtk')
        w.Write()
        self.readVtkFile(fileName+'.vtk')
Example #6
0
    def readEnsightFile(self, fileName):
        """
        Read Ensight file. Writes a VTK file with fileName+'.vtk'.
        :param str filename: Input filename
        """
        #read the ensight file
        reader = vtk.vtkGenericEnSightReader()
        reader.SetCaseFileName(fileName)
        reader.Update()

        output = reader.GetOutput()
        num_blocks = output.GetNumberOfBlocks()

        #blocks_unstructured is a list of objects of vtkUnstructuredGrid
        blocks_unstructured = []
        for i in range(num_blocks):
            blocks_unstructured.append(output.GetBlock(i))

        appendFilter = vtk.vtkAppendFilter()
        i = 0
        while i < len(blocks_unstructured):
            if (vtk.VTK_MAJOR_VERSION <= 5):
                appendFilter.AddInput(blocks_unstructured[i])
            else:
                appendFilter.AddInputData(blocks_unstructured[i])
            i = i + 1
        appendFilter.Update()

        unstructuredGrid = vtk.vtkUnstructuredGrid()
        unstructuredGrid.ShallowCopy(appendFilter.GetOutput())
        w = vtk.vtkUnstructuredGridWriter()
        if (vtk.VTK_MAJOR_VERSION <= 5):
            w.SetInput(unstructuredGrid)
        else:
            w.SetInputData(unstructuredGrid)
        w.SetFileName(fileName + '.vtk')
        w.Write()
        self.readVtkFile(fileName + '.vtk')
Example #7
0
#!/usr/bin/env python
import vtk
from vtk.test import Testing
from vtk.util.misc import vtkGetDataRoot

VTK_DATA_ROOT = vtkGetDataRoot()

ren1 = vtk.vtkRenderer()
renWin = vtk.vtkRenderWindow()
renWin.AddRenderer(ren1)
iren = vtk.vtkRenderWindowInteractor()
iren.SetRenderWindow(renWin)
# read data
#
reader = vtk.vtkGenericEnSightReader()
# Make sure all algorithms use the composite data pipeline
cdp = vtk.vtkCompositeDataPipeline()
reader.SetDefaultExecutivePrototype(cdp)
reader.SetCaseFileName("" + str(VTK_DATA_ROOT) +
                       "/Data/EnSight/office_bin.case")
reader.Update()
# to add coverage for vtkOnePieceExtentTranslator
translator = vtk.vtkOnePieceExtentTranslator()
#[reader GetOutput] SetExtentTranslator translator
OutInfo = reader.GetOutputInformation(0)
sddp = vtk.vtkStreamingDemandDrivenPipeline()
sddp.SetExtentTranslator(OutInfo, translator)
outline = vtk.vtkStructuredGridOutlineFilter()
#    outline SetInputConnection [reader GetOutputPort]
outline.SetInputData(reader.GetOutput().GetBlock(0))
mapOutline = vtk.vtkPolyDataMapper()
#!/usr/bin/env python
import vtk
from vtk.util.misc import vtkGetDataRoot
VTK_DATA_ROOT = vtkGetDataRoot()

# create a rendering window and renderer
ren1 = vtk.vtkRenderer()
renWin = vtk.vtkRenderWindow()
renWin.AddRenderer(ren1)
renWin.StereoCapableWindowOn()
iren = vtk.vtkRenderWindowInteractor()
iren.SetRenderWindow(renWin)
reader = vtk.vtkGenericEnSightReader()
# Make sure all algorithms use the composite data pipeline
cdp = vtk.vtkCompositeDataPipeline()
reader.SetDefaultExecutivePrototype(cdp)
reader.SetCaseFileName("" + str(VTK_DATA_ROOT) + "/Data/EnSight/blow2_bin.case")
reader.SetTimeValue(1)
geom = vtk.vtkGeometryFilter()
geom.SetInputConnection(reader.GetOutputPort())
mapper = vtk.vtkHierarchicalPolyDataMapper()
mapper.SetInputConnection(geom.GetOutputPort())
mapper.SetColorModeToMapScalars()
mapper.SetScalarModeToUsePointFieldData()
mapper.ColorByArrayComponent("displacement",0)
mapper.SetScalarRange(0,2.08)
actor = vtk.vtkActor()
actor.SetMapper(mapper)
# assign our actor to the renderer
ren1.AddActor(actor)
# enable user interface interactor
def load_loop_integrate(params, writer, itestep):
    # Test if file is present
    assert (os.path.exists(params.path))
    print('read file %s' % params.path)
    headwrite = True

    # Load info with vtk
    reader = vtk.vtkGenericEnSightReader()
    reader.SetCaseFileName(params.path)
    reader.Update()
    timeset = reader.GetTimeSets()
    time = timeset.GetItem(0)
    if time is not None:
        timesteps = time.GetSize()
    else:
        timesteps = 1

    print 'Number of Time steps found: ', timesteps

    # Flow block data is stored as an unstructured grid
    # Convert block data to structured grid by querying at regular points
    points = vtk.vtkPoints()
    polydata = vtk.vtkPolyData()
    create_case_grid(points)
    polydata.SetPoints(points)

    snapList = {}
    for tstep in range(0, timesteps, itestep):
        if time is not None:
            curTime = time.GetTuple(tstep)[0]
            print 'Processing time: ', curTime
        else:
            curTime = 0


# Setting time to current value
        reader.SetTimeValue(curTime)
        reader.Update()
        #Get cell data
        vtk_data = reader.GetOutput()
        #Block 0 is flow, block 1 is particles
        block_data_flow = vtk_data.GetBlock(0)
        block_data_part = vtk_data.GetBlock(1)
        point_data_flow = block_data_flow.GetCellData()
        point_data_part = block_data_part.GetPointData()

        # Set probe
        probe = vtk.vtkProbeFilter()
        probe.SetInputData(polydata)
        probe.SetSourceData(block_data_flow)
        probe.Update()
        result = probe.GetOutput()

        arr_data = {}
        # Get all scalars by probing
        for array_idx in range(point_data_flow.GetNumberOfArrays()):
            array_name = point_data_flow.GetArrayName(array_idx)
            arr_data[array_name] = numpy_support.vtk_to_numpy(
                result.GetPointData().GetArray(array_name))
            # Reshape data
            if (array_name == "V"):
                arr_data[array_name] = arr_data[array_name].reshape(
                    [48, 96, 32, 3])
            else:
                arr_data[array_name] = arr_data[array_name].reshape(
                    [48, 96, 32])
        print "Read gas!"

        # Loop over all arrays to find the variables of interest
        # For particles, get directly from Ensight
        for array_idx in range(point_data_part.GetNumberOfArrays()):
            array_name = point_data_part.GetArrayName(array_idx)
            arr_data[array_name] = \
                      numpy_support.vtk_to_numpy(point_data_part.GetArray(array_idx))
        print "Read particles!"

        if (params.statistics_type == 'integrals'):
            # Need to pass return as argument, because it is appended in each pass
            integrals = compute_integrals(arr_data)
            write_data(curTime, integrals, writer, tstep == 0)
        elif (params.statistics_type == 'wall_normal'):
            snapList[tstep] = compute_wall_normal_stats(arr_data)
            np.save("snapList.npy", snapList)
            print "Saved statistics"
Example #10
0
 def __init__(self):
     cdp = vtk.vtkCompositeDataPipeline()
     #self.eg = vtk.vtkEnSightGoldReader()
     self.eg = vtk.vtkGenericEnSightReader()
     self.eg.SetDefaultExecutivePrototype(cdp)
Example #11
0
 def __init__(self):
     self.reader = vtk.vtkGenericEnSightReader(
     )  # vtk.vtkEnSightGoldReader()