G-Node / nix

Neuroscience information exchange format
https://readthedocs.org/projects/nixio/
Other
67 stars 36 forks source link

sketch of a specification of indexing and slicing rules #822

Closed jgrewe closed 3 years ago

jgrewe commented 4 years ago

... addresses issue #818

Please feel free to comment.

codecov[bot] commented 4 years ago

Codecov Report

Merging #822 into master will decrease coverage by 0.26%. The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #822      +/-   ##
==========================================
- Coverage   95.35%   95.09%   -0.27%     
==========================================
  Files         181      181              
  Lines       13558    12753     -805     
==========================================
- Hits        12928    12127     -801     
+ Misses        630      626       -4     
Impacted Files Coverage Δ
src/Dimensions.cpp 82.42% <0.00%> (-10.26%) :arrow_down:
include/nix/Tag.hpp 100.00% <0.00%> (ø)
include/nix/Dimensions.hpp 98.95% <0.00%> (ø)
test/BaseTestDimension.cpp 100.00% <0.00%> (ø)
test/BaseTestDataAccess.cpp 100.00% <0.00%> (ø)
test/hdf5/TestDimensionHDF5.hpp 100.00% <0.00%> (ø)
test/hdf5/TestDataAccessHDF5.hpp 100.00% <0.00%> (ø)
src/util/dataAccess.cpp 91.30% <0.00%> (+1.59%) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update e92d0ac...80b5f2b. Read the comment docs.

jgrewe commented 4 years ago

updated the md file, please check. Further question/remark. So far the document is not linked from anywhere. What would be the best location for it?

achilleas-k commented 4 years ago

The recent issue on NIXPy got me thinking about the rule selection again. I was about to ask for it to be finalised so we can merge it and get to work on the implementation but I think I'd like to clarify a few things.

Reading through it again there's one thing that I think isn't clear: What are the options available to the user when retrieving data through a Tag? The answer (I think?) is RangeMatch::Exclusive and RangeMatch::Inclusive.

But given the first half of the document, it looks like it's about to propose we have five options (the five PositionMatch rules.

I understand that the document wants to start with a discussion of potential rules and behaviour before talking about how it applies to ranges, but maybe we can make it more clear how it will look in the library. Perhaps a code snippet?

jgrewe commented 4 years ago

@achilleas-k I agree, this was actually made for us to be clear about the rules to implement for the index search. For a tutorial this is not good. We should leave it open and I will try to work on it

achilleas-k commented 4 years ago

In that case maybe we can merge it as is and work on the tutorial separately.