[vtkusers] ActiViz C# | Problem with vtkPolyDataConnectivityFilter
Matias Montroull
matimontg at gmail.com
Thu Jan 16 16:54:50 EST 2014
never mind, this did the trick:
my polydatanormals still had the "contornos" input. Once I changed to
"removepoints" worked like a charm
vtkPolyDataConnectivityFilter contornos = new
vtkPolyDataConnectivityFilter();
contornos.SetInputConnection(skinextractor.GetOutputPort());
contornos.SetExtractionModeToLargestRegion();
contornos.SetColorRegions(1);
vtkCleanPolyData removepoints = new vtkCleanPolyData();
removepoints.SetInput(contornos.GetOutput());
removepoints.Update();
vtkPolyDataNormals skinnormals = vtkPolyDataNormals.New();
skinnormals.SetInputConnection(removepoints.GetOutputPort());
skinnormals.SetFeatureAngle(90.0);
skinnormals.ComputePointNormalsOn();
On Thu, Jan 16, 2014 at 6:52 PM, Matias Montroull <matimontg at gmail.com>wrote:
> I did this and I still get all points that contornos returns :( any idea
> what I'm doing wrong?
>
> vtkPolyDataConnectivityFilter contornos = new
> vtkPolyDataConnectivityFilter();
> contornos.SetInputConnection(skinextractor.GetOutputPort());
> contornos.SetExtractionModeToLargestRegion();
> contornos.SetColorRegions(1);
>
> vtkCleanPolyData removepoints = new vtkCleanPolyData();
> removepoints.SetInput(contornos.GetOutput());
> removepoints.Update();
>
>
> On Thu, Jan 16, 2014 at 6:46 PM, Matias Montroull <matimontg at gmail.com>wrote:
>
>> Thanks, so to which object I need to apply the vtkCleanPolyData? to my
>> vtkpolydata?
>>
>>
>> On Thu, Jan 16, 2014 at 6:25 PM, David Gobbi <david.gobbi at gmail.com>wrote:
>>
>>> The vtkPolyDataConnectivityFilter probably only removes cells,
>>> not points. Pass your data through vtkCleanPolyData after the
>>> connectivity filter to get rid of any extra points.
>>>
>>> On Thu, Jan 16, 2014 at 2:19 PM, Matias Montroull <matimontg at gmail.com>
>>> wrote:
>>> > Hi,
>>> >
>>> > I have a problem trying to obtain the inner points of a 3D
>>> reconstruction. I
>>> > can visualize just fine but when I save the points and then re open to
>>> see
>>> > them, I still see the image as when it was without the DataConnectivity
>>> > Filter. Why that may be? SkinNormals gets the output of the filter..
>>> >
>>> > here's the code:
>>> >
>>> > vtkContourFilter skinextractor = vtkContourFilter.New();
>>> >
>>> skinextractor.SetInputConnection(readerdicom.GetOutputPort());
>>> > skinextractor.GetValues();
>>> > skinextractor.SetValue(0, -800);
>>> >
>>> > vtkPolyDataConnectivityFilter contornos = new
>>> > vtkPolyDataConnectivityFilter();
>>> >
>>> contornos.SetInputConnection(skinextractor.GetOutputPort());
>>> > contornos.SetExtractionModeToLargestRegion();
>>> > contornos.Update();
>>> > contornos.SetColorRegions(1);
>>> >
>>> >
>>> > vtkPolyDataNormals skinnormals = vtkPolyDataNormals.New();
>>> >
>>> //skinnormals.SetInputConnection(skinextractor.GetOutputPort());
>>> > skinnormals.SetInputConnection(contornos.GetOutputPort());
>>> > skinnormals.SetFeatureAngle(90.0);
>>> > skinnormals.ComputePointNormalsOn();
>>> >
>>> > vtkPolyData polys = new vtkPolyData();
>>> > polys = skinnormals.GetOutput();
>>> > polys.Update();
>>> > polys.BuildCells();
>>> > int numberofpoints = polys.GetNumberOfPoints();
>>> >
>>> > for (int i = 0; i < polys.GetNumberOfPoints(); i ++)
>>> > {
>>> > double[] p = new double[3];
>>> > p = polys.GetPoint(i);
>>> > POI poi_mesh_individual = new POI();
>>> > poi_mesh_individual.POI_x = Convert.ToDecimal(p[0]);
>>> > poi_mesh_individual.POI_y = Convert.ToDecimal(p[1]);
>>> > poi_mesh_individual.POI_z = Convert.ToDecimal(p[2]);
>>> > POIs_3D.Add(poi_mesh_individual);
>>> > }
>>> >
>>> > using (StreamWriter writer = new
>>> StreamWriter(@"C:/tracker/" +
>>> > "mesh.poi", false)) // False to overwrite the file; True to append
>>> data to
>>> > the file;
>>> > {
>>> > for (int i = 0; i < POIs_3D.Count; i++)
>>> > {
>>> > writer.WriteLine(POIs_3D[i].POI_x + ";" +
>>> > POIs_3D[i].POI_y + ";" + POIs_3D[i].POI_z);
>>> > }
>>> >
>>> > }
>>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20140116/9a7a2efe/attachment.html>
More information about the vtkusers
mailing list