def shifts_from_picked_coordinate(self, locs, coordinate):
''' Calculates the shift from each channel to each other along a given coordinate. '''
n_channels = len(locs)
# Calculating center of mass for each channel and pick
coms = []
for channel_locs in locs:
coms.append([])
for group_locs in channel_locs:
group_com = np.mean(getattr(group_locs, coordinate))
coms[-1].append(group_com)
# Calculating image shifts
d = np.zeros((n_channels, n_channels))
for i in range(n_channels-1):
for j in range(i+1, n_channels):
d[i, j] = np.nanmean([cj - ci for ci, cj in zip(coms[i], coms[j])])
return d
评论列表
文章目录