Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for coordinate based slicing #102

Open
markspec opened this issue Aug 30, 2024 · 1 comment
Open

Add support for coordinate based slicing #102

markspec opened this issue Aug 30, 2024 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@markspec
Copy link
Collaborator

Problem

Datasets may contain both Coordinates and Dimension Coordinates. Currently we only support slicing datasets along the Dimension Coordinates.

Solution

Add support for slicing based on a single coordinate. E.g. read a single inline from a post-stack volume. Support for both coordinates and dimension coordinates will simplify use in downstream applications.

Tests

  • coordinate (e.g. inline) is not a dimension (e.g. worker_id/task_id/trace/sample)
  • coordinate (e.g. inline) is a dimension (e.g. inline/xline/depth)
@BrianMichell BrianMichell self-assigned this Sep 3, 2024
@BrianMichell BrianMichell added the enhancement New feature or request label Sep 3, 2024
@BrianMichell
Copy link
Collaborator

Implementation

Viewing a "data" variable in the relation of its coordinates requires transforming and sorting of data. For that reason we will create a special CoordinateView class that will contain only the selected coordinate values. This will be similar to the sel method for Datasets but the view will be only in-memory.

Data structures

CoordinateView

  • In-memory representation of a "data" variable oriented to coordinates.

DatasetView

  • A helper class that will construct the CoordinateView.
  • User specified read and cache policy.
    • Never cache
    • Lazy read + lazy cache
    • Eager read + lazy cache
    • Eager read + eager cache
  • Cache
    • Different levels of sort order cached (flattened, chunk order, no sort)
    • Coordinate values may be cached lazily or eagerly.
  • Provides user-extensible searching for custom orchestration.
  • Does not support dimension-coordinate slicing (yet).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants