コード例 #1
0
def extract_data(data_path, feature):
    '''Loads a list of neurons, extracts feature
       and transforms the fitted distribution in the correct format.
       Returns the optimal distribution, corresponding parameters,
       minimun and maximum values.
    '''
    population = ezy.load_neurons(data_path)

    feature_data = [getattr(n, 'get_' + feature)() for n in population]

    try:
        opt_fit = stats.optimal_distribution(feature_data)
    except ValueError:
        from itertools import chain
        feature_data = list(chain(*feature_data))
        opt_fit = stats.optimal_distribution(feature_data)

    return opt_fit
コード例 #2
0
def extract_data(data_path, feature):
    """Loads a list of neurons, extracts feature
       and transforms the fitted distribution in the correct format.
       Returns the optimal distribution, corresponding parameters,
       minimun and maximum values.
    """
    population = ezy.load_neurons(data_path)

    feature_data = [getattr(n, "get_" + feature)() for n in population]

    try:
        opt_fit = stats.optimal_distribution(feature_data)
    except ValueError:
        from itertools import chain

        feature_data = list(chain(*feature_data))
        opt_fit = stats.optimal_distribution(feature_data)

    return opt_fit
コード例 #3
0
def extract_data(data_path, feature):
    '''Loads a list of neurons, extracts feature
       and transforms the fitted distribution in the correct format.
       Returns the optimal distribution, corresponding parameters,
       minimun and maximum values.
    '''
    population = nm.load_neurons(data_path)

    feature_data = [nm.get(feature, n) for n in population]
    feature_data = list(chain(*feature_data))

    return stats.optimal_distribution(feature_data)
コード例 #4
0
def extract_data(data_path, feature):
    '''Loads a list of neurons, extracts feature
       and transforms the fitted distribution in the correct format.
       Returns the optimal distribution, corresponding parameters,
       minimun and maximum values.
    '''
    population = nm.load_neurons(data_path)

    feature_data = [nm.get(feature, n) for n in population]
    feature_data = list(chain(*feature_data))

    return stats.optimal_distribution(feature_data)
コード例 #5
0
ファイル: synthesis_json.py プロジェクト: wvangeit/NeuroM
def extract_data(files, feature, params=None):
    '''Loads a list of neurons, extracts feature
       and transforms the fitted distribution in the correct format.
       Returns the optimal distribution and corresponding parameters.
       Normal distribution params (mean, std)
       Exponential distribution params (loc, scale)
       Uniform distribution params (min, range)
    '''
    neurons = ezy.load_neurons(files)

    if params is None:
        params = {}

    feature_data = [FEATURE_MAP[feature](n, params) for n in neurons]

    try:
        opt_fit = stats.optimal_distribution(feature_data)
    except ValueError:
        feature_data = list(chain(*feature_data))
        opt_fit = stats.optimal_distribution(feature_data)

    return opt_fit
コード例 #6
0
ファイル: synthesis_json.py プロジェクト: wvangeit/NeuroM
def extract_data(files, feature, params=None):
    '''Loads a list of neurons, extracts feature
       and transforms the fitted distribution in the correct format.
       Returns the optimal distribution and corresponding parameters.
       Normal distribution params (mean, std)
       Exponential distribution params (loc, scale)
       Uniform distribution params (min, range)
    '''
    neurons = ezy.load_neurons(files)

    if params is None:
        params = {}

    feature_data = [FEATURE_MAP[feature](n, params) for n in neurons]

    try:
        opt_fit = stats.optimal_distribution(feature_data)
    except ValueError:
        feature_data = list(chain(*feature_data))
        opt_fit = stats.optimal_distribution(feature_data)

    return opt_fit
コード例 #7
0
ファイル: synthesis_json.py プロジェクト: jdcourcol/NeuroM
def extract_data(neurons, feature, params=None):
    '''Extracts feature from a list of neurons
       and transforms the fitted distribution in the correct format.
       Returns the optimal distribution and corresponding parameters.
       Normal distribution params (mean, std)
       Exponential distribution params (loc, scale)
       Uniform distribution params (min, range)
    '''
    if params is None:
        params = {}

    feature_data = [get(FEATURE_MAP[feature], n, **params) for n in neurons]
    feature_data = list(chain(*feature_data))
    return stats.optimal_distribution(feature_data)
コード例 #8
0
def extract_data(neurons, feature, params=None):
    '''Extracts feature from a list of neurons
       and transforms the fitted distribution in the correct format.
       Returns the optimal distribution and corresponding parameters.
       Normal distribution params (mean, std)
       Exponential distribution params (loc, scale)
       Uniform distribution params (min, range)
    '''
    if params is None:
        params = {}

    feature_data = [get(FEATURE_MAP[feature], n, **params) for n in neurons]
    feature_data = list(chain(*feature_data))
    return stats.optimal_distribution(feature_data)
コード例 #9
0
def extract_data(files, feature, params=None):
    '''Loads a list of neurons, extracts feature
       and transforms the fitted distribution in the correct format.
       Returns the optimal distribution and corresponding parameters.
       Normal distribution params (mean, std)
       Exponential distribution params (loc, scale)
       Uniform distribution params (min, range)
    '''
    population = ezy.load_neurons(files)

    if params is None:
        params = {}

    feature_data = [getattr(n, 'get_' + feature)(**params) for n in population]

    try:
        opt_fit = stats.optimal_distribution(feature_data)
    except ValueError:
        from itertools import chain
        feature_data = list(chain(*feature_data))
        opt_fit = stats.optimal_distribution(feature_data)

    return opt_fit
コード例 #10
0
ファイル: soma_radius_fit.py プロジェクト: nagyistge/NeuroM
def test_multiple_distr(filepath):
    '''Runs the distribution fit for multiple distributions and returns
       the optimal distribution along with the corresponding parameters.
    '''
    #  load a neuron from an SWC file
    population = nm.load_neurons(filepath)

    # Create a list of basic distributions
    distr_to_check = ('norm', 'expon', 'uniform')

    # Get the soma radii of a population of neurons
    soma_size = nm.get('soma_radii', population)

    # Find the best fit distribution
    return st.optimal_distribution(soma_size, distr_to_check)
コード例 #11
0
ファイル: soma_radius_fit.py プロジェクト: jdcourcol/NeuroM
def test_multiple_distr(filepath):
    '''Runs the distribution fit for multiple distributions and returns
       the optimal distribution along with the corresponding parameters.
    '''
    #  load a neuron from an SWC file
    population = nm.load_neurons(filepath)

    # Create a list of basic distributions
    distr_to_check = ('norm', 'expon', 'uniform')

    # Get the soma radii of a population of neurons
    soma_size = nm.get('soma_radii', population)

    # Find the best fit distribution
    return st.optimal_distribution(soma_size, distr_to_check)
コード例 #12
0
def test_optimal_distribution_normal():
    optimal = st.optimal_distribution(NORMAL)
    assert optimal.type == 'norm'
コード例 #13
0
ファイル: test_stats.py プロジェクト: BlueBrain/NeuroM
def test_optimal_distribution_uniform():
    optimal = st.optimal_distribution(UNIFORM)
    nt.ok_(optimal.type == 'uniform')
コード例 #14
0
ファイル: test_stats.py プロジェクト: BlueBrain/NeuroM
def test_optimal_distribution_exponential():
    optimal = st.optimal_distribution(EXPON)
    nt.ok_(optimal.type == 'expon')
コード例 #15
0
ファイル: test_stats.py プロジェクト: BlueBrain/NeuroM
def test_optimal_distribution_normal():
    optimal = st.optimal_distribution(NORMAL)
    nt.ok_(optimal.type == 'norm')
コード例 #16
0
def test_optimal_distribution_normal():
    optimal = st.optimal_distribution(NORMAL)
    nt.ok_(optimal.type == 'norm')
コード例 #17
0
def test_optimal_distribution_exponential():
    optimal = st.optimal_distribution(EXPON)
    nt.ok_(optimal.type == 'expon')
コード例 #18
0
    parser.add_argument('datapath',
                        help='Path to morphology data file or directory')

    parser.add_argument('feature',
                        help='Feature available for the ezy.neuron')

    return parser.parse_args()


if __name__ == '__main__':

    args = parse_args()

    data_path = args.datapath

    feature = args.feature

    population = ezy.load_neurons(data_path)

    feature_data = [getattr(n, 'get_' + feature)() for n in population]

    try:
        result = st.optimal_distribution(feature_data)
    except ValueError:
        from itertools import chain
        feature_data = list(chain(*feature_data))
        result = st.optimal_distribution(feature_data)

    print "Optimal distribution fit for %s is: %s with parameters %s"\
        % (feature, result.type, result.params)
コード例 #19
0
def test_optimal_distribution_exponential():
    optimal = st.optimal_distribution(EXPON)
    assert optimal.type == 'expon'
コード例 #20
0
def test_optimal_distribution_uniform():
    optimal = st.optimal_distribution(UNIFORM)
    nt.ok_(optimal.type == 'uniform')
コード例 #21
0
def test_optimal_distribution_uniform():
    optimal = st.optimal_distribution(UNIFORM)
    assert optimal.type == 'uniform'
コード例 #22
0
    parser.add_argument('datapath',
                        help='Path to morphology data file or directory')

    parser.add_argument('feature', help='Feature available for the ezy.neuron')

    return parser.parse_args()


if __name__ == '__main__':

    args = parse_args()

    data_path = args.datapath

    feature = args.feature

    population = ezy.load_neurons(data_path)

    feature_data = [getattr(n, 'get_' + feature)() for n in population]

    try:
        result = st.optimal_distribution(feature_data)
    except ValueError:
        from itertools import chain
        feature_data = list(chain(*feature_data))
        result = st.optimal_distribution(feature_data)

    print "Optimal distribution fit for %s is: %s with parameters %s"\
        % (feature, result.type, result.params)