<p dir="ltr">Contour filter uses SynchronizedTemplates.</p>
<div class="gmail_quote">On Nov 26, 2015 4:01 AM, "Grothausmann, Roman Dr." <<a href="mailto:grothausmann.roman@mh-hannover.de">grothausmann.roman@mh-hannover.de</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Many thanks Bill for looking into this. I had a look at the code of vtkContourFilter and vtk(Discrete)MarchingCubes. My guess was that vtk(Discrete)MarchingCubes lacks an implementation of RequestUpdateExtent. However, I'm not sufficiently familiar with VTK's streaming to create an appropriate method, especially the changes for vtk-6.3 still confuse me.<br>
<br>
I've been wondering what is the difference between vtkMarchingCubes and vtkContourFilter run on an image. So far I've thought that vtkContourFilter runs vtkMarchingCubes when the input is an image, however the code of vtkContourFilter does not refer to vtkMarchingCubes at all. Still, for a binary image as input the results seem to be the same, aren't they?<br>
<br>
Again, many thanks for looking into this.<br>
Roman<br>
<br>
On 25/11/15 21:58, Bill Lorensen wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Roman,<br>
<br>
I think that only algorithms that implement ThreadedExecute() will<br>
properly work in your situation. vtkMarchingCubes and<br>
vtkDiscreteMarchingCubes do not implement that method.<br>
<br>
I suggest using vtkContourFilter instead of vtkMarchingCubes. There is<br>
no equivalent for vtkDiscreteMarchingCubes.<br>
<br>
Perhaps in the future I can look at DiscreteMarchingCubes.<br>
<br>
Bill<br>
<br>
On Wed, Nov 25, 2015 at 1:53 PM, Bill Lorensen <<a href="mailto:bill.lorensen@gmail.com" target="_blank">bill.lorensen@gmail.com</a>> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Roman,<br>
<br>
With your sample programs and my data, I can reproduce the bad results<br>
for Marching and DiscreteCubes. (without ImagePad - that is another<br>
issue).<br>
<br>
Now to find the bugs....<br>
<br>
Bill<br>
<br>
On Wed, Nov 25, 2015 at 11:27 AM, Bill Lorensen <<a href="mailto:bill.lorensen@gmail.com" target="_blank">bill.lorensen@gmail.com</a>> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Looks like a bug. I'll take a look.<br>
<br>
<br>
On Wed, Nov 25, 2015 at 9:04 AM, Grothausmann, Roman Dr.<br>
<<a href="mailto:grothausmann.roman@mh-hannover.de" target="_blank">grothausmann.roman@mh-hannover.de</a>> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I just noticed that vtkDiscreteMarchingCubes and also vtkMarchingCubes do<br>
not handle sub-extents correctly. It seems both filters do not handle the<br>
translation of each sub-extent. If the result is saved in a PVTP-file and<br>
opened in ParaView, the content of each VTP-file is placed over the others.<br>
In contrast vtkContourFilter does handle the translation of each sub-extent<br>
correctly, the content of each VTP-file is positioned correctly, see e.g.<br>
<a href="https://github.com/romangrothausmann/VTK-CLIs/blob/9eac8644101360d18f2ff70928d457aabddbbbf0/marching-cubes_MPI.cxx" rel="noreferrer" target="_blank">https://github.com/romangrothausmann/VTK-CLIs/blob/9eac8644101360d18f2ff70928d457aabddbbbf0/marching-cubes_MPI.cxx</a><br>
<br>
On 24/11/15 14:26, Grothausmann, Roman Dr. wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Dear mailing list members,<br>
<br>
<br>
Trying to cap the output of vtkDiscreteMarchingCubes by applying<br>
vtkImageConstantPad on the input before does not work if running<br>
vtkStreamingDemandDrivenPipeline by e.g. a vtkMPIController.<br>
<br>
If I run this program with the parameter for capping, i.e. employing<br>
vtkImageConstantPad:<br>
<br>
<a href="https://github.com/romangrothausmann/VTK-CLIs/blob/9eac8644101360d18f2ff70928d457aabddbbbf0/discrete_marching-cubes_MPI.cxx#L90" rel="noreferrer" target="_blank">https://github.com/romangrothausmann/VTK-CLIs/blob/9eac8644101360d18f2ff70928d457aabddbbbf0/discrete_marching-cubes_MPI.cxx#L90</a><br>
<br>
<br>
I get an error such as:<br>
vtkImageData (0x1868190): GetScalarPointer: Pixel (0, 0, 341) not in<br>
memory.<br>
   Current extent= (249, 499, 0, 479, 0, 429)<br>
<br>
It seems that vtkImageConstantPad processes the wrong sub-extent. Would<br>
that be<br>
a filter internal problem or of my code?<br>
<br>
Could the problem be related to the fact that I try to combine structured<br>
extent<br>
(Index (IJK) based, not using ghost levels) with piece-based extent that<br>
uses<br>
ghost levels?<br>
<br>
The problem even occurs when the extent is not extended at all.<br>
The program works as expected if vtkImageConstantPad is avoided.<br>
<br>
Any help or hints are very much appreciated<br>
Roman<br>
<br>
</blockquote>
<br>
--<br>
Dr. Roman Grothausmann<br>
<br>
Tomographie und Digitale Bildverarbeitung<br>
Tomography and Digital Image Analysis<br>
<br>
Institut für Funktionelle und Angewandte Anatomie, OE 4120<br>
Medizinische Hochschule Hannover<br>
Carl-Neuberg-Str. 1<br>
D-30625 Hannover<br>
<br>
Tel. <a href="tel:%2B49%20511%20532-2900" value="+495115322900" target="_blank">+49 511 532-2900</a><br>
_______________________________________________<br>
Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at<br>
<a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the VTK FAQ at:<br>
<a href="http://www.vtk.org/Wiki/VTK_FAQ" rel="noreferrer" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br>
<br>
Search the list archives at: <a href="http://markmail.org/search/?q=vtkusers" rel="noreferrer" target="_blank">http://markmail.org/search/?q=vtkusers</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/vtkusers" rel="noreferrer" target="_blank">http://public.kitware.com/mailman/listinfo/vtkusers</a><br>
</blockquote>
<br>
<br>
<br>
--<br>
Unpaid intern in BillsBasement at noware dot com<br>
</blockquote>
<br>
<br>
<br>
--<br>
Unpaid intern in BillsBasement at noware dot com<br>
</blockquote>
<br>
<br>
<br>
</blockquote>
<br>
-- <br>
Dr. Roman Grothausmann<br>
<br>
Tomographie und Digitale Bildverarbeitung<br>
Tomography and Digital Image Analysis<br>
<br>
Institut für Funktionelle und Angewandte Anatomie, OE 4120<br>
Medizinische Hochschule Hannover<br>
Carl-Neuberg-Str. 1<br>
D-30625 Hannover<br>
<br>
Tel. <a href="tel:%2B49%20511%20532-2900" value="+495115322900" target="_blank">+49 511 532-2900</a><br>
</blockquote></div>