Open
Description
We use rather simple numpy arrays for x,y,u,v,s2n,flags,
along the processing, and at the end we write these as columns in the ASCII files with some optional headers.
In the multiprocessing we also have several iterations and then we have temporary arrays and then refined arrays, filtered and flagged arrays, interpolated arrays, etc.
I think it makes more sense to use some modern structures, e.g. dataclass
or pandas.DataFrame, xarray.DataArray and similar ones that will open several options for us:
- easier data maintenance, e.g. temporal storage,
- adding new columns with headers, keeping units, experimental metadata as attributes to those arrays
- saving to a large set of file formats while keeping the structure of reading/writing intact - managed by the
pandas
orxarray
or the libraries their use - allow better memory management by adding, replacing columns, renaming only units, etc.
This can become a part of the OpenPIV v1.0 milestone