[vtkusers] Isosurface Extraction

Marcel Weiss mweiss at cbs.mpg.de
Mon Apr 14 10:46:15 EDT 2008


there is only one scalar array (created from a level set result with spherical topology of the zero level set)

the problem is the used algorithm. standard MC (as it is implemented in the used countour filter) is known to created topology "errors" in some regions. 

I am looking for on of the existing alternatives/extensions already implemented in VTK/ITK.

m.weiss

----- Original Message -----
From: "Amy Squillacote" <ahs at cfdrc.com>
To: "r jamieson" <r.jamieson at reading.ac.uk>
Cc: "vtkMailingList" <vtkusers at vtk.org>
Sent: Monday, April 14, 2008 3:24:06 PM (GMT+0100) Europe/Berlin
Subject: Re: [vtkusers] Isosurface Extraction

Does your data set have more than one point scalar array? Is it possible 
that the contour filter is actually operating on an array with a 
different scalar range?

- Amy

r.jamieson at reading.ac.uk wrote:
> HI Bill,
>
> My values range from 1 to 562043.31.
>
> Ronan
>
>
> On Apr 13 2008, Bill Lorensen wrote:
>
>> What is the scalar range of your input?
>>
>> Bill
>>
>> On Sun, Apr 13, 2008 at 9:34 AM, ronan <r.jamieson at reading.ac.uk> wrote:
>>> Hi,
>>>
>>> I am trying to get my head around isosurfaces extraction and i have 
>>> tried to write a c++ program to do a simple extraction, but i cannot 
>>> see any isosurfaces, i have got a wireframe box around the 
>>> space...but no isosurface, i have attached my code
>>>
>>> I would be greatful if some one could point out where i have gone 
>>> wrong.
>>>
>>> Thanks in advance
>>>
>>> Ronan
>>>
>>> int main()
>>> {
>>>
>>> char *c1;
>>> // Setup standard rendering
>>>
>>> vtkRenderer *ren1 = vtkRenderer::New();
>>>   ren1->SetBackground(0.8,0.8,0.8);
>>>
>>> vtkRenderWindow *renWin = vtkRenderWindow::New();
>>>   renWin->AddRenderer(ren1);
>>>   renWin->SetSize(400,300);
>>>
>>> vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();
>>> iren->SetRenderWindow(renWin);
>>>
>>> //Read data from office simulation data file
>>>
>>> vtkDataSetReader *dataSource = vtkDataSetReader::New();
>>>   dataSource->SetFileName("/home/ronan/Develop/Data/office.vtk");
>>>   dataSource->DebugOn();
>>>   dataSource->SetScalarsName(c1);
>>>   dataSource->Update();
>>>
>>> // Create and initialize a dataset outline
>>> // The outline of the data puts the data in context.
>>>
>>> vtkOutlineFilter *outline = vtkOutlineFilter::New();
>>>   outline->SetInputConnection(dataSource->GetOutputPort());
>>>
>>> vtkPolyDataMapper *outlineMapper = vtkPolyDataMapper::New();
>>>   outlineMapper->SetInputConnection(outline->GetOutputPort());
>>>
>>> vtkActor *outlineActor = vtkActor::New();
>>>   outlineActor->SetMapper(outlineMapper);
>>>   outlineActor->GetProperty()->SetColor(0, 0, 0);
>>>
>>> ren1->AddActor(outlineActor);
>>>
>>> //Create an iso-surface using Marching Cubes
>>> vtkContourFilter *iso = vtkContourFilter::New();
>>>   iso->SetInputConnection(dataSource->GetOutputPort());
>>>   iso->ComputeScalarsOn();
>>>   iso->SetValue(0, 14);
>>>   iso->Update();
>>>
>>> //vtkDataSetMapper *isoMapper = vtkDataSetMapper::New();
>>> vtkPolyDataMapper *isoMapper = vtkPolyDataMapper::New();
>>>   isoMapper->SetInputConnection(iso->GetOutputPort());
>>>   isoMapper->ScalarVisibilityOn();
>>>   isoMapper->SetScalarModeToUsePointFieldData();
>>>   isoMapper->SetScalarRange(0, 1200);
>>>
>>> vtkActor *isoActor = vtkActor::New();
>>>   isoActor->SetMapper(isoMapper);
>>>   isoActor->GetProperty()->SetColor(0.9804, 0.9216, 0.8431);
>>>
>>> ren1->AddActor(isoActor);
>>>
>>> renWin->Render();
>>>  iren->Start();
>>> _______________________________________________
>>> This is the private VTK discussion list.
>>> Please keep messages on-topic. Check the FAQ at:
>>> http://www.vtk.org/Wiki/VTK_FAQ
>>> Follow this link to subscribe/unsubscribe:
>>> http://www.vtk.org/mailman/listinfo/vtkusers
>>>
>>
> _______________________________________________
> This is the private VTK discussion list.
> Please keep messages on-topic. Check the FAQ at: 
> http://www.vtk.org/Wiki/VTK_FAQ
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
>
>

-- 
Amy Squillacote                    Phone: (256) 726-4839
Computer Scientist                 Fax: (256) 726-4806
CFD Research Corporation           Web: http://www.cfdrc.com
215 Wynn Drive, Suite 501
Huntsville, AL  35805


_______________________________________________
This is the private VTK discussion list.
Please keep messages on-topic. Check the FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
Follow this link to subscribe/unsubscribe:
http://www.vtk.org/mailman/listinfo/vtkusers




More information about the vtkusers mailing list