def analysis(compositions):
    duration_ambitus_label = get_duration_ambitus(compositions, True, True)
    duration_ambitus = get_duration_ambitus(compositions, True, False)

    array = numpy.array(duration_ambitus[1:])

    min_pts = 10
    if len(duration_ambitus) < 10:
        min_pts = 0

    cluster = duration_ambitus_cluster(array, min_pts)
    reachability_plot = utils.make_reachability_plot(array, min_pts)
    cluster_table = utils.make_clusters(compositions, array, min_pts)

    if duration_ambitus:
        args = {
            'duration_ambitus_label': duration_ambitus_label,
            'duration_ambitus': duration_ambitus,
            'cluster': cluster,
            'reachability_plot': reachability_plot,
            'cluster_table': cluster_table,
        }
    else:
        args = {}

    return args
def analysis(compositions, size=2):
    duration_ambitus = cluster_duration_ambitus.get_duration_ambitus(compositions, True, False)
    contour_list = utils.get_music_data_attrib(compositions, 'contour', 'append')

    a = numpy.array(duration_ambitus[1:])
    b = cluster_contour.get_contour_frequency(contour_list, size, True)
    c = cluster_intervals_frequency.get_interval_frequency(compositions)
    d = cluster_durations_frequency.get_duration_frequency(compositions)

    array = numpy.column_stack((a, b, c, d))

    min_pts = 10
    if array.shape[0] < 10:
        min_pts = 0

    reachability_plot = utils.make_reachability_plot(array, min_pts)
    cluster_table = utils.make_clusters(compositions, array, min_pts)

    if array.any():
        args = {
            'reachability_plot': reachability_plot,
            'cluster_table': cluster_table,
            'size': size,
        }
    else:
        args = {}

    return args
def analysis(compositions):
    array = get_interval_frequency(compositions)

    min_pts = 10
    if array.shape[0] < 10:
        min_pts = 0

    reachability_plot = utils.make_reachability_plot(array, min_pts)
    cluster_table = utils.make_clusters(compositions, array, min_pts)

    if array.any():
        args = {
            'reachability_plot': reachability_plot,
            'cluster_table': cluster_table,
        }
    else:
        args = {}

    return args
def analysis(compositions, size=2):
    contour_list = utils.get_music_data_attrib(compositions, 'contour', 'append')
    array = get_contour_frequency(contour_list, size, True)

    min_pts = 10
    if array.shape[0] < 10:
        min_pts = 0

    reachability_plot = utils.make_reachability_plot(array, min_pts)
    cluster_table = utils.make_clusters(compositions, array, min_pts)

    if array.any():
        args = {
            'reachability_plot': reachability_plot,
            'cluster_table': cluster_table,
            'size': size,
        }
    else:
        args = {}

    return args