[vtkusers] strange output, any advice please
Bill Lorensen
bill.lorensen at gmail.com
Thu Dec 17 23:28:16 EST 2009
The example's output is an isosurface made of of triangles. Also, as
the description says,
"This example creates polydata models from a 3D volume that contains
discrete labels. These volume are normally the output of a
segmentation algorithm." It looks as though infoseekerr is generating
an isosurface from grayscale data.
Delaunay3D creates a volume of tetrahedras from a pointset. As you
mentioned I believe it is a convex hull.. They serve different
purposes. It is not clear what the problem is that infoseekerr is
trying to solve. Until infoseekeer can explaint the problem, I don't
see how we can be of any help.
On Thu, Dec 17, 2009 at 8:49 AM, David Doria <daviddoria+vtk at gmail.com> wrote:
> On Thu, Dec 17, 2009 at 8:08 AM, Ali Habib <ali.mahmoud.habib at gmail.com> wrote:
>> Dear Bill,
>> I used VtkDelunary3D instead of 2D, and I used before reconstruction series
>> of fillters to decrease the dataset ,attached is the output
>>
>> The code I used is :
>>
>> vtkDICOMImageReader v16 = vtkDICOMImageReader::New();
>>
>> v16->SetDirectoryName(@"D:\work\Master
>> Degree\DataSet\case2\DICOM\PA1\ST1\SE2");
>>
>> v16->SetDataOrigin(2, 2, 1);
>>
>> v16->Update();
>>
>> /////////////////////Pre processing
>>
>> // STEP 1:
>>
>> vtkImageShrink3D VIS = vtkImageShrink3D::New();
>>
>> VIS->SetInputConnection(v16->GetOutputPort());
>>
>> VIS->SetShrinkFactors(2, 2, 1);
>>
>> VIS->Update();
>>
>> // STEP 2:
>>
>> vtkImageThreshold VIT = vtkImageThreshold::New();
>>
>> VIT->SetInputConnection(VIS->GetOutputPort());
>>
>> VIT->ThresholdByLower(200);
>>
>> VIT->ThresholdByUpper(2000);
>>
>> VIT->Update();
>>
>> //step3
>>
>> vtkImageGaussianSmooth VIG = vtkImageGaussianSmooth::New();
>>
>> VIG->SetInputConnection(VIS->GetOutputPort());
>>
>> VIG->SetStandardDeviation(1.4, 1.4, 1.4);
>>
>> VIG->Update();
>>
>>
>>
>> //////////////// Create the 3d volume /////////////////
>>
>>
>>
>> vtkMarchingCubes skinExtractor = vtkMarchingCubes::New();
>>
>> skinExtractor->GetOutput()->ReleaseDataFlagOff();
>>
>> skinExtractor->SetInputConnection(VIG->GetOutputPort());
>>
>> skinExtractor->SetValue(0, 500);
>>
>> skinExtractor->ComputeGradientsOn();
>>
>> skinExtractor->Update();
>>
>>
>>
>> vtkTriangleFilter VTF = vtkTriangleFilter::New();
>>
>> VTF->SetInputConnection(skinExtractor->GetOutputPort());
>>
>> VTF->GetOutput()->ReleaseDataFlagOff();
>>
>> VTF->Update();
>>
>>
>>
>> vtkDelaunay3D stripper = vtkDelaunay3D::New();
>>
>> stripper->SetInputConnection(VTF->GetOutputPort());
>>
>> stripper->GetOutput()->ReleaseDataFlagOff();
>>
>> stripper->Update();
>>
>>
>>
>> // Create Mapper
>>
>> vtkDataSetMapper skinMapper = vtkDataSetMapper::New();
>>
>> skinMapper->SetInputConnection(stripper->GetOutputPort());
>>
>>
>>
>>
>>
>>
>
> That is the expected output of Delaunay3D. I never understood what it
> would be used for myself. It is very "convex-hull-ish".
>
> I'm not exactly sure what the output of this example is, and I'm also
> not very familiar with DICOM, but maybe you can look at:
> http://www.vtk.org/Wiki/VTK/Examples/Medical/Cxx/GenerateModelsFromLabels
>
> (Bill - we should try to add images to a lot of these as we have time).
>
> Thanks,
>
> David
> _______________________________________________
> 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
>
More information about the vtkusers
mailing list