def test_register_neurite_feature_nrns(): def npts(neurite): return len(neurite.points) def vol(neurite): return neurite.volume features.register_neurite_feature('foo', npts) n_points_ref = [len(n.points) for n in iter_neurites(NRNS)] n_points = get_feature('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 = get_feature('foo', NRNS, neurite_type=NeuriteType.axon) assert_items_equal(n_points, n_points_ref) features.register_neurite_feature('bar', vol) n_volume_ref = [n.volume for n in iter_neurites(NRNS)] n_volume = get_feature('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 = get_feature('bar', NRNS, neurite_type=NeuriteType.axon) assert_items_equal(n_volume, n_volume_ref)
def test_register_neurite_feature_pop(): def npts(neurite): return len(neurite.points) def vol(neurite): return neurite.volume features.register_neurite_feature('foo', npts) n_points_ref = [len(n.points) for n in iter_neurites(POP)] n_points = get_feature('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 = get_feature('foo', POP, neurite_type=NeuriteType.basal_dendrite) assert_items_equal(n_points, n_points_ref) features.register_neurite_feature('bar', vol) n_volume_ref = [n.volume for n in iter_neurites(POP)] n_volume = get_feature('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 = get_feature('bar', POP, neurite_type=NeuriteType.basal_dendrite) assert_items_equal(n_volume, n_volume_ref)
def test_register_existing_feature_raises(): features.register_neurite_feature('total_length', lambda n: None)
def test_register_existing_feature_raises(): with pytest.raises(NeuroMError): features.register_neurite_feature('total_length', lambda n: None)