コード例 #1
0
    def realign_from_photodiode(self, debug=False, verbose=True):

        if verbose:
            print(
                '---> Realigning data with respect to photodiode signal [...] '
            )

        if debug:
            from datavyz import ges as ge

        success = True

        # extract parameters
        dt = 1. / self.metadata['NIdaq-acquisition-frequency']
        tlim, tnew = [0, self.Screen.photodiode.t[-1]], 0

        t0 = self.metadata['time_start'][0]
        length = self.metadata['presentation-duration'] + self.metadata[
            'presentation-interstim-period']
        npulses = int(self.metadata['presentation-duration'])
        self.metadata['time_start_realigned'] = []
        Nepisodes = np.sum(self.metadata['time_start'] < tlim[1])
        for i in range(Nepisodes):
            cond = (self.Screen.photodiode.t >=
                    t0 - .3) & (self.Screen.photodiode.t <= t0 + length)
            try:
                tnew, integral, threshold = find_onset_time(
                    self.Screen.photodiode.t[cond] - t0,
                    self.Screen.photodiode.val[cond], npulses)
                if debug and ((i < 3) or (i > Nepisodes - 3)):
                    ge.plot(self.Screen.photodiode.t[cond],
                            self.Screen.photodiode.val[cond])
                    ge.plot(self.Screen.photodiode.t[cond],
                            Y=[integral, integral * 0 + threshold])
                    ge.show()
            except Exception:
                success = False  # one exception is enough to make it fail
            t0 += tnew
            self.metadata['time_start_realigned'].append(t0)
            t0 += length

        if verbose:
            if success:
                print('[ok]          --> succesfully realigned')
            else:
                print('[X]          --> realignement failed')
        if success:
            self.metadata['time_start_realigned'] = np.array(
                self.metadata['time_start_realigned'])
            self.metadata['time_stop_realigned'] = self.metadata['time_start_realigned']+\
                self.metadata['presentation-duration']
        else:
            self.metadata['time_start_realigned'] = np.array([])
            self.metadata['time_stop_realigned'] = np.array([])
        return success
コード例 #2
0
        # ge.title(AX[i], "a=%.2f, k=%.2f, $\gamma$=%.2f" % (residual.x[0], residual.x[1], residual.x[2]), color=getattr(ge, color), size='small')
        ge.title(AX[i],
                 "k=%.2f, $\gamma$=%.2f" % (residual.x[0], residual.x[1]),
                 color=getattr(ge, color),
                 size='small')
        ge.scatter(lum,
                   array,
                   ax=AX[i],
                   color=getattr(ge, color),
                   label='data',
                   ms=3)
        ge.plot(lum,
                func(lum, residual.x),
                ax=AX[i],
                lw=3,
                alpha=.5,
                color=getattr(ge, color),
                label='fit')
        ge.annotate(AX[i],
                    '$\lambda$=%s' % LAMBDA[color], (0.5, .1),
                    color=getattr(ge, color))
        ge.set_plot(AX[i],
                    xlabel='(computer) luminosity',
                    xticks=[0, 0.5, 1],
                    yticks=[0, 0.5, 1],
                    ylabel='measured I (norm.)')

        fig.savefig('doc/gamma-correction-%s.png' % correc)
ge.show()
コード例 #3
0
ファイル: pca.py プロジェクト: yzerlaut/analyz
    
    return pca

if __name__=='__main__':

    from sklearn.datasets import load_breast_cancer

    from datavyz import ges

    raw, data = load_breast_cancer(), {}
    for i, key in enumerate(raw['feature_names']):
        data[key] = np.log10(raw['data'][i])

    ges.features_plot(data, features=list(data.keys())[:6])
    ges.cross_correl_plot(data, features=list(data.keys())[:6])
    
    pca = PCA(data, n_components = len(data)) # desired_var_explained=0.9)
    
    ges.plot(100.*pca.explained_variance_ratio_,
              m='o', ms=4, xlabel='component #', ylabel='% var. expl.')

    ges.parallel_plot(pca.components_,
                      fig_args=dict(figsize=(3,1)))

    ges.show()