Write QDataSets that vary over at most 2 independent variables as a Das2 stream. Since Das2 streams can have at most 2 independent variables, higher dimensional (not necessarily higher rank) QDataSets can't be written using this code. Streams that can be written have the following plane structure X Y [Y Y Y Y ... ] X YScan [YScan YScan YScan ... ] X Y Z [Z Z Z Z ... ] All binary output is streamed in machine-native order. Since datasets written on one architecture are most likely to be read on the same architecture this choice causes the least amount of byte swapping. This is a direct seralization of QDataSet and does not require any legacy das2 dataset classes such as VectorDataset or TableDataset.
Initialize a binary QDataSet to das2 stream exporter
Initialize a text QDataSet to das2 stream exporter
Determine if a given dataset be serialized as a das2 stream
Determine the name of the das2 axis on which values from a dataset would typically be plotted. This is a duck-typing check. Which looks at the number of dependencies and planes in a dataset. If the dataset has a PLANE_0 property, the axis of the PLANE_0 values is returned instead of the axis of the primary dataset. The output of this function is an educated guess since coordinates are not denoted as separate from data values in QDataSets or CDFs.
Write a QDataSet as a das2 stream To test whether it looks like this code could stream a dataset use the canWrite() function. This function may be called multiple times to add additional data to the stream. If a compatible header has already been emitted for a particular dataset it is not re-sent.