How to use the itkwidgets._transform_types.to_geometry function in itkwidgets

To help you get started, we’ve selected a few itkwidgets examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github InsightSoftwareConsortium / itkwidgets / tests / test_transform_types.py View on Github external
def test_itkpolylineparametricpath_to_geometry():
    Dimension = 2
    polyline = itk.PolyLineParametricPath[Dimension].New()
    polyline.AddVertex([3.0, 3.0])
    polyline.AddVertex([4.0, 7.0])
    polyline.AddVertex([5.0, 5.0])

    geometry = to_geometry(polyline)

    assert(geometry['vtkClass'] == 'vtkPolyData')
    assert(geometry['points']['vtkClass'] == 'vtkPoints')
    assert(geometry['points']['numberOfComponents'] == 3)
    assert(geometry['points']['dataType'] == 'Float32Array')
    assert(geometry['points']['size'] == 3 * 3)
    assert(np.array_equal(geometry['points']['values'],
                          np.array([3.0, 3.0, -5.0e-6, 4.0, 7.0, -5e-6, 5.0, 5.0, -5e-6]).astype(np.float32)))

    assert(geometry['verts']['vtkClass'] == 'vtkCellArray')
    assert(geometry['verts']['numberOfComponents'] == 1)
    assert(geometry['verts']['dataType'] == 'Uint32Array')
    assert(geometry['verts']['size'] == 6)
    assert(np.array_equal(geometry['verts']['values'],
                          [1, 0, 1, 1, 1, 2]))
    assert(geometry['lines']['vtkClass'] == 'vtkCellArray')
github InsightSoftwareConsortium / itkwidgets / tests / test_transform_types.py View on Github external
mesh.SetPointData(1, 9.0)
    mesh.SetPoint(1, point1)
    point2 = PointType()
    point2[0] = 1
    point2[1] = 1
    point2[2] = 0
    mesh.SetPoint(2, point2)
    mesh.SetPointData(2, 19.0)
    point3 = PointType()
    point3[0] = 1
    point3[1] = 1
    point3[2] = 0
    mesh.SetPoint(3, point3)
    mesh.SetPointData(3, 24.0)

    geometry = to_geometry(mesh)

    points = mesh.GetPoints()
    point_template = itk.template(points)
    element_type = point_template[1][1]
    point_values = itk.PyVectorContainer[element_type].array_from_vector_container(
        points)

    assert(geometry['vtkClass'] == 'vtkPolyData')
    assert(geometry['points']['vtkClass'] == 'vtkPoints')
    assert(geometry['points']['numberOfComponents'] == 3)
    assert(geometry['points']['dataType'] == 'Float32Array')
    assert(geometry['points']['size'] == 4 * 3)
    assert(np.array_equal(geometry['points']['values'],
                          point_values.astype(np.float32)))
    assert(geometry['pointData']['vtkClass'] == 'vtkDataSetAttributes')
    assert(geometry['pointData']['arrays'][0]
github InsightSoftwareConsortium / itkwidgets / tests / test_transform_types.py View on Github external
cone_source = vtk.vtkConeSource()
    cone_source.Update()
    cone = cone_source.GetOutput()

    points = cone.GetPoints()
    point_scalars = vtk.vtkFloatArray()
    for ii in range(points.GetNumberOfPoints()):
        point_scalars.InsertTuple1(ii, ii)
    cone.GetPointData().SetScalars(point_scalars)

    cell_scalars = vtk.vtkFloatArray()
    for ii in range(cone.GetNumberOfCells()):
        cell_scalars.InsertTuple1(ii, ii)
    cone.GetCellData().SetScalars(cell_scalars)

    geometry = to_geometry(cone)

    assert(geometry['vtkClass'] == 'vtkPolyData')

    assert(geometry['points']['vtkClass'] == 'vtkPoints')
    assert(geometry['points']['numberOfComponents'] == 3)
    assert(geometry['points']['dataType'] == 'Float32Array')
    assert(geometry['points']['size'] == points.GetNumberOfPoints() * 3)
    assert(np.array_equal(geometry['points']['values'],
                          vtk_to_numpy(points.GetData()).astype(np.float32).ravel()))

    polys = cone.GetPolys()
    assert(geometry['polys']['vtkClass'] == 'vtkCellArray')
    assert(geometry['polys']['numberOfComponents'] == 1)
    assert(geometry['polys']['dataType'] == 'Uint32Array')
    assert(geometry['polys']['size'] == polys.GetData().GetNumberOfValues())
    assert(np.array_equal(geometry['polys']['values'],
github pyvista / pyvista / pyvista / plotting / itkplotter.py View on Github external
if not pv.is_pyvista_dataset(mesh):
            mesh = pv.wrap(mesh)
        mesh = mesh.copy()
        if scalars is None and color is None:
            scalars = mesh.active_scalar_name

        if scalars is not None:
            array = mesh[scalars].copy()
            mesh.clear_arrays()
            mesh[scalars] = array
            mesh.active_scalar_name = scalars
        elif color is not None:
            mesh.clear_arrays()


        mesh = to_geometry(mesh)
        self._geometries.append(mesh)
        self._geometry_colors.append(pv.parse_color(color))
        self._geometry_opacities.append(opacity)
        self._cmap = cmap

        return
github InsightSoftwareConsortium / itkwidgets / itkwidgets / trait_types.py View on Github external
def validate(self, obj, value):
        self._source_object = value

        # For convenience, support assigning a single geometry instead of a
        # list
        geometries = value
        if not isinstance(
                geometries, collections.Sequence) and geometries is not None:
            geometries = [geometries]

        try:
            for index, geometry in enumerate(geometries):
                if not isinstance(
                        geometry, dict) or 'vtkClass' not in geometry:
                    geometries[index] = to_geometry(geometry)
            return geometries
        except BaseException:
            self.error(obj, value)