def test_register_neurite_feature_pop(): def npts(neurite): return len(neurite.points) def vol(neurite): return neurite.volume fst.register_neurite_feature('foo', npts) n_points_ref = [len(n.points) for n in iter_neurites(POP)] n_points = fst.get('foo', POP) assert_items_equal(n_points, n_points_ref) # test neurite type filtering n_points_ref = [len(n.points) for n in iter_neurites(POP, filt=_is_type(NeuriteType.basal_dendrite))] n_points = fst.get('foo', POP, neurite_type=NeuriteType.basal_dendrite) assert_items_equal(n_points, n_points_ref) fst.register_neurite_feature('bar', vol) n_volume_ref = [n.volume for n in iter_neurites(POP)] n_volume = fst.get('bar', POP) assert_items_equal(n_volume, n_volume_ref) # test neurite type filtering n_volume_ref = [n.volume for n in iter_neurites(POP, filt=_is_type(NeuriteType.basal_dendrite))] n_volume = fst.get('bar', POP, neurite_type=NeuriteType.basal_dendrite) assert_items_equal(n_volume, n_volume_ref)
def test_register_neurite_feature_nrns(): def npts(neurite): return len(neurite.points) def vol(neurite): return neurite.volume fst.register_neurite_feature('foo', npts) n_points_ref = [len(n.points) for n in iter_neurites(NRNS)] n_points = fst.get('foo', NRNS) assert_items_equal(n_points, n_points_ref) # test neurite type filtering n_points_ref = [len(n.points) for n in iter_neurites(NRNS, filt=_is_type(NeuriteType.axon))] n_points = fst.get('foo', NRNS, neurite_type=NeuriteType.axon) assert_items_equal(n_points, n_points_ref) fst.register_neurite_feature('bar', vol) n_volume_ref = [n.volume for n in iter_neurites(NRNS)] n_volume = fst.get('bar', NRNS) assert_items_equal(n_volume, n_volume_ref) # test neurite type filtering n_volume_ref = [n.volume for n in iter_neurites(NRNS, filt=_is_type(NeuriteType.axon))] n_volume = fst.get('bar', NRNS, neurite_type=NeuriteType.axon) assert_items_equal(n_volume, n_volume_ref)
def _fun(neurites, neurite_type=_ntype.all): """Wrap neurite function from outer scope and map into list.""" return list(func(n) for n in _ineurites(neurites, filt=_is_type(neurite_type)))