pycroscopy / pycroscopy/sidpy

Regions of interest

Open
#27 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement help wanted low priority
Dominant language
Jupyter Notebook
Stars
12
Forks
18
PR merge metrics
No merged PRs in 30d

Description

Think about how one could facilitate regions of interest. @ramav87 discovered that the HDF5 region references only support simplistic slices as opposed to arbitrary blobs. Perhaps regions could only be defined using USID given that regions would not necessarily be regular grids
Alternatively, we could collapse dimensions and do some book-keeping to facilitate tracking of regions of interest. The idea was that a region of interest would itself be a sidpy.Dataset object.

Here is the last message from the original issue in pyNSID"

Existing functions for region references in h5py is insufficient as it only allows for slice objects and not non-standard indexing (like lists of points). Therefore, an alternate route has been suggested which involves adding a region reference attribute to the NSIDataset, that could be setup as follows:

nsid_dataset.create_region() #dict('0':[0,5,3], '1':[2,10,15], 'capacitors') #pass a dictionary with the slice values and the name of the region, this should get stored
nsid.capacitors.points #gives back the dictionary used to make the region reference
nsid.capacitors.data #gives back the data

This is a TODO item, but it is low priority.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing h5py region references and the existing NSIDataset and sidpy.Dataset abstractions. Clarify whether regions should be represented through USID or dimension-collapsing bookkeeping, then define how region points and data are exposed. Done should support non-standard regions such as lists of points and provide a settled region API.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data, databases
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.