[vtkusers] streaming vtkMarchingCubes?
Bill Lorensen
bill.lorensen at gmail.com
Wed Jul 29 07:33:04 EDT 2009
MarchingCubes does not stream. Also, internally it uses vtkMergePoints
to make sure that duplicate points are removed. I don't see how memory
size should affect the results.
What version of VTK are you using?
Also, can you put the data online somewhere?
Bill
On Wed, Jul 29, 2009 at 3:27 AM, Dominik Szczerba<dominik at itis.ethz.ch> wrote:
> I am doing nothing particular, just a structured points dataset with a
> smooth scalar field (float) that I am running vtkMarchingCubes on. I get my
> polydata as cubes->GetOutput(). As mentioned, I dont know if that matters
> but the problem appears on a low mem PC and not on a bigger one (same code
> but different systems). If you strongly believe there is something special
> in my image data I can put it online for a test.
>
> I can not follow the vtkMarchingCubes code well enough to clearly tell if
> there is some streaming being done - looks to me like not, but where do the
> degenerate points come from?
>
> An interesting observation though, if I save the resulting polydata using
> vtkPolyDataWriter I get the file you saw. If I save it with the vtkSTL
> writer I get a clean dataset, so the latter must merge coincident points
> internally (why? - this removes the chance of finding errors)
>
> best regards,
> Dominik
>
> Bill Lorensen wrote:
>>
>> I looked at the vtk file and indeed it has multiple surfaces. How did
>> you generate this polydata? Can you tell me the pipeline you used?
>>
>> On Sun, Jul 26, 2009 at 1:29 PM, Dominik Szczerba<dominik at itis.ethz.ch>
>> wrote:
>>>
>>> On Sun, 2009-07-26 at 12:35 -0400, Bill Lorensen wrote:
>>>>
>>>> I am surprised at this. vtkMarchingCubes should produce manifold and
>>>> oriented surfaces. There should be no duplicate points.
>>>> vtkMarchingCubes can produce multiple, topologically disconnected
>>>> surfaces. vtkDiscreteMarchingCubes can (and should) produce
>>>> geometrically continuous but topologically disconnected surafces.
>>>>
>>>> Can you provide a test dataset that reproduces the problem?
>>>>
>>> I hanged a small sample on:
>>>
>>> http://otoro.itis.ethz.ch/~dominik/tmp/test.vtk
>>>
>>> I got this while segmenting a smooth scalar field on a (Windows virtual)
>>> machine with very little memory. I do not get this on a (linux real)
>>> machine with lots of memory.
>>>
>>> Running connectivity filter you will notice a few disconnected regions.
>>> It goes away after merging coincident points (and the number of points
>>> is reduced indicating degenerate original points).
>>>
>>> I just need to get a warning when the output is in such condition to not
>>> have to merge points by default, which degrades performance.
>>>
>>> -- Dominik
>>>
>>>> Bill
>>>>
>>>> On Sun, Jul 26, 2009 at 8:27 AM, Dominik Szczerba<dominik at itis.ethz.ch>
>>>> wrote:
>>>>>
>>>>> I have experimentally found out that vtkMarchingCubes can generate
>>>>> geometrically continuous but topologically disconnected isosurfaces,
>>>>> i.e. the isosurface is cut into stripes along one axis with duplicate
>>>>> points on the edges. How do I get a control of this behavior,
>>>>> especially, to know if there will be disconnected stripes so I should
>>>>> merge the points (I need topological consistency)?
>>>>>
>>>>> -- Dominik
>>>>>
>>>>> _______________________________________________
>>>>> 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 VTK FAQ at:
>>>>> http://www.vtk.org/Wiki/VTK_FAQ
>>>>>
>>>>> Follow this link to subscribe/unsubscribe:
>>>>> http://www.vtk.org/mailman/listinfo/vtkusers
>>>>>
>>>
>>
>
>
> --
> d o m i n i k s z c z e r b a , p h d . . . . . . . . . . .
> c o m p u t a t i o n a l l i f e s c i e n c e g r o u p
> . . . . . . . i t ' i s r e s e a r c h f o u n d a t i o n
> . . . . . . . . . . . . . . . . . . . . http://www.itis.ethz.ch
>
>
More information about the vtkusers
mailing list