def p_resp(self): r""" Returns the sustained parvocellular response to flicker stimulus.""" p_resp = fftconvolve(self.flickers,self.p[:,np.newaxis]) p_resp = utils.normalize(p_resp,-1,1) return p_resp
def generate_m_resp(self, tau): m_rf = self.m_rf(tau) m_resp = fftconvolve(self.flickers, m_rf[:, np.newaxis]) # m_resp[:,0] = utils.normalize(m_resp[:,0],-1,1) # m_resp[:,1] = utils.normalize(m_resp[:,1],-1,1) m_resp = utils.normalize(m_resp, -1, 1) return m_resp
def test_simulate_sinflicker_bar(): # no blanks bar = simulate_sinflicker_bar(100,100,50,10,[0],1,10,5,1,1,60) y = utils.normalize(bar[1,1,:],0,1) t = np.linspace(0,1,60) yhat = utils.normalize(np.sin(2 * np.pi * t),0,1) nt.assert_almost_equal(np.sum(yhat-y),0) # blanks bar = simulate_sinflicker_bar(100,100,50,10,[0,-1],1,10,5,1,1,60) y = np.round(utils.normalize(bar[1,1,:],0,1),2) t = np.linspace(0,1,60) yhat = utils.normalize(np.sin(2 * np.pi * t),0,1) yhat = np.append(yhat,np.repeat(0.5,60)) nt.assert_almost_equal(np.sum(yhat-np.round(y,2)),0,1)
def m_resp(self): r""" Returns the transient magnocellular response to flicker stimulus.""" m_resp = fftconvolve(self.flickers,self.m[:,np.newaxis]) m_resp= utils.normalize(m_resp,-1,1) return m_resp
def m_resp(self): m_resp = fftconvolve(self.flickers, self.m[:, np.newaxis]) # m_resp[:,0] = utils.normalize(m_resp[:,0],-1,1) # m_resp[:,1] = utils.normalize(m_resp[:,1],-1,1) m_resp = utils.normalize(m_resp, -1, 1) return m_resp
def test_normalize(): # 1D arr = np.linspace(0, 1, 100) lo = 100.0 hi = 200.0 arr_new = utils.normalize(arr, lo, hi) npt.assert_equal(np.min(arr_new), lo) npt.assert_equal(np.max(arr_new), hi) # 2D arr = np.tile(np.linspace(0, 1, 100), (10, 1)) lo = np.repeat(lo, 10) hi = np.repeat(hi, 10) arr_new = utils.normalize(arr, lo, hi) npt.assert_equal(np.min(arr_new), lo) npt.assert_equal(np.max(arr_new), hi)
def test_normalize(): # 1D arr = np.linspace(0,1,100) lo = 100.0 hi = 200.0 arr_new = utils.normalize(arr, lo, hi) npt.assert_equal(np.min(arr_new), lo) npt.assert_equal(np.max(arr_new), hi) # 2D arr = np.tile(np.linspace(0,1,100),(10,1)) lo = np.repeat(lo,10) hi = np.repeat(hi,10) arr_new = utils.normalize(arr, lo, hi) npt.assert_equal(np.min(arr_new), lo) npt.assert_equal(np.max(arr_new), hi)
def generate_p_resp(self, tau): r""" Returns the sustained parvocellular response to flicker stimulus. Parameters ---------- tau : float The temporal dispersion of the sustained temporal receptive field. Returns ------- p_resp : ndarray The temporal response of the flickering visual stimulus convolved with the sustained parvocellular temporal receptive field. """ p_rf = self.p_rf(tau) p_resp = fftconvolve(self.flickers, p_rf[:, np.newaxis]) p_resp = utils.normalize(p_resp, -1, 1) return p_resp
def generate_p_resp(self, tau): r""" Returns the sustained parvocellular response to flicker stimulus. Parameters ---------- tau : float The temporal dispersion of the sustained temporal receptive field. Returns ------- p_resp : ndarray The temporal response of the flickering visual stimulus convolved with the sustained parvocellular temporal receptive field. """ p_rf = self.p_rf(tau) p_resp = fftconvolve(self.flickers,p_rf[:,np.newaxis]) p_resp = utils.normalize(p_resp,-1,1) return p_resp
def generate_p_resp(self, tau): p_rf = self.p_rf(tau) p_resp = fftconvolve(self.flickers, p_rf[:, np.newaxis]) p_resp = utils.normalize(p_resp, -1, 1) return p_resp
def p_resp(self): p_resp = fftconvolve(self.flickers, self.p[:, np.newaxis]) p_resp = utils.normalize(p_resp, -1, 1) return p_resp
def generate_m_resp(self, tau): m_rf = self.m_rf(tau) m_resp = fftconvolve(self.flickers, m_rf[:, np.newaxis]) m_resp = utils.normalize(m_resp, -1, 1) return m_resp
def m_resp(self): m_resp = fftconvolve(self.flickers, self.m[:, np.newaxis]) m_resp = utils.normalize(m_resp, -1, 1) return m_resp