示例#1
0
    def test_xarray_conversions(self):
        da = DataSet1D(name="TestDataArray_test_xarray_conversions").x_set

        xarray_dictionary = data_array_to_xarray_dictionary(da)

        xarray_dataarray = da.to_xarray()
        da_transformed = DataArray.from_xarray(xarray_dataarray)

        for key in ["name", "unit", "label"]:
            self.assertEqual(da.name, da_transformed.name)
示例#2
0
def dataset_to_xarray_dictionary(data_set: DataSet,
                                 include_metadata: bool = True
                                 ) -> Dict[str, Any]:
    """Convert QcodesDataSet to dictionary.

    Args:
        data_set: The data to convert.
        include_data: If True then include the ndarray field.
        include_metadata: If True then include the metadata.

    Returns:
        Dictionary containing the serialized data.
    """
    data_dictionary: Dict[str, Any] = {
        "dims": {},
        "attrs": {},
        "coords": {},
        "data_vars": {},
    }

    pa = data_set.default_parameter_array()
    dimensions = [(a.array_id, a.size) for a in pa.set_arrays]
    data_dictionary["dims"] = dict(dimensions)

    for array_id in [item[0] for item in dimensions]:
        data_array = data_set.arrays[array_id]
        data_dictionary["coords"][array_id] = data_array_to_xarray_dictionary(
            data_array)

    for array_id, data_array in data_set.arrays.items():
        if not data_array.is_setpoint:
            data_dictionary["data_vars"][
                array_id] = data_array_to_xarray_dictionary(data_array)

    if include_metadata:
        data_dictionary["attrs"]["metadata"] = data_set.metadata
        data_dictionary["attrs"]["qcodes_location"] = data_set.location

    return data_dictionary
示例#3
0
 def test_to_xarray(self):
     data = DataArray(preset_data=[1, 2])
     array_dict = data_array_to_xarray_dictionary(data)
     xarray_dataarray = data.to_xarray()