GitHub source

evo.blockmodels.typed.regular_block_model.RegularBlockModel

A typed wrapper for regular block models providing pandas DataFrame access.

This class provides a high-level interface for creating, retrieving, and updating regular block models with typed access to grid properties and cell data.

Example usage:

# Create a new block model
data = RegularBlockModelData(
    name="My Block Model",
    origin=Point3(0, 0, 0),
    n_blocks=Size3i(10, 10, 10),
    block_size=Size3d(1.0, 1.0, 1.0),
    cell_data=my_dataframe,
)
block_model = await RegularBlockModel.create(context, data)

# Retrieve an existing block model
block_model = await RegularBlockModel.get(context, bm_id)
df = block_model.cell_data

# Update attributes
new_version = await block_model.update_attributes(
    updated_dataframe,
    new_columns=["new_col"],
)

n_blocks

n_blocks: Size3i

The number of blocks in each dimension.

block_size

block_size: Size3d

The size of each block in each dimension.

rotations

rotations: list[tuple[RotationAxis, float]]

The rotations applied to the block model.

__init__

__init__(
    client: BlockModelAPIClient,
    metadata: BlockModel,
    version: Version,
    cell_data: DataFrame,
    context: IContext | None = None,
) -> None

Initialize a RegularBlockModel instance.

Parameters:

Name Type Description Default
client BlockModelAPIClient

The BlockModelAPIClient used for API operations.

required
metadata BlockModel

The block model metadata.

required
version Version

The current version information.

required
cell_data DataFrame

The cell data as a pandas DataFrame.

required
context IContext | None

Optional IContext for report and other operations.

None

create

create(
    context: IContext, data: RegularBlockModelData, path: str | None = None, fb: IFeedback = NoFeedback
) -> RegularBlockModel

Create a new regular block model.

Parameters:

Name Type Description Default
context IContext

The context containing environment, connector, and cache.

required
data RegularBlockModelData

The data defining the block model to create.

required
path str | None

Optional path for the block model in the workspace.

None
fb IFeedback

Optional feedback interface for progress reporting.

NoFeedback

Returns:

Type Description
RegularBlockModel

A RegularBlockModel instance representing the created block model.

Raises:

Type Description
ValueError

If the data is invalid.

get

get(
    context: IContext,
    bm_id: UUID,
    version_id: UUID | None = None,
    columns: list[str] | None = None,
    bbox: BBox | BBoxXYZ | None = None,
    fb: IFeedback = NoFeedback,
) -> RegularBlockModel

Retrieve an existing regular block model.

Parameters:

Name Type Description Default
context IContext

The context containing environment, connector, and cache.

required
bm_id UUID

The UUID of the block model to retrieve.

required
version_id UUID | None

Optional version UUID. Defaults to the latest version.

None
columns list[str] | None

Optional list of columns to retrieve. Defaults to all columns ["*"].

None
bbox BBox | BBoxXYZ | None

Optional bounding box to filter the data.

None
fb IFeedback

Optional feedback interface for progress reporting.

NoFeedback

Returns:

Type Description
RegularBlockModel

A RegularBlockModel instance.

Raises:

Type Description
ValueError

If the block model is not a regular grid.