[Paraview] Writing IntegrateAttributes to CSV using Python

Utkarsh Ayachit utkarsh.ayachit at kitware.com
Thu Apr 9 08:55:25 EDT 2009


Bart,

Please cc the mailing list as well so other can use this information
as well as respond.

I think one dubious statement I see in your code is:
## First save points.
convertor = sm.filters.AttributeDataToTableFilter(Input=filter1Output,
  FieldAssociation="Points",
  AddMetaData=1)

You are setting the input to this filter be the data object returned
by using Fetch(). In ParaView python scripts the input to filters
cannot be other data objects, but filters or sources. So, the proper
usage would be:

convertor = sm.filters.AttributeDataToTableFilter(Input=filter1,
  FieldAssociation="Points",
  AddMetaData=1)

Does that solve the issue? Also creation of the representation is not
necessary unless you are rendering into a view, which doesn't seem to
be the case.

Utkarsh

On Thu, Apr 9, 2009 at 8:32 AM,  <bart.boonacker at actiflow.com> wrote:
> Dear Utkarsh,
>
> Thank you for your fast replies. I got the CVS version to work, but I am
> still having some trouble to rewrite all the filters and functions.
> When running my code, see below, Paraview crashes and gives a Segmentation
> Fault.
> I am not a real programming expert, so I tried to neglect the
> representations of all filters. This removes the crash, but still posses
> some problem with the code. The code was 1-to-1 copied from the 3.4
> version, which probably causes the errors.
> Is there a way or manual to see the new options and maybe conversions
> between 3.4 and the CVS version ?
>
> Thanks in advance,
>
> Bart
>
> Attached code ( I removed all representation code and view settings):
>
>
> ###############################################################################################
> # create implicit device to populate Slice
> impPlane =
> servermanager.implicit_functions.Plane(registrationGroup='implicit_fuctions')
> impBox =
> servermanager.implicit_functions.Box(registrationGroup='implicit_fuctions')
> impSphere =
> servermanager.implicit_functions.Sphere(registrationGroup='implicit_fuctions')
> ###############################################################################################
>
> caseName = 'Case'
> caseLocation = '/home/bart/Desktop/Test_Python/'
> showScalarBar = 2 #0=none, 1=vertical, 2=horizontal
>
> #read data
> VTKreader01 =
> servermanager.sources.LegacyVTKreader(FileNames='/home/bart/Desktop/Test_Python/1/VTK/1_1000.vtk',registrationGroup='sources',registrationName='RR')
> #repVTKreader01 =
> servermanager.CreateRepresentation(VTKreader01,view,registrationGroup='representations')
> #repVTKreader01.Visibility = 0
> #repVTKreader01.Representation = 3
>
> Slice02 =
> servermanager.filters.Slice(registrationGroup='sources',registrationName='slice02',Input=VTKreader01)
> cfSlice02 = Slice02.GetProperty('CutFunction')
> domainSlice02 = cfSlice02.GetDomain('proxy_list')
> domainSlice02.AddProxy(impPlane.SMProxy)
> domainSlice02.AddProxy(impBox.SMProxy)
> domainSlice02.AddProxy(impSphere.SMProxy)
>
> cutplane02 = impPlane
> cutplane02.Normal = [0, 1, 0]
> cutplane02.Offset = 0
> cutplane02.Origin = [0, 0, 0]
>
> #set cutplane
> Slice02.CutFunction= cutplane02
>
> Calculator01 =
> servermanager.filters.Calculator(registrationGroup='sources',registrationName='calculator',Input=Slice02)
> Calculator01.ResultArrayName = 'Pt'
> Calculator01.Function = '1.225*p+0.5*1.225*mag(U)^2'
> Calculator01.AttributeMode = 1 # 1=pointdata,2=celldata
> Calculator01.AddVectorVariable = ['U','U','0','1','2']
> Calculator01.AddScalarVariable =
> ['p','p','0','U_0','U','0','U_1','U','1','U_2','U','2']
>
> filter1 =
> servermanager.filters.IntegrateAttributes(registrationGroup='sources',registrationName='Integrator',Input=Calculator01)
> filter1Output = servermanager.Fetch(filter1)
> #repfilter1 =
> servermanager.CreateRepresentation(filter1,view,registrationGroup='representations')
>
> # From Utkarsh Ayachit:
> from paraview import servermanager as sm
> sm.Connect()
>
> ## AttributeDataToTableFilter converts any dataset to a vtkTable which can
> be
> ## written as a CSV file. One needs to choose which attribute to save as
> well.
> ## First save points.
> convertor = sm.filters.AttributeDataToTableFilter(Input=filter1Output,
> FieldAssociation="Points",
> AddMetaData=1)
> csvWriter = sm.writers.CSVWriter(Input=convertor)
> csvWriter.FileName =
> "/home/bart/Afstuderen/Straight_Auto/output.points.csv"
>
> ## this writes the output.
> csvWriter.UpdatePipeline()
>
> ## Now save cells.
> convertor.FieldAssociation="Cells"
> csvWriter = sm.writers.CSVWriter(Input=convertor)
> csvWriter.FileName = "/home/bart/Afstuderen/Straight_Auto/output.cells.csv"
>
> ## this writes the output.
> csvWriter.UpdatePipeline()
>
>
>


More information about the ParaView mailing list