[Paraview] ParaView Plugin .xml how to

David E DeMarle dave.demarle at kitware.com
Thu Jun 7 11:21:55 EDT 2012


Your c++ class has:
double calculateOptimalThreshold(vtkImageData *voi)

But your xml property specification says paraview should call this:
void calculateOptimalThreshold(double *argument)

To pass in an image data you will need to use a ProxyProperty, not a
double vector property.


David E DeMarle
Kitware, Inc.
R&D Engineer
21 Corporate Drive
Clifton Park, NY 12065-8662
Phone: 518-881-4909


On Thu, Jun 7, 2012 at 11:12 AM, Tuan Ha Tran <tuan-ha.tran at insa-lyon.fr> wrote:
> I tried to call my function double calculateOptimalThreshold(vtkImageData
> *voi) which have a return attribute as an OpThreshold that I want to extract
> the value as well.
>
> I use the following tab for my .xml ServerManager.
> ========================================================================
>
> <DoubleVectorProperty name ="calculate" command="calculateOptimalThreshold"
> number_of_elements = "1">
>         <DataTypeDomain name ="input_type">
>   <DataType value = "vtkImageData">
>         </DataTypeDomain>
>
> </DoubleVectorProperty>========================================================================
>
> But I failed to apply my filter with the following error
> =====================================================================
>
> ############ ABORT #############
> ERROR: In
> /home/thtran/PV/ParaView/src/ParaViewCore/ServerImplementation/vtkPVSessionCore.cxx,
> line 368
> vtkPVSessionCore (0x101ac20): Object type: vtkOtsuSphereSource, could not
> find requested method: "calculateOptimalThreshold"
> or the method was called with incorrect arguments.
>
> while processing
> Message 0 = Invoke
>   Argument 0 = vtk_object_pointer {vtkOtsuSphereSource (0x29ef5f0)}
>   Argument 1 = string_value
> {calculateOptimalThreshold} ======================================================================
> Can you please help me? It really really important for me indeed.
> Thank you from my heart for your help.
>
>
>
> ----- Original Message -----
> From: Tuan Ha Tran <tuan-ha.tran at insa-lyon.fr>
> To: paraview-developers at paraview.org, paraview at paraview.org
> Sent: Thu, 07 Jun 2012 16:45:22 +0200 (CEST)
> Subject: [Paraview] ParaView Plugin .xml how to
>
> Hi everybody,
>     I have another question, I hope that you can help me.
>     So, my class vtkOtsuSphereSource has an attribute name "OpThreshold" of
> type double.
>     I want to Set it value using ParaView.
>     I followed an tutorial from which I can get my job done by adding some
> tab in my .xml file. the tutorial I told is in the IEEE Vis 09 conference.
>
>     So, to set OpThreshold, I added the followed tab :
>    <DoubleVectorProperty name="OpThreshold"  command="SetOpThreshold"
> number_of_elements ="1" default_values="0">
>    </DoubleVectorProperty>
>     And normaly, I can entre a value in a box in ParaView GUI. but I have a
> Core Dump, here is what I have as error :
>
>
> paraview:
> /home/thtran/PV/ParaView/src/ParaViewCore/ServerImplementation/vtkSIProxy.cxx:453:
> virtual bool vtkSIProxy::ReadXMLProperty(vtkPVXMLElement*): Assertion
> `!name.empty() && this->GetSIProperty(name.c_str()) == __null' failed.
> Aborted (core dumped)
>           I think that I don't get the .xml written as expected but I don't
> have any idea where is the problem.
>     Please help me. It is really important for me to get through this.
>
>     My .xml is as followed :
>
>   ====================================================================
>    <ServerManagerConfiguration>
>   <ProxyGroup name="filters">
>    <SourceProxy name="OtsuSphereSource" class="vtkOtsuSphereSource"
> label="Otsu Sphere Source">
>
>      <Documentation
>         long_help="Ce filtre calcule a partir dune image donnee le meilleur
> seuil"
>         short_help="Calcule meilleur seuil">
>      </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>
>       <DoubleVectorProperty name="OpThreshold"  command="SetOpThreshold"
> number_of_elements ="1" default_values="0">
>       </DoubleVectorProperty>
>       <DoubleVectorProperty name = "OpThreshold" command="GetOpThreshold"
> number_of_elements = "1" default_values="0" information_only="1">
>       </DoubleVectorProperty>
>
>    </SourceProxy>
>   </ProxyGroup>
> </ServerManagerConfiguration>
> ===========================================================================
>
> _______________________________________________
> 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
>


More information about the ParaView mailing list