Ejemplo n.º 1
0
    def test_StandardCSD_03(self):
        '''test using non-standard SI units 3'''
        # set some parameters for ground truth csd and csd estimates.

        # contact point coordinates
        z_j = np.arange(21) * 1E-4 * pq.m

        # source coordinates
        z_i = z_j

        # current source density magnitude
        C_i = np.zeros(z_i.size) * pq.A / pq.m**2
        C_i[7:12:2] += np.array([-.5, 1., -.5]) * pq.A / pq.m**2

        # uniform conductivity
        sigma = 0.3 * pq.mS / pq.m

        # flag for debug plots
        plot = False

        # get LFP and CSD at contacts
        phi_j, C_i = get_lfp_of_planes(z_j, z_i, C_i, sigma, plot)
        std_input = {
            'lfp': phi_j,
            'coord_electrode': z_j,
            'sigma': sigma * 1E3 * pq.mS / pq.S,
            'f_type': 'gaussian',
            'f_order': (3, 1),
        }
        std_csd = icsd.StandardCSD(**std_input)
        csd = std_csd.get_csd()

        self.assertEqual(C_i.units, csd.units)
        nt.assert_array_almost_equal(C_i, csd)
Ejemplo n.º 2
0
        _icsd = icsd.SplineiCSD(**icsd_input[m])
        icsd_output.update(
            {'icsd_spline': _icsd.filter_csd(_icsd.get_csd()) * 1E-9})

        my_errors['spline'], my_diams['spline'], diam_best['spline'] = \
            minimize_icsd_error_brute(m)
        icsd_input[m].update({'diam': diam_best['spline'] * pq.m})

        print 'best diameter spline: %.5e' % diam_best['spline']

        _icsd = icsd.SplineiCSD(**icsd_input[m])
        icsd_output.update(
            {'icsd_spline': _icsd.filter_csd(_icsd.get_csd()) * 1E-9})

    elif m == 'std':
        _icsd = icsd.StandardCSD(**icsd_input[m])
        icsd_output.update(
            {'csd_std': _icsd.filter_csd(_icsd.get_csd()) * 1E-9})

print('Compute correlation coefficients between CSD and estimates')
my_corrcoefs = {}
for m in icsd_input:
    if m == 'delta':
        my_corrcoefs['delta'], _, _ = maximize_icsd_correlation_brute(m)
    elif m == 'step':
        my_corrcoefs['step'], _, _ = maximize_icsd_correlation_brute(m)
    elif m == 'spline':
        my_corrcoefs['spline'], _, _ = maximize_icsd_correlation_brute(m)
print('Compute correlation coefficients between CSD and estimates done')

### Mean EPSP,  synapses.i,  synapses.v with st.dev. ####