Skip to main content

A sample project with checkerboard functionality

Project description

CheckmateSample

This Python module provides a function to generate a checkerboard pattern using NumPy. The function make_checkerboard creates a 2D NumPy array representing a checkerboard with customizable board size and square (and rectangle) sizes. Can be used for geospatial ML problems to try and combat autocorrelation. The functions can export two (testing/training) and three (testing/training/validation) checkerboard patterns

Parameters

board_size (tuple[int, int]): Size of the board in (rows, columns).

square_size (tuple[int, int]): Size of each square in (rows, columns).

separation_size (int): Size of separation distance in pixels between squares.

validation (bool): If True, use a ternary (0, 1, 2) pattern; if False, use a binary (0, 1) pattern

verbose flag: True / False

an example of this is:

checkerboard_01 = make_checkerboard(board_size=(70,70), square_size=(10,10), separation_size=2)

xarray only:

dim_names (dict): Dictionary specifying the names of x and y dimensions da (xr.DataArray): Input DataArray to apply the checkerboard pattern to

an example of this:

ds = xr.tutorial.load_dataset('air_temperature')

air_temp = ds.air.isel(time=0)

square_size = (7, 5)  # 7x5 pixel squares
checkerboard_temp_0 = make_checkerboard_xr(air_temp, square_size, separation_size=3, keep_pattern=0, validation=False)

Dependencies

numpy and xarray

Usage

Create a NumPy checkerboard

checkerboard = make_checkerboard((10, 10), (2, 2))

Create an xarray DataArray

da = xr.DataArray(np.random.rand(100, 100), dims=['lat', 'lon'])

Apply checkerboard pattern to DataArray

result = make_checkerboard_xr(da, (10, 10), keep_pattern=1)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

checkmatesample-0.5.0.tar.gz (830.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

checkmatesample-0.5.0-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file checkmatesample-0.5.0.tar.gz.

File metadata

  • Download URL: checkmatesample-0.5.0.tar.gz
  • Upload date:
  • Size: 830.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.18

File hashes

Hashes for checkmatesample-0.5.0.tar.gz
Algorithm Hash digest
SHA256 ffcccc4ee30aa805622b65a09a98aab6f0e2811fd59d03c4d6cbbed5d1ecbb3e
MD5 40a30b6a12f468730928db44c9351ca7
BLAKE2b-256 913dd5422824ee82117566fc366d9ca6b9a0dcd9f17f48689384bc7f895aecde

See more details on using hashes here.

File details

Details for the file checkmatesample-0.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for checkmatesample-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 570f6e8a14de3c5d13d68eacfa224e1aa7078c863495611652734947f85e974a
MD5 9757498f94a091d85fb8145264865303
BLAKE2b-256 443e810bc4e8985a4f52ea144025125d96588fcdb746ba28e1448ea76cac4d02

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page