[Paraview] Extract the dimensions (or extent) of a structured grid within a python script
Guillaume Duclaux
Guillaume.Duclaux at uib.no
Tue May 26 10:11:02 EDT 2015
Thanks a lot Utkarsh for your assistance!
I've added the following to my python script, and it worked smoothly:
inputPvts.UpdatePipeline()
extent = inputPvts.GetDataInformation().GetExtent()
print extent
returns:
(0, 512, 0, 128, 0, 512)
Cheers
Guillaume
On 26 May 2015, at 15:37, Utkarsh Ayachit <utkarsh.ayachit at kitware.com<mailto:utkarsh.ayachit at kitware.com>> wrote:
Guillaume,
Use data information [1] as follows:
UpdatePIpeline(inputPvts)
extent = inputPvts.GetDataInformation().GetExtent()
See Section 3.3 from the ParView Guide[2] for more details.
Utkarsh
[1] http://www.paraview.org/ParaView3/Doc/Nightly/www/cxx-doc/classvtkPVDataInformation.html
[2] http://www.paraview.org/paraview-guide/
On Tue, May 26, 2015 at 8:07 AM, Guillaume Duclaux
<Guillaume.Duclaux at uib.no<mailto:Guillaume.Duclaux at uib.no>> wrote:
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
_______________________________________________
Powered by www.kitware.com<http://www.kitware.com>
Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView
Search the list archives at: http://markmail.org/search/?q=ParaView
Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/paraview
More information about the ParaView
mailing list