METHOD_ABBREV = {
    # extra_methods
    "euclidean_k_center": "Eucl. $k$-center",
    "euclidean_k_means": "_Eucl. $k$-means",
    "agglomerative_single": "Aggl. (single)",
    "agglomerative_complete": "Aggl. (compl.)",
    "agglomerative_average": "Aggl. (avg.)",
    "agglomerative_median": "Aggl. (median)",
    # extra_methods2
    "euclidean_k_center_500": "Eucl. $k$-center'",
    "euclidean_k_means_500": "_Eucl. $k$-means'",
    "agglomerative_single_500": "Aggl. (single)'",
    "agglomerative_complete_500": "Aggl. (compl.)'",
    "agglomerative_average_500": "Aggl. (avg.)'",
    "agglomerative_median_500": "Aggl. (median)'",
    # extra methods python 
    "k-means_python": "Eucl. $k$-means",
    "k-means_python_500": "Eucl. $k$-means'",
    # competitors
    "HDBSCAN_python": "HDBSCAN",
    "agglomerative_ward_python": "Aggl. (ward)",
    "OPTICS_python": "OPTICS",
    "GaussianMixture_python": "GM",
    "DPC_python": "DPC",
    # competitors2
    "AMD_DBSCAN_python": "AMD-DBSCAN",
    "Spectacl_python": "SpectACL",
    "SCAR_python": "SCAR",
    "LDClus_python": "LDClus",
    # dctree
    "dcTree_build": "dc/computation",
    "dcTree_opt_build_centroid": "dc/$k$-center hier. (heur.)",
    "dcTree_fast_build_centroid": "dc/$k$-center hier. (rand.)",
    "dcTree_prune_tree": "dc/pruning",
    "dcTree_kcenter": "dc/$k$-center/gt",
    "dcTree_kmedian": "dc/$k$-median/gt",
    "dcTree_kmeans": "dc/$k$-means/gt",
    "dcTree_kcenter_elbow": "dc/$k$-center/Elbow",
    "dcTree_kmedian_elbow": "dc/$k$-median/Elbow",
    "dcTree_kmeans_elbow": "dc/$k$-means/Elbow",
    "dcTree_kcenter_q_coverage": "dc/$k$-center/q-cov",
    "dcTree_kmedian_q_coverage": "dc/$k$-median/q-cov",
    "dcTree_kmeans_q_coverage": "dc/$k$-means/q-cov",
    "dcTree_kcenter_q_stem": "dc/$k$-center/q-stem",
    "dcTree_kmedian_q_stem": "dc/$k$-median/q-stem",
    "dcTree_kmeans_q_stem": "dc/$k$-means/q-stem",
    "dcTree_stability": "dc/$k$-center/Stability",
    "dcTree_kmedian_stability": "dc/$k$-median/Stability",
    "dcTree_kmeans_stability": "dc/$k$-means/Stability",
    "dcTree_normalized_stability": "dc/$k$-center/norm.Stability",
    "dcTree_kmedian_norm_stability": "dc/$k$-median/norm.Stability",
    "dcTree_kmeans_norm_stability": "dc/$k$-means/norm.Stability",
    "dcTree_kmedian_lca_noise": "dc/$k$-median/lca_noise",
    "dcTree_kmeans_lca_noise": "dc/$k$-means/lca_noise",
    "dcTree_kmeans_lca_noise_real": "dc/$k$-means/lca_noise_real",
    "dcTree_KFive": "dc/$k$Five/gt",
    "dcTree_KFive_elbow": "dc/$k$Five/Elbow",
    # kdtree
    "kdTree_build": "kd/computation",
    "kdTree_opt_build_centroid": "kd/$k$-center hier. (heur.)",
    "kdTree_fast_build_centroid": "kd/$k$-center hier. (rand.)",
    "kdTree_prune_tree": "kd/pruning",
    "kdTree_kcenter": "kd/$k$-center/gt",
    "kdTree_kmedian": "kd/$k$-median/gt",
    "kdTree_kmeans": "kd/$k$-means/gt",
    "kdTree_kcenter_elbow": "kd/$k$-center/Elbow",
    "kdTree_kmedian_elbow": "kd/$k$-median/Elbow",
    "kdTree_kmeans_elbow": "kd/$k$-means/Elbow",
    "kdTree_kcenter_q_coverage": "kd/$k$-center/q-cov",
    "kdTree_kmedian_q_coverage": "kd/$k$-median/q-cov",
    "kdTree_kmeans_q_coverage": "kd/$k$-means/q-cov",
    "kdTree_kcenter_q_stem": "kd/$k$-center/q-stem",
    "kdTree_kmedian_q_stem": "kd/$k$-median/q-stem",
    "kdTree_kmeans_q_stem": "kd/$k$-means/q-stem",
    "kdTree_stability": "kd/$k$-center/Stability",
    "kdTree_kmedian_stability": "kd/$k$-median/Stability",
    "kdTree_kmeans_stability": "kd/$k$-means/Stability",
    "kdTree_normalized_stability": "kd/$k$-center/norm.Stability",
    "kdTree_kmedian_norm_stability": "kd/$k$-median/norm.Stability",
    "kdTree_kmeans_norm_stability": "kd/$k$-means/norm.Stability",
    "kdTree_kmedian_lca_noise": "kd/$k$-median/lca_noise",
    "kdTree_kmeans_lca_noise": "kd/$k$-means/lca_noise",
    "kdTree_kmeans_lca_noise_real": "kd/$k$-means/lca_noise_real",
    "kdTree_KFive": "kd/$k$Five/gt",
    "kdTree_KFive_elbow": "kd/$k$Five/Elbow",
    #
    # DCTree
    "DCTree_build": "DC/build",
    "DCTree_opt_build_centroid": "DC/$k$-means hier. (heur.)",
    "DCTree_fast_build_centroid": "DC/$k$-means hier. (rand.)",
    "DCTree_kmedian_ensemble_med": "DC/$k$-median/MoE",
    "DCTree_kmedian_ensemble_mean": "DC/$k$-median/mean of Elbow",
    "DCTree_kmeans_ensemble_med": "DC/$k$-means/MoE",
    "DCTree_kmeans_ensemble_mean": "DC/$k$-means/mean of Elbow",
    "DCTree_kcenter": "DC/$k$-center/GT",
    "DCTree_kmedian": "DC/$k$-median/GT",
    "DCTree_kmeans": "DC/$k$-means/GT",
    "DCTree_kcenter_elbow": "DC/$k$-center/Elbow",
    "DCTree_kmedian_elbow": "DC/$k$-median/Elbow",
    "DCTree_kmeans_elbow": "DC/$k$-means/Elbow",
    "DCTree_stability": "DC/$k$-center/Stability",
    "DCTree_kmedian_stability": "DC/$k$-median/Stability",
    "DCTree_kmeans_stability": "DC/$k$-means/Stability",
    "DCTree_normalized_stability": "DC/$k$-center/norm.Stability",
    "DCTree_kmedian_norm_stability": "DC/$k$-median/norm.Stability",
    "DCTree_kmeans_norm_stability": "DC/$k$-means/norm.Stability",
    #
    # HST
    "HST_build": "HST-DPO/build",
    "HST_opt_build_centroid": "HST-DPO/$k$-means hier. (heur.)",
    "HST_fast_build_centroid": "HST-DPO/$k$-means hier. (rand.)",
    "HST_kmedian_ensemble_med": "HST-DPO/$k$-median/MoE",
    "HST_kmedian_ensemble_mean": "HST-DPO/$k$-median/mean of Elbow",
    "HST_kmeans_ensemble_med": "HST-DPO/$k$-means/MoE",
    "HST_kmeans_ensemble_mean": "HST-DPO/$k$-means/mean Elbow",
    "HST_kcenter": "HST-DPO/$k$-center/GT",
    "HST_kmedian": "HST-DPO/$k$-median/GT",
    "HST_kmeans": "HST-DPO/$k$-means/GT",
    "HST_kcenter_elbow": "HST-DPO/$k$-center/Elbow",
    "HST_kmedian_elbow": "HST-DPO/$k$-median/Elbow",
    "HST_kmeans_elbow": "HST-DPO/$k$-means/Elbow",
    "HST_stability": "HST-DPO/$k$-center/Stability",
    "HST_kmedian_stability": "HST-DPO/$k$-median/Stability",
    "HST_kmeans_stability": "HST-DPO/$k$-means/Stability",
    "HST_normalized_stability": "HST-DPO/$k$-center/norm.Stability",
    "HST_kmedian_norm_stability": "HST-DPO/$k$-median/norm.Stability",
    "HST_kmeans_norm_stability": "HST-DPO/$k$-means/norm.Stability",
    #
    # CoverTree
    "CoverTree_build": "CT/build",
    "CoverTree_opt_build_centroid": "CT/$k$-means hier. (heur.)",
    "CoverTree_fast_build_centroid": "CT/$k$-means hier. (rand.)",
    "CoverTree_kmedian_ensemble_med": "CT/$k$-median/MoE",
    "CoverTree_kmedian_ensemble_mean": "CT/$k$-median/mean of Elbow",
    "CoverTree_kmeans_ensemble_med": "CT/$k$-means/MoE",
    "CoverTree_kmeans_ensemble_mean": "CT/$k$-means/mean Elbow",
    "CoverTree_kcenter": "CT/$k$-center/GT",
    "CoverTree_kmedian": "CT/$k$-median/GT",
    "CoverTree_kmeans": "CT/$k$-means/GT",
    "CoverTree_kcenter_elbow": "CT/$k$-center/Elbow",
    "CoverTree_kmedian_elbow": "CT/$k$-median/Elbow",
    "CoverTree_kmeans_elbow": "CT/$k$-means/Elbow",
    "CoverTree_stability": "CT/$k$-center/Stability",
    "CoverTree_kmedian_stability": "CT/$k$-median/Stability",
    "CoverTree_kmeans_stability": "CT/$k$-means/Stability",
    "CoverTree_normalized_stability": "CT/$k$-center/norm.Stability",
    "CoverTree_kmedian_norm_stability": "CT/$k$-median/norm.Stability",
    "CoverTree_kmeans_norm_stability": "CT/$k$-means/norm.Stability",
    #
    # KDTree
    "KDTree_build": "KD/build",
    "KDTree_opt_build_centroid": "KD/$k$-means hier. (heur.)",
    "KDTree_fast_build_centroid": "KD/$k$-means hier. (rand.)",
    "KDTree_kmedian_ensemble_med": "KD/$k$-median/MoE",
    "KDTree_kmedian_ensemble_mean": "KD/$k$-median/mean of Elbow",
    "KDTree_kmeans_ensemble_med": "KD/$k$-means/MoE",
    "KDTree_kmeans_ensemble_mean": "KD/$k$-means/mean Elbow",
    "KDTree_kcenter": "KD/$k$-center/GT",
    "KDTree_kmedian": "KD/$k$-median/GT",
    "KDTree_kmeans": "KD/$k$-means/GT",
    "KDTree_kcenter_elbow": "KD/$k$-center/Elbow",
    "KDTree_kmedian_elbow": "KD/$k$-median/Elbow",
    "KDTree_kmeans_elbow": "KD/$k$-means/Elbow",
    "KDTree_stability": "KD/$k$-center/Stability",
    "KDTree_kmedian_stability": "KD/$k$-median/Stability",
    "KDTree_kmeans_stability": "KD/$k$-means/Stability",
    "KDTree_normalized_stability": "KD/$k$-center/norm.Stability",
    "KDTree_kmedian_norm_stability": "KD/$k$-median/norm.Stability",
    "KDTree_kmeans_norm_stability": "KD/$k$-means/norm.Stability",
}


METHODS_competitors = [
    # extra_methods
    "Eucl. $k$-center",
    "Eucl. $k$-means",
    "Aggl. (single)",
    "Aggl. (compl.)",
    "Aggl. (avg.)",
    "Aggl. (median)",
    # extra_methods2
    # "Eucl. $k$-center'",
    # "Eucl. $k$-means'",
    # "Aggl. (single)'",
    # "Aggl. (compl.)'",
    # "Aggl. (avg.)'",
    # "Aggl. (median)'",
    # competitors
    "Aggl. (ward)",
    "HDBSCAN",
    "OPTICS",
    "GM",
    "DPC",
    # competitors2
    "AMD-DBSCAN",
    "SpectACL",
    "SCAR",
    "LDClus",
]

METHODS_dcTree = [
    "dc/$k$-center/gt",
    "dc/$k$-median/gt",
    "dc/$k$-means/gt",
    "dc/$k$-center/Elbow",
    "dc/$k$-median/Elbow",
    "dc/$k$-means/Elbow",
    "dc/$k$-center/q-cov",
    "dc/$k$-median/q-cov",
    "dc/$k$-means/q-cov",
    "dc/$k$-center/q-stem",
    "dc/$k$-median/q-stem",
    "dc/$k$-means/q-stem",
    "dc/$k$-center/Stability",
    "dc/$k$-median/Stability",
    "dc/$k$-means/Stability",
    "dc/$k$-center/norm.Stability",
    "dc/$k$-median/norm.Stability",
    "dc/$k$-means/norm.Stability",
    "dc/$k$-median/lca_noise",
    "dc/$k$-means/lca_noise",
    "dc/$k$-means/lca_noise_real",
    "dc/$k$Five/gt",
    "dc/$k$Five/Elbow",
]

METHODS_kdTree = [
    "kd/$k$-center/gt",
    "kd/$k$-median/gt",
    "kd/$k$-means/gt",
    "kd/$k$-center/Elbow",
    "kd/$k$-median/Elbow",
    "kd/$k$-means/Elbow",
    "kd/$k$-center/q-cov",
    "kd/$k$-median/q-cov",
    "kd/$k$-means/q-cov",
    "kd/$k$-center/q-stem",
    "kd/$k$-median/q-stem",
    "kd/$k$-means/q-stem",
    "kd/$k$-center/Stability",
    "kd/$k$-median/Stability",
    "kd/$k$-means/Stability",
    "kd/$k$-center/norm.Stability",
    "kd/$k$-median/norm.Stability",
    "kd/$k$-means/norm.Stability",
    "kd/$k$-median/lca_noise",
    "kd/$k$-means/lca_noise",
    "kd/$k$-means/lca_noise_real",
    "kd/$k$Five/gt",
    "kd/$k$Five/Elbow",
]



METHODS_dcTree_times = [
    "Aggl. (single)",
    "Aggl. (compl.)",
    "Aggl. (avg.)",
    "Aggl. (median)",
    "Aggl. (single)'",
    "Aggl. (compl.)'",
    "Aggl. (avg.)'",
    "Aggl. (median)'",
    "Aggl. (ward)",
    "HDBSCAN",
    "dc/computation",
    "dc/$k$-center hier. (heur.)",
    "dc/$k$-center hier. (rand.)",
    "dc/pruning",
    "dc/$k$-center/gt",
    "dc/$k$-median/gt",
    "dc/$k$-means/gt",
    "dc/$k$-center/Elbow",
    "dc/$k$-median/Elbow",
    "dc/$k$-means/Elbow",
    "dc/$k$-center/q-cov",
    "dc/$k$-median/q-cov",
    "dc/$k$-means/q-cov",
    "dc/$k$-center/q-stem",
    "dc/$k$-median/q-stem",
    "dc/$k$-means/q-stem",
    "dc/$k$-center/Stability",
    "dc/$k$-median/Stability",
    "dc/$k$-means/Stability",
    "dc/$k$-center/norm.Stability",
    "dc/$k$-median/norm.Stability",
    "dc/$k$-means/norm.Stability",
    "dc/$k$-median/lca_noise",
    "dc/$k$-means/lca_noise",
    "dc/$k$-means/lca_noise_real",
    "dc/$k$Five/gt",
    "dc/$k$Five/Elbow",
]


METHODS_kdTree_times = [
    "Eucl. $k$-center",
    "Eucl. $k$-center'",
    "Eucl. $k$-means",
    "Eucl. $k$-means'",
    "skl. Eucl. $k$-means",
    "skl. Eucl. $k$-means'",
    "kd/computation",
    "kd/$k$-center hier. (heur.)",
    "kd/$k$-center hier. (rand.)",
    "kd/pruning",
    "kd/$k$-center/gt",
    "kd/$k$-median/gt",
    "kd/$k$-means/gt",
    "kd/$k$-center/Elbow",
    "kd/$k$-median/Elbow",
    "kd/$k$-means/Elbow",
    "kd/$k$-center/q-cov",
    "kd/$k$-median/q-cov",
    "kd/$k$-means/q-cov",
    "kd/$k$-center/q-stem",
    "kd/$k$-median/q-stem",
    "kd/$k$-means/q-stem",
    "kd/$k$-center/Stability",
    "kd/$k$-median/Stability",
    "kd/$k$-means/Stability",
    "kd/$k$-center/norm.Stability",
    "kd/$k$-median/norm.Stability",
    "kd/$k$-means/norm.Stability",
    "kd/$k$-median/lca_noise",
    "kd/$k$-means/lca_noise",
    "kd/$k$-means/lca_noise_real",
    "kd/$k$Five/gt",
    "kd/$k$Five/Elbow",
]



METHODS_final = [
    # GT results
    "DC/$k$-center/GT",
    "DC/$k$-median/GT",
    "DC/$k$-means/GT",
    # DCTree
    "DC/$k$-center/Stability",
    "DC/$k$-median/MoE",
    "DC/$k$-means/Elbow",
    # HST
    "HST-DPO/$k$-center/Stability",
    "HST-DPO/$k$-median/MoE",
    "HST-DPO/$k$-means/Elbow",
    # CoverTree
    "CT/$k$-center/Stability",
    "CT/$k$-median/MoE",
    "CT/$k$-means/Elbow",
    # KDTree
    "KD/$k$-center/Stability",
    "KD/$k$-median/MoE",
    "KD/$k$-means/Elbow",
    ### Other Methods
    "Eucl. $k$-means",
    "SCAR",
    "Aggl. (ward)",
    # "OPTICS",
    # "GM",
    "AMD-DBSCAN",
    "DPC",
    # "SpectACL",
    # "LDClus",
]


METHODS_final_small = [
    # DCTree
    "DC/$k$-center/Stability",
    "DC/$k$-median/MoE",
    "DC/$k$-means/Elbow",
    # HST
    # "HST-DPO/$k$-center/Stability",
    # "HST-DPO/$k$-median/MoE",
    # "HST-DPO/$k$-means/Elbow",
    # CoverTree
    "CT/$k$-center/Stability",
    "CT/$k$-median/MoE",
    "CT/$k$-means/Elbow",
    # KDTree
    # "KD/$k$-center/Stability",
    # "KD/$k$-median/MoE",
    # "KD/$k$-means/Elbow",
    ### Other Methods
    "Eucl. $k$-means",
    "SCAR",
    "Aggl. (ward)",
    # "OPTICS",
    # "GM",
    "AMD-DBSCAN",
    "DPC",
    # "SpectACL",
    # "LDClus",
]


METHODS_final_times = [
    "KD/build",
    "CT/build",
    "HST-DPO/build",
    "DC/build",
    "DC/$k$-means hier. (rand.)",
    "DC/$k$-means hier. (heur.)",
    "DC/$k$-center/Stability",
    "DC/$k$-median/MoE",
    "DC/$k$-means/Elbow",
    ### Other Methods
    "Eucl. $k$-means",
    "Eucl. $k$-means'",
    "SCAR",
    "Aggl. (ward)",
    # "OPTICS",
    # "GM",
    "AMD-DBSCAN",
    "DPC",
    # "SpectACL",
    # "LDClus",
]


METHODS_final_times_small = [
    "CT/build",
    "DC/build",
    "DC/$k$-means hier. (rand.)",
    "DC/$k$-means/Stability",
    "DC/$k$-median/MoE",
    "DC/$k$-means/Elbow",
    ### Other Methods
    "Eucl. $k$-means",
    "Eucl. $k$-means'",
    "SCAR",
    "Aggl. (ward)",
    "AMD-DBSCAN",
    "DPC",
    # "OPTICS",
    # "GM",
    # "SpectACL",
    # "LDClus",
]



