def test_is_monotonic(): # tree with decreasing radii neuron = load_neuron(StringIO(u""" ((Dendrite) (0 0 0 1.0) (0 0 0 0.99) ( (0 0 0 0.99) (0 0 0 0.1) | (0 0 0 0.5) (0 0 0 0.2) ))"""), reader='asc') assert mt.is_monotonic(neuron.neurites[0], 1e-6) # tree with equal radii neuron = load_neuron(StringIO(u""" ((Dendrite) (0 0 0 1.0) (0 0 0 1.0) ( (0 0 0 1.0) (0 0 0 1.0) | (0 0 0 1.0) (0 0 0 1.0) ))"""), reader='asc') assert mt.is_monotonic(neuron.neurites[0], 1e-6) # tree with increasing radii neuron = load_neuron(StringIO(u""" ((Dendrite) (0 0 0 1.0) (0 0 0 1.0) ( (0 0 0 1.1) (0 0 0 1.1) | (0 0 0 0.3) (0 0 0 0.1) ))"""), reader='asc') assert not mt.is_monotonic(neuron.neurites[0], 1e-6) # Tree with larger child initial point neuron = load_neuron(StringIO(u""" ((Dendrite) (0 0 0 1.0) (0 0 0 0.75) (0 0 0 0.5) (0 0 0 0.25) ( (0 0 0 0.375) (0 0 0 0.125) (0 0 0 0.625) ))"""), reader='asc') assert not mt.is_monotonic(neuron.neurites[0], 1e-6)
def test_is_monotonic(): # tree with decreasing radii decr_diams = _generate_tree(0) # tree with equal radii equl_diams = _generate_tree(1) # tree with increasing radii incr_diams = _generate_tree(2) nt.assert_true(is_monotonic(decr_diams, 1e-6)) nt.assert_true(is_monotonic(equl_diams, 1e-6)) nt.assert_false(is_monotonic(incr_diams, 1e-6))
def test_is_monotonic(): # tree with decreasing radii decr_diams = _generate_neurite(0) nt.assert_true(mt.is_monotonic(decr_diams, 1e-6)) # tree with equal radii equl_diams = _generate_neurite(1) nt.assert_true(mt.is_monotonic(equl_diams, 1e-6)) # tree with increasing radii incr_diams = _generate_neurite(2) nt.assert_false(mt.is_monotonic(incr_diams, 1e-6)) # Tree with larger child initial point bad_child = _genetate_tree_non_monotonic_section_boundary() nt.assert_false(mt.is_monotonic(bad_child, 1e-6))
def get_nonmonotonic_neurites(neuron, tol=1e-6): '''Get neurites that are not monotonic Argument: neuron : The neuron object to test tol : the tolerance for testing monotonicity Returns: list of neurites that do not satisfy monotonicity test ''' return [n for n in neuron.neurites if not is_monotonic(n, tol)]