예제 #1
0
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)
예제 #2
0
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))
예제 #3
0
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))
예제 #4
0
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))
예제 #5
0
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)]