[Paraview] Accessing mappers from within Paraview

Christian Werner christian.werner at rwth-aachen.de
Wed Apr 7 11:51:09 EDT 2010


I am sorry, but it seems that I have a general misunderstanding in how 
to implement a writer. I actually took vtkImageWriter as a guide to 
writing some filter that takes an image as input and writes something to 
the disk. Everything seems fine, but I can't test any further since the 
RequestData method isn't called at all when I use the filter in the 
Python Shell (I cannot acces it anywhere else by the way). I attached my 
xml files.

When using imaging filters in Python you would write something like 
this, after loading a volume:

smooth = GaussianSmooth3D()
Show()

With my writer, I am trying
writer = MeasureObjects()
Show/Update//Execute/GoGoGo/Write/Save/DoSomething/ ...

Nothing happens. No call to RequestData, which has a vtkErrorMacro just 
in the beginning that would show me that it was called.


Best regards,
Christian



Utkarsh Ayachit wrote:
> You did change your proxy to be a "WriterProxy" or subclass instead of
> "SourceProxy" right?
>
> Utkarsh
>
> On Wed, Apr 7, 2010 at 11:02 AM, Christian Werner
> <christian.werner at rwth-aachen.de> wrote:
>   
>> Hi!
>>
>> Thanks for the quick reply. I made it a writer and I am now able to access
>> the plugin in Python. That's great, but somehow it doesn't execute. I can
>> now set the FileName (which I forgot to mention in the xml), but I can't get
>> it executed. The plugin is derived from vtkImageAlgorithm, but the
>> RequestData method does not seem to be called. How do I trigger it?
>>
>> Best regards,
>> Christian
>>
>>
>> Utkarsh Ayachit wrote:
>>     
>>> Christian,
>>>
>>> Any reason why you are not making it a writer? To me it doesn't seem
>>> anything different than that except looks like you are not explicitly
>>> specifying the filename (is it hard coded?).
>>>
>>> Utkarsh
>>>
>>>
>>> On Wed, Apr 7, 2010 at 7:16 AM, Christian Werner
>>> <christian.werner at rwth-aachen.de> wrote:
>>>
>>>       
>>>> Hi!
>>>>
>>>> I just wrote a nice mapper which writes some data to the disk, taking a
>>>> volume as input. I thought I could access it from the "Filters" menu, but
>>>> this wasn't possible. In future, this mapper should be called from the
>>>> python shell, but there, it isn't known either:
>>>>
>>>>
>>>>         
>>>>>>> help(MeasureObjects)
>>>>>>>
>>>>>>>               
>>>> Traceback (most recent call last):
>>>>
>>>> File "<console>", line 1, in <module>
>>>>
>>>> NameError: name 'MeasureObjects' is not defined
>>>>
>>>>
>>>> The plugin-manager however says, that he loaded my plugin ("...is
>>>> definetely
>>>> a paraview plugin..."). It shows up as "loaded" when verifying this.
>>>>
>>>> The plugin is not intended as a writer or something like that, it just
>>>> looks
>>>> at the input and writes something to the disk which Paraview couldn't use
>>>> for anything anyway. Here is my xml content:
>>>>
>>>> <ServerManagerConfiguration>
>>>>  <!-- This is the server manager configuration XML. It defines the
>>>> interface
>>>> to
>>>>     our new filter. As a rule of thumb, try to locate the configuration
>>>> for
>>>>     a filter already in ParaView (in
>>>> Servers/ServerManager/Resources/*.xml)
>>>>     that matches your filter and then model your xml on it -->
>>>>  <ProxyGroup name="mappers">
>>>>  <SourceProxy name="MeasureObjects" class="vtkMeasureObjects"
>>>> label="MeasureObjects">
>>>>   <Documentation
>>>>      long_help="Measures objects (connected components) in a volume."
>>>>      short_help="Classical measuring.">
>>>>  This is classical object measuring filter.
>>>>   </Documentation>
>>>>   <InputProperty
>>>>      name="Input"
>>>>      command="SetInputConnection">
>>>>         <ProxyGroupDomain name="groups">
>>>>           <Group name="sources"/>
>>>>           <Group name="filters"/>
>>>>         </ProxyGroupDomain>
>>>>         <DataTypeDomain name="input_type">
>>>>           <DataType value="vtkImageData"/>
>>>>         </DataTypeDomain>
>>>>    </InputProperty>
>>>>  <!-- End MeasureObjects -->
>>>>  </SourceProxy>
>>>> </ProxyGroup>
>>>> </ServerManagerConfiguration>
>>>>
>>>>
>>>> If I define the plugin as a filter then Paraview complains about not
>>>> having
>>>> an output port.
>>>>
>>>> Any suggestions?
>>>>
>>>>
>>>> Best regards,
>>>> Christian
>>>> _______________________________________________
>>>> Powered by 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
>>>>
>>>> Follow this link to subscribe/unsubscribe:
>>>> http://www.paraview.org/mailman/listinfo/paraview
>>>>
>>>>
>>>>         
>> _______________________________________________
>> Powered by 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
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.paraview.org/mailman/listinfo/paraview
>>
>>     

-------------- next part --------------
A non-text attachment was scrubbed...
Name: MeasureObjects.xml
Type: text/xml
Size: 1302 bytes
Desc: not available
URL: <http://www.paraview.org/pipermail/paraview/attachments/20100407/2b794211/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: MeasureObjectsGUI.xml
Type: text/xml
Size: 144 bytes
Desc: not available
URL: <http://www.paraview.org/pipermail/paraview/attachments/20100407/2b794211/attachment-0001.bin>


More information about the ParaView mailing list