[Paraview] Extract the dimensions (or extent) of a structured grid within a python script

Guillaume Duclaux Guillaume.Duclaux at uib.no
Tue May 26 08:07:55 EDT 2015


Hi,

I’ve been using a python script to post-process and visualise large structured grid files. It works great but the grids I am visualising are of different dimensions (let say either 512x128x512, or 1024x256x1024).

In the script pipeline - see snippet below -  I extract a subset (top cell layer in the Y direction) from the whole dataset, using ExtractSubset filter.

At this stage for the 2 input files dimensions above, I need to modify the script and correctly set extractSubset1.VOI values manually.

Is there a method that I could use in the script to get the dimensions (or extent) of the structured grid, so I can make the script extract the top layer I’m interested in for any grid dimension?


<snip>
from paraview.simple import *

    inputPvts = XMLPartitionedStructuredGridReader(FileName=[fname])
    inputPvts.PointArrayStatus = ['velocity']

    # get active view
    renderView1 = GetActiveViewOrCreate('RenderView')
    renderView1.ResetCamera()

    #get the 4 uppermost cells
    extractSubset1 = ExtractSubset(Input=inputPvts)
    extractSubset1.VOI = [0, 512, 127, 128, 0, 512]
    extractSubset1.SampleRateI = 1
    extractSubset1.SampleRateJ = 1
    extractSubset1.SampleRateK = 1
    extractSubset1.IncludeBoundary = 0
doCoolStuff...
</snip>

So far, I’ve tried reading the VOI from the extractSubsetFilter, but the indexing of the extent is not showing the grid dimensions:

    dimensions = extractSubset1.GetPropertyValue('VOI')
    print dimensions

But that returns an array [0, -1, 0, -1, 0, -1]. And I can’t seem to be able to use relative indexes in the filter like: extractSubset1.VOI = [0, -1, -2, -1, 0, -1].

Any thoughts?

Cheers

Guillaume









More information about the ParaView mailing list