def test_segment_meander_angles_single_section(): feat = 'segment_meander_angles' nrn = nm.load_neuron(StringIO(u"""((CellBody) (0 0 0 0)) ((Dendrite) (0 0 0 2) (1 0 0 2) (1 1 0 2) (2 1 0 2) (2 2 0 2)))"""), reader='asc') nrt = nrn.neurites[0] pop = core.Population([nrn]) ref = [math.pi / 2, math.pi / 2, math.pi / 2] nt.eq_(ref, get_feature(feat, nrt).tolist()) nt.eq_(ref, get_feature(feat, nrn).tolist()) nt.eq_(ref, get_feature(feat, pop).tolist())
def test_segment_meander_angles_single_section(): class Mock(object): pass feat = 'segment_meander_angles' sec = core.Section( np.array([[0, 0, 0], [1, 0, 0], [1, 1, 0], [2, 1, 0], [2, 2, 0]])) nrt = core.Neurite(sec) nrn = Mock() nrn.neurites = [nrt] nrn.soma = None pop = core.Population([nrn]) ref = [math.pi / 2, math.pi / 2, math.pi / 2] nt.eq_(ref, fst_get(feat, nrt).tolist()) nt.eq_(ref, fst_get(feat, nrn).tolist()) nt.eq_(ref, fst_get(feat, pop).tolist())
DATA_PATH = joinp(_path, '../../../test_data') NRN1 = load_neuron(joinp(DATA_PATH, 'swc/Neuron.swc')) NEURONS = [ NRN1, load_neuron(joinp(DATA_PATH, 'swc/Single_basal.swc')), load_neuron(joinp(DATA_PATH, 'swc/Neuron_small_radius.swc')), load_neuron(joinp(DATA_PATH, 'swc/Neuron_3_random_walker_branches.swc')), ] TOT_NEURITES = sum(len(N.neurites) for N in NEURONS) REVERSED_NEURITES = load_neuron( joinp(DATA_PATH, 'swc/ordering/reversed_NRN_neurite_order.swc')) POP = core.Population(NEURONS, name='foo') def assert_sequence_equal(a, b): nt.eq_(tuple(a), tuple(b)) def test_iter_neurites_default(): assert_sequence_equal(POP.neurites, [n for n in core.iter_neurites(POP)]) def test_iter_neurites_nrn_order(): assert_sequence_equal( list( core.iter_neurites(REVERSED_NEURITES, neurite_order=NeuriteIter.NRN)),