You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We need to decide on the exact behaviour of extents for a couple of edge cases. Currently, extents are inclusive, so for a tag that has extents (10, 20) (assuming the interval of the underlying data is 1) the returned data has the shape (11, 21). This should probably change such that the extents are equivalent to the shape.
To generalise a little, let's assume a DataArray with n-dimensions, all regularly sampled with a sampling interval for dn (for dimension n). In that case, a tag with position (p1, p2, ..., pn) and extent (e1, e2, ..., en) should be equivalent to slicing the underlying array as: [p1*d1:(p1+e1)*d1, p2*d2:(p2+e2)*d2, ..., pn*dn:(pn+en)*dn]
This would make extents exclusive.
There's also the more complicated question of what it means for an extent to be missing, what it means if it's 0, and what it means if it's 1. If we follow the above logic (and think about it in numpy equivalent behaviour), None, 0, and 1 are all different, but it might make sense if we treat None as 0 and take it to mean drop this dimension, while 1 returns an extra dimension with length 1.
The text was updated successfully, but these errors were encountered:
We need to decide on the exact behaviour of extents for a couple of edge cases. Currently, extents are inclusive, so for a tag that has extents
(10, 20)
(assuming the interval of the underlying data is 1) the returned data has the shape(11, 21)
. This should probably change such that the extents are equivalent to the shape.To generalise a little, let's assume a DataArray with n-dimensions, all regularly sampled with a sampling interval for
dn
(for dimension n). In that case, a tag with position(p1, p2, ..., pn)
and extent(e1, e2, ..., en)
should be equivalent to slicing the underlying array as:[p1*d1:(p1+e1)*d1, p2*d2:(p2+e2)*d2, ..., pn*dn:(pn+en)*dn]
This would make extents exclusive.
There's also the more complicated question of what it means for an extent to be missing, what it means if it's 0, and what it means if it's 1. If we follow the above logic (and think about it in numpy equivalent behaviour),
None
,0
, and1
are all different, but it might make sense if we treatNone
as0
and take it to mean drop this dimension, while 1 returns an extra dimension with length 1.The text was updated successfully, but these errors were encountered: