import array


def parse_siemens_gradient_direction(value: bytes) -> list:
    """
    Parses a SIEMENS MR image's B-vector as represented in the private
    (0019, 100E) `DiffusionGradientDirection`_ DICOM tag.

    .. _DiffusionGradientDirection:
       https://na-mic.org/wiki/NAMIC_Wiki:DTI:DICOM_for_DWI_and_DTI#Private_vendor:_Siemens

    Parameters
    ----------
    value : bytes
        SIEMENS private DiffusionGradientDirection data element.

    Returns
    -------
    list
        Gradient directions (B-vector)
    """
    return [float(value) for value in list(array.array("d", value))]