# Voxelize¶

This module provides a complicated algorithm for making voxels out of regularly gridded points. Considering that this algorithm is rather complex, we are keeping it in its own module until we can simplify it, clean up the code, and make it capable of handling non-uniformly gridded points

## Voxelize Points¶

class `PVGeo.filters.voxelize.``VoxelizePoints`(**kwargs)[source]

This makes a `vtkUnstructuredGrid` of scattered points given voxel sizes as input arrays. This assumes that the data is at least 2-Dimensional on the XY Plane.

`RequestData`(request, inInfo, outInfo)[source]

Used by pipeline to generate output

static `_copy_arrays`(pdi, pdo)[source]

internal helper to copy arrays from point data to cell data in the voxels.

static `add_cell_data`(grid, arr, name)[source]

Add a NumPy array as cell data to the given grid input

`add_field_data`(grid)[source]

An internal helper to add the recovered information as field data

`estimate_uniform_spacing`(x, y, z)[source]

This assumes that the input points make up some sort of uniformly spaced grid on at least an XY plane.

`get_angle`(degrees=True)[source]

Returns the recovered angle if set to recover the input grid. If the input points are rotated, then this angle will reflect a close approximation of that rotation.

Parameters

degrees (bool) – A flag on to return decimal degrees or radians.

`get_recovered_angle`(degrees=True)[source]

DEPRECATED: use get_angle

`get_spacing`()[source]

Get the cell spacings

`points_to_grid`(xo, yo, zo, dx, dy, dz, grid=None)[source]

Convert XYZ points to a `vtkUnstructuredGrid`.

`set_angle`(angle)[source]

Set the rotation angle manually

`set_delta_x`(dx)[source]

Set the X cells spacing

Parameters

dx (float or np.array(floats)) – the spacing(s) for the cells in the X-direction

`set_delta_y`(dy)[source]

Set the Y cells spacing

Parameters

dy (float or np.array(floats)) – the spacing(s) for the cells in the Y-direction

`set_delta_z`(dz)[source]

Set the Z cells spacing

Parameters

dz (float or np.array(floats)) – the spacing(s) for the cells in the Z-direction

`set_deltas`(dx, dy, dz)[source]

Set the cell spacings for each axial direction

Parameters
• dx (float or np.array(floats)) – the spacing(s) for the cells in the X-direction

• dy (float or np.array(floats)) – the spacing(s) for the cells in the Y-direction

• dz (float or np.array(floats)) – the spacing(s) for the cells in the Z-direction

`set_estimate_grid`(flag)[source]

Set a flag on whether or not to estimate the grid spacing/rotation

`set_safe_size`(safe)[source]

A voxel size to use if a spacing cannot be determined for an axis

`set_unique`(flag)[source]

Set a flag on whether or not to try to elimate non unique elements