Skip to content

transform_parameter_converter

Classes:

Name Description
TransformParameterConverter

Attributes#

Classes#

TransformParameterConverter #

Methods:

Name Description
convert_to_adi_format

Attributes:

Name Type Description
transform_param_type

Attributes#

transform_param_type class-attribute instance-attribute #
transform_param_type = {
    "transformation_type": COORDINATE_SYSTEM,
    "width": COORDINATE_SYSTEM,
    "alignment": COORDINATE_SYSTEM,
    "input_datastream_alignment": INPUT_DATASTREAM,
    "input_datastream_width": INPUT_DATASTREAM,
    "range": INPUT_DATASTREAM,
    "qc_mask": INPUT_DATASTREAM,
    "missing_value": INPUT_DATASTREAM,
    "qc_bad": INPUT_DATASTREAM,
    "std_ind_max": COORDINATE_SYSTEM,
    "std_bad_max": COORDINATE_SYSTEM,
    "goodfrac_ind_min": COORDINATE_SYSTEM,
    "goodfrac_bad_min": COORDINATE_SYSTEM,
}

Functions#

convert_to_adi_format #
convert_to_adi_format(
    transform_parameters: Dict[Any, Any]
) -> Dict[str, str]
Source code in tsdat/transform/adi/transform_parameter_converter.py
def convert_to_adi_format(
    self, transform_parameters: Dict[Any, Any]
) -> Dict[str, str]:
    transforms: Dict[Any, Any] = {}
    """ 
    Example of input dictionary structure:

    transform_parameters = {
            "transformation_type": {
                "time": "TRANS_AUTO"
            },
            "range": {
                "time": 1800
            },
            "alignment": {
                "time": LEFT
            }
    }
    """

    for parameter_name, transform_parameter in transform_parameters.items():
        parameter_type = self.transform_param_type.get(parameter_name)
        transform_parameter_name = self._get_adi_transform_parameter_name(
            parameter_name, parameter_type
        )

        # TODO: for now we are not supporting variable overrides or datastream-specific overrides.
        #   When we do, we will need to revise this syntax.  For now, the keys are the dimensions and the
        #   values are the defaults
        for dim_name, value in transform_parameter.items():
            if parameter_type == COORDINATE_SYSTEM:
                file_name = COORDINATE_SYSTEM
                self._write_transform_parameter_row(
                    transforms,
                    file_name,
                    None,
                    dim_name,
                    transform_parameter_name,
                    value,
                )
            else:  # INPUT_DATASTREAM
                file_name = INPUT_DATASTREAM
                self._write_transform_parameter_row(
                    transforms,
                    file_name,
                    None,
                    dim_name,
                    transform_parameter_name,
                    value,
                )

    return transforms