Ok ! <br>No, it doesn&#39;t work, but I made my mind:<br><br>* vtkImageMathematics has two input ports, the second one being optional. That&#39;s why the XML works with one filter.<br><br>* Function SetInput1 and SetInput2 are wrappers around SetInputConnection for old-style programming compatibility. SetInputX is in fact SetInputConnection(X-1, input_port1 )<br>
<br>When using AddInputConnection like vtkImageAppend does, it is based on the &#39;one port&#39; fashion of the filter, then multiple inputs means multiple connections on one port... That is not the case for vtkImageMathematics !!<br>
<br>So, I would like to use kind of number_of_elements statement and element_types statement to handle something like :<br>&lt;InputProperty<br>                       name=&quot;Input1&quot;<br>
                       command=&quot;SetInputConnection&quot;<br>
<div>                       number_of_elements=&quot;2&quot;<br>                       element_types=&quot;0 3&quot;   &lt;!-- Yes I know, type &#39;3&#39; does not exist: I want this to be vtkAlgorithmOutput --&gt;<br>
                       default_values=&quot;0 Input1&quot;&gt; &lt;!-- Yes I know, but you see what I means ?? --&gt;<br>            &lt;ProxyGroupDomain name=&quot;groups&quot;&gt;<br>
                  &lt;Group name=&quot;sources&quot;/&gt;<br>
                  &lt;Group name=&quot;filters&quot;/&gt;<br>
            &lt;/ProxyGroupDomain&gt;<br>
            &lt;DataTypeDomain name=&quot;input_type&quot;&gt;<br>
                 &lt;DataType value=&quot;vtkImageData&quot;/&gt;<br>
            &lt;/DataTypeDomain&gt;<br>
            &lt;Documentation&gt;<br>                  Set the input to the vtkImageMathematics filter.<br>
            &lt;/Documentation&gt;<br> 
&lt;/InputProperty&gt;</div><br><br>And then the same with Input2, where default_values would be &quot;1 Input2&quot;.<br>I know one solution is to create an inherited class from vtkImageMathematics, with accessors on input port 0 and port 1. I already did that for vtkImageStencil, what works fine. My problem here is to make vtkImageMathematic available without building any plugins: c++-allergics have rights to use image addition and substraction inside ParaView !! one XML to load, that&#39;s all !<br>
<br>I hope -for these allergics- that there is a solution...<br><br>Best regards<br><br>Jerome<br><br><div class="gmail_quote">2009/4/2 Jérôme <span dir="ltr">&lt;<a href="mailto:jerome.velut@gmail.com">jerome.velut@gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi,<br><br>Many thanks for your quick answer. The problem I described was observed on Paraview 3.4 release, debug build. I have a 3.5 CVS (not updated, so bad...) on which I tried my XML just right now: &quot;Image Math&quot; is no more gray!! I am able to apply the filter on a single image, with &quot;Add constant&quot;, &quot;Multiply by constant&quot;, etc.<br>

<br>The new problem is when I want to add two image. I selected two mandelbrot sources, then I plugged the &quot;Image Math&quot; filter. The output window claims: &quot;Input port 0 of algorithm vtkImageMathematics(0x7f081c4bcb70) has 2 connections but is not repeatable&quot;.<br>

<br>I tried the repeat_command=&quot;1&quot; statement, without optimism and not much success... It seems that vtkImageMathematics input is old-fashionned, but the VTK doc says that SetInput1 and SetInput2 is like involking AddInputConnection. Where do I miss something ??? <br>

<br>Thanks for all,<br><br>Jerome<br><br><div class="gmail_quote">2009/4/2 Utkarsh Ayachit <span dir="ltr">&lt;<a href="mailto:utkarsh.ayachit@kitware.com" target="_blank">utkarsh.ayachit@kitware.com</a>&gt;</span><div><div>
</div><div class="h5"><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I justed loaded your XML as a plugin in CVS ParaView is seems to being<br>
enabled fine. I was able to apply the filter to Mandlebrot source.<br>
What version of ParaView are you using?<br>
<br>
Utkarsh<br>
<br>
2009/4/2 Jérôme &lt;<a href="mailto:jerome.velut@gmail.com" target="_blank">jerome.velut@gmail.com</a>&gt;:<br>
<div><div></div><div>&gt; Dear all,<br>
&gt;<br>
&gt; I am unsuccessfully fighting with XML description of the VTK<br>
&gt; vtkImageMathematics filter. I want it to be available in the ParaView<br>
&gt; filters. At the end of this mail is the XML I wrote, widely inspired from<br>
&gt; &quot;Append Geometry&quot;.<br>
&gt;<br>
&gt; Note that it is part of a larger file making available ImageGaussianSmooth,<br>
&gt; ImageSobel3D, ImageFilp, SplineFilter, some different sources... Everything<br>
&gt; works well, except Image Mathematics and Image Reslice (I told about Reslice<br>
&gt; in another thread).<br>
&gt;<br>
&gt; The symptom is the following : the &quot;Image Math&quot; appears in the filters list,<br>
&gt; but is always unavailable, even if I select one proxy or two in the<br>
&gt; pipeline. What is the diagnostic, doctors ? Is there a therapy ?<br>
&gt;<br>
&gt; Thanks all !<br>
&gt;<br>
&gt; Best regards,<br>
&gt; Jerome<br>
&gt;<br>
&gt; &lt;ServerManagerConfiguration&gt;<br>
&gt;    &lt;ProxyGroup name=&quot;filters&quot;&gt;<br>
&gt;       &lt;!--<br>
&gt; ================================================================== --&gt;<br>
&gt;       &lt;SourceProxy name=&quot;ImageMathematics&quot; class=&quot;vtkImageMathematics&quot;<br>
&gt; label=&quot;Image Math&quot;&gt;<br>
&gt;          &lt;Documentation<br>
&gt;                        long_help=&quot;Provides some image operations, one or two<br>
&gt; inputs.&quot;<br>
&gt;                        short_help=&quot;vtkImageMathematics filter.&quot;&gt;<br>
&gt;          &lt;/Documentation&gt;<br>
&gt;       &lt;InputProperty<br>
&gt;          name=&quot;Input&quot;<br>
&gt;          command=&quot;AddInputConnection&quot;<br>
&gt;          clean_command=&quot;RemoveAllInputs&quot;<br>
&gt;          multiple_input=&quot;1&quot;&gt;<br>
&gt;            &lt;ProxyGroupDomain name=&quot;groups&quot;&gt;<br>
&gt;              &lt;Group name=&quot;sources&quot;/&gt;<br>
&gt;              &lt;Group name=&quot;filters&quot;/&gt;<br>
&gt;            &lt;/ProxyGroupDomain&gt;<br>
&gt;            &lt;DataTypeDomain name=&quot;input_type&quot;&gt;<br>
&gt;              &lt;DataType value=&quot;vtkImageData&quot;/&gt;<br>
&gt;            &lt;/DataTypeDomain&gt;<br>
&gt;            &lt;Documentation&gt;<br>
&gt;              Set the input to the Append Geometry filter.<br>
&gt;            &lt;/Documentation&gt;<br>
&gt;       &lt;/InputProperty&gt;<br>
&gt;<br>
&gt;          &lt;IntVectorProperty<br>
&gt;                            name=&quot;Operation&quot;<br>
&gt;                            command=&quot;SetOperation&quot;<br>
&gt;                            number_of_elements=&quot;1&quot;<br>
&gt;                            default_values=&quot;0&quot;&gt;<br>
&gt;<br>
&gt;             &lt;EnumerationDomain name=&quot;enum&quot;&gt;<br>
&gt;                &lt;Entry value=&quot;0&quot; text=&quot;Add&quot;/&gt;<br>
&gt;                &lt;Entry value=&quot;1&quot; text=&quot;Substract&quot;/&gt;<br>
&gt;                &lt;Entry value=&quot;2&quot; text=&quot;Multiply&quot;/&gt;<br>
&gt;                &lt;Entry value=&quot;3&quot; text=&quot;Divide&quot;/&gt;<br>
&gt;                &lt;Entry value=&quot;4&quot; text=&quot;Invert&quot;/&gt;<br>
&gt;                &lt;Entry value=&quot;5&quot; text=&quot;Sin&quot;/&gt;<br>
&gt;                &lt;Entry value=&quot;6&quot; text=&quot;Cos&quot;/&gt;<br>
&gt;                &lt;Entry value=&quot;7&quot; text=&quot;Exp&quot;/&gt;<br>
&gt;                &lt;Entry value=&quot;8&quot; text=&quot;Log&quot;/&gt;<br>
&gt;                &lt;Entry value=&quot;9&quot; text=&quot;Abs&quot;/&gt;<br>
&gt;                &lt;Entry value=&quot;10&quot; text=&quot;Sqr&quot;/&gt;<br>
&gt;                &lt;Entry value=&quot;11&quot; text=&quot;Sqrt&quot;/&gt;<br>
&gt;                &lt;Entry value=&quot;12&quot; text=&quot;Min&quot;/&gt;<br>
&gt;                &lt;Entry value=&quot;13&quot; text=&quot;Max&quot;/&gt;<br>
&gt;                &lt;Entry value=&quot;14&quot; text=&quot;Atan&quot;/&gt;<br>
&gt;                &lt;Entry value=&quot;15&quot; text=&quot;Atan2&quot;/&gt;<br>
&gt;                &lt;Entry value=&quot;16&quot; text=&quot;Multiply by k&quot;/&gt;<br>
&gt;                &lt;Entry value=&quot;17&quot; text=&quot;Add c&quot;/&gt;<br>
&gt;                &lt;Entry value=&quot;18&quot; text=&quot;Conjugate&quot;/&gt;<br>
&gt;                &lt;Entry value=&quot;19&quot; text=&quot;Complex multiply&quot;/&gt;<br>
&gt;                &lt;Entry value=&quot;20&quot; text=&quot;Replace by k&quot;/&gt;<br>
&gt;             &lt;/EnumerationDomain&gt;<br>
&gt;          &lt;/IntVectorProperty&gt;<br>
&gt;<br>
&gt;          &lt;DoubleVectorProperty<br>
&gt;                               name=&quot;ConstantK&quot;<br>
&gt;                               command=&quot;SetConstantK&quot;<br>
&gt;                               number_of_elements=&quot;1&quot;<br>
&gt;                               default_values=&quot;1&quot;&gt;<br>
&gt;          &lt;/DoubleVectorProperty&gt;<br>
&gt;<br>
&gt;          &lt;DoubleVectorProperty<br>
&gt;                               name=&quot;ConstantC&quot;<br>
&gt;                               command=&quot;SetConstantC&quot;<br>
&gt;                               number_of_elements=&quot;1&quot;<br>
&gt;                               default_values=&quot;0&quot;&gt;<br>
&gt;          &lt;/DoubleVectorProperty&gt;<br>
&gt;<br>
&gt;          &lt;IntVectorProperty<br>
&gt;                            name=&quot;DivideByZeroToC&quot;<br>
&gt;                            command=&quot;SetDivideByZeroToC&quot;<br>
&gt;                            number_of_elements=&quot;1&quot;<br>
&gt;                            default_values=&quot;1&quot;&gt;<br>
&gt;             &lt;BooleanDomain name=&quot;boolean&quot;/&gt;<br>
&gt;          &lt;/IntVectorProperty&gt;<br>
&gt;<br>
&gt;       &lt;/SourceProxy&gt;<br>
&gt;       &lt;!-- End ImageMathematics --&gt;<br>
&gt;    &lt;/ProxyGroup&gt;<br>
&gt;    &lt;!-- End Filters Group --&gt;<br>
&gt; &lt;/ServerManagerConfiguration&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
</div></div>&gt; _______________________________________________<br>
&gt; Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
&gt;<br>
&gt; Visit other Kitware open-source projects at<br>
&gt; <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
&gt;<br>
&gt; Please keep messages on-topic and check the ParaView Wiki at:<br>
&gt; <a href="http://paraview.org/Wiki/ParaView" target="_blank">http://paraview.org/Wiki/ParaView</a><br>
&gt;<br>
&gt; Follow this link to subscribe/unsubscribe:<br>
&gt; <a href="http://www.paraview.org/mailman/listinfo/paraview" target="_blank">http://www.paraview.org/mailman/listinfo/paraview</a><br>
&gt;<br>
&gt;<br>
</blockquote></div></div></div><br>
</blockquote></div><br>