[Paraview] Python Programmable Filter
Jacques Papper
jacques.papper at gmail.com
Thu Nov 13 10:51:22 EST 2008
Thanks a lot Utkarsh !
It works. I was almost there, but I couldn't figure out a way to expose the
available interface for each object!
Where am I supposed to look to figure out that CopyStructure(), and
NewInstance(), SetBlock() etc ... are functions available ?
Kind regards,
Jacques Papper
2008/11/13 Utkarsh Ayachit <utkarsh.ayachit at kitware.com>
> Jacques,
>
> Couple of ways to solve your problem:
>
> * Solution One:
> If you don't want to deal with the fact that your data is a
> vtkMultiblockDataSet, apply the "Merge Blocks" filter after each of the
> "Extract Block" filters and then connect to the "Programmable Filter" to to
> the output from the "Merge Blocks" and then your current script should work
> just fine. The "Merge Blocks" will convert the vtkMultiBlockDataSet to a
> vtkUnstructuredGrid on which your script is applicable.
>
> * Solution Two:
> input0 = self.GetInputDataObject(0,0)
> input1 = self.GetInputDataObject(0,1)
> output = self.GetOutputDataObject(0)
>
> input0Block0 = input0.GetBlock(0)
> input1Block0 = input1.GetBlock(0)
>
> output.CopyStructure(input0)
> outputBlock0 = input0Block0.NewInstance()
> outputBlock0.CopyStructure(input0Block0)
> output.SetBlock(0, outputBlock0)
>
>
> outputBlock0.GetPointData().AddArray(input0Block0.GetPointData().GetArray("pressure1"))
>
> outputBlock0.GetPointData().AddArray(input1Block0.GetPointData().GetArray("pressure2"))
>
> The above script will work if you are extracting a single block using the
> Extract Block filter. If you want to merge arrays for all the blocks in the
> input you'll have to iterate over the datasets in the vtkMultiblockDataset.
> Take a look at
>
> http://www.paraview.org/Wiki/Python_Programmable_Filter#Dealing_with_Composite_Datasets
>
> Utkarsh
>
>
> Jacques Papper wrote:
>
>> Here is what I am doing at the moment.
>> -Load geometry 1
>> -Extract wing block
>>
>> -Load geometry 2
>> -Extract wing block
>>
>> Then use the resample filter with wing1 as input and wing2 as source
>> (this works)
>>
>> The last bit is missing (that is merging the data from wing2 with the
>> resampled data)
>>
>> Jacques
>>
>> 2008/11/13 Berk Geveci <berk.geveci at kitware.com <mailto:
>> berk.geveci at kitware.com>>
>>
>> Programmable filter can still be made to work. Do the datasets have
>> multiple parts? I am not sure how resampling would work with multiple
>> parts. It is impossible to guess which parts map to which parts...
>>
>> -berk
>>
>> On Thu, Nov 13, 2008 at 8:28 AM, Jacques Papper
>> <jacques.papper at gmail.com <mailto:jacques.papper at gmail.com>> wrote:
>> > They are multi-block datasets from Ensight Reader.
>> > Is there another way of dealing with this then ?
>> > Jacques
>> >
>> > 2008/11/13 Berk Geveci <berk.geveci at kitware.com
>> <mailto:berk.geveci at kitware.com>>
>> >>
>> >> Are the inputs multi-block datasets by any chance?
>> >>
>> >>
>> >> -berk
>> >>
>> >> On Thu, Nov 13, 2008 at 6:03 AM, Jacques Papper
>> >> <jacques.papper at gmail.com <mailto:jacques.papper at gmail.com>>
>> wrote:
>> >> > Hi Berk,
>> >> >
>> >> > I am trying out your suggestion of merging arrays :
>> >> >
>> >> > input0 = self.GetInputDataObject(0,0)
>> >> > input1 = self.GetInputDataObject(0,1)
>> >> > output = self.GetOutputDataObject(0)
>> >> >
>> >> >
>>
>> output.GetPointData().AddArray(input0.GetPointData().GetArray("pressure1"))
>> >> >
>> >> >
>>
>> output.GetPointData().AddArray(input1.GetPointData().GetArray("pressure2"))
>> >> >
>> >> > but I get the following error message :
>> >> >
>> >> > File "<string>", line 2, in <module>
>> >> > File "<string>", line 4, in RequestData
>> >> > AttributeError: GetPointData
>> >> >
>> >> > I also tried just using the programmable filter on one source
>> and with
>> >> > the
>> >> > following code, and I get the same error :
>> >> >
>> >> > input0=self.GetInputDataObject(0,0)
>> >> > input0.GetPointData()
>> >> >
>> >> > I am using version 3.4.0
>> >> >
>> >> > _______________________________________________
>> >> > ParaView mailing list
>> >> > ParaView at paraview.org <mailto:ParaView at paraview.org>
>> >> > http://www.paraview.org/mailman/listinfo/paraview
>> >> >
>> >> >
>> >
>> >
>>
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> ParaView mailing list
>> ParaView at paraview.org
>> http://www.paraview.org/mailman/listinfo/paraview
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.paraview.org/pipermail/paraview/attachments/20081113/c5765dda/attachment-0001.htm>
More information about the ParaView
mailing list