def imputeNtoM(self, use_objects):
    obj_inds = []
    for t in self.trial_data:
        if (len(np.unique(obj_inds)) == self.numObjs):
            break
        else:
            obj_inds.append(t[0])
    t = []
    for obj in use_objects:
        t.append(self.models.index(obj))
    import itertools
    combs = list(itertools.combinations(t, self.numResp))
    CM_imputed = np.zeros((len(t), len(t)))
    for trial in self.trial_data:
        for comb in combs:
            if set(comb).issubset(set(trial[2])):
                if (trial[0] == trial[1]):
                    CM_imputed[(t.index(trial[0]), t.index(trial[0]))] += 1
                else:
                    CM_imputed[(t.index(trial[1]), t.index(trial[0]))] += 1
    return CM_imputed
def imputeNtoM(self, use_objects):
    obj_inds = []
    for t in self.trial_data:
        if (len(np.unique(obj_inds)) == self.numObjs):
            break
        else:
            obj_inds.append(t[0])
    t = []
    for obj in use_objects:
        t.append(self.models.index(obj))
    import itertools
    combs = list(itertools.combinations(t, self.numResp))
    CM_imputed = np.zeros((len(t), len(t)))
    for trial in self.trial_data:
        for comb in combs:
            if set(comb).issubset(set(trial[2])):
                if (trial[0] == trial[1]):
                    CM_imputed[(t.index(trial[0]), t.index(trial[0]))] += 1
                else:
                    CM_imputed[(t.index(trial[1]), t.index(trial[0]))] += 1
    return CM_imputed