Source code for intan.io._channel_utils









[docs] def find_channel_in_group(channel_name, signal_group): """Finds a channel with this name in this group, returning whether or not it's present and, if so, the position of this channel in signal_group. Parameters: channel_name (str): The name of the channel to search for. signal_group (list): The list of channels to search through. Returns: channel_found (bool): Whether or not the channel was found. channel_index (int): The index of the channel in signal_group. """ for count, this_channel in enumerate(signal_group): if this_channel['custom_channel_name'] == channel_name: return True, count return False, 0
[docs] def find_channel_in_header(channel_name, header): """Looks through all present signal groups in header, searching for 'channel_name'. If found, return the signal group and the index of that channel within the group. Parameters: channel_name (str): The name of the channel to search for. header (dict): The header dictionary containing signal groups. Returns: channel_found (bool): Whether or not the channel was found. signal_group_name (str): The name of the signal group containing the channel. channel_index (int): The index of the channel in the signal group. """ signal_group_name = '' if 'amplifier_channels' in header: channel_found, channel_index = find_channel_in_group( channel_name, header['amplifier_channels']) if channel_found: signal_group_name = 'amplifier_channels' if not channel_found and 'aux_input_channels' in header: channel_found, channel_index = find_channel_in_group( channel_name, header['aux_input_channels']) if channel_found: signal_group_name = 'aux_input_channels' if not channel_found and 'supply_voltage_channels' in header: channel_found, channel_index = find_channel_in_group( channel_name, header['supply_voltage_channels']) if channel_found: signal_group_name = 'supply_voltage_channels' if not channel_found and 'board_adc_channels' in header: channel_found, channel_index = find_channel_in_group( channel_name, header['board_adc_channels']) if channel_found: signal_group_name = 'board_adc_channels' if not channel_found and 'board_dig_in_channels' in header: channel_found, channel_index = find_channel_in_group( channel_name, header['board_dig_in_channels']) if channel_found: signal_group_name = 'board_dig_in_channels' if not channel_found and 'board_dig_out_channels' in header: channel_found, channel_index = find_channel_in_group( channel_name, header['board_dig_out_channels']) if channel_found: signal_group_name = 'board_dig_out_channels' if channel_found: return True, signal_group_name, channel_index return False, '', 0