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
DataSet: abstract base class/interface of a rectangular homogeneous n-dimensional data container, i.e. it has dataExtend() → NDSize (n-dim rectangular), and dataType() → DataType (homogeneous).
DataArray: is a DataSet and is the frontend class for actual backing store for DataSet like data. DataArrays have dimension descriptors and a unit for the data itself.
DataView: is a DataSet and represents a view of a subset of data in a DataArray, i.e. it is a hyperrectangle of size count (NDSize) starting at offset (NDSize).
Additionally, we have the new DataFrame, a rectangular data container consisting of n columns (name, unit, DataType) by m rows.
Tagging currently is done by having the tag with (multiple) position+extents and pointers to (reference) DataArrays which must match in dimensionality the position and extends.
To allow unified tagging, i.e. DataArray and DataFrame, the references must be changed to either:
a common base object, that DataArray and DataFrame derive from
a (new) intermediate object that would in turn then point to a DataArray or DataFrame, maybe with additional specifications of how position & extends is applied.
The latter is the more complicated, but more flexible solution, while the former is the more straight forward and easier to implement solution.
The common base object could be the existing DataSet, if it were to be extended to include Dimensions and units. The DataView then would need to be amended to include those. The tricky bit would be the dimensions, which would need to include a view (offset+count) applied to the Dimension of the underlying DataArray. The Tags would need to be changed to work only with DataSets for references and retrieveData.
Another new object would be needed representing a view of a DataFrame, much like DataView for DataArray: FrameView (name subject to change), implementing a DataSet (i.e. a FrameView is DataSet). The reference in the file format would need to be amended (attributes in hdf5) to specify everything that is needed to re-create that FrameView.
I will write more about how, eventually.
The text was updated successfully, but these errors were encountered: