Skip to content

utils

firings_to_binary

firings_to_binary(firings: list, signal_length: int) -> np.ndarray

Convert firings list to binary matrix representation

Parameters:

Name Type Description Default
firings list

List of firings arrays

required
signal_length int

Length of the original signal

required

Returns:

Type Description
ndarray

np.ndarray: Binary matrix of shape (signal_length, n_units)

Source code in motor_unit_toolbox/utils.py
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
def firings_to_binary(firings: list, signal_length: int) -> np.ndarray:
    """Convert firings list to binary matrix representation

    Args:
        firings (list): List of firings arrays
        signal_length (int): Length of the original signal

    Returns:
        np.ndarray: Binary matrix of shape (signal_length, n_units)
    """
    n_units = len(firings)
    binary_matrix = np.zeros((signal_length, n_units), dtype=bool)

    for unit_idx, unit_firings in enumerate(firings):
        valid_firings = unit_firings[unit_firings < signal_length]
        binary_matrix[valid_firings, unit_idx] = True

    return binary_matrix

binary_to_firings

binary_to_firings(binary_matrix: ndarray) -> list

Convert binary matrix representation to firings list

Parameters:

Name Type Description Default
binary_matrix ndarray

Binary matrix of shape (signal_length, n_units)

required

Returns:

Name Type Description
list list

List of firings arrays

Source code in motor_unit_toolbox/utils.py
23
24
25
26
27
28
29
30
31
32
33
34
35
36
def binary_to_firings(binary_matrix: np.ndarray) -> list:
    """Convert binary matrix representation to firings list

    Args:
        binary_matrix (np.ndarray): Binary matrix of shape (signal_length, n_units)

    Returns:
        list: List of firings arrays
    """
    firings = []
    for unit_idx in range(binary_matrix.shape[1]):
        unit_firings = np.where(binary_matrix[:, unit_idx])[0]
        firings.append(unit_firings)
    return firings