diff --git a/example.py b/example.py index 8b31b64..b7892dd 100644 --- a/example.py +++ b/example.py @@ -1,10 +1,7 @@ from src.main import draw_maps, draw_maps_editor -import time -# draw_maps_editor("data/kk_swap_2d.csv", None) -draw_maps_editor("data/size-7/mds_katz_cen_2d.csv", None) +# open editor make generated from mds_katz_cen_2d.csv dataset. +draw_maps_editor("data/size-7/mds_katz_cen_2d.csv") -# s = time.time() -# draw_maps("data/size-7/mds_katz_cen_2d.csv", "pngs/size-7/mds_katz_cen_2d_daq", config_id='iterative') -# e = time.time() -# print(f"{e-s}s") +# generate .png of mds_katz_cen_2d.csv dataset with iterative label generation method +draw_maps("data/size-7/mds_katz_cen_2d.csv", "./mds_katz_cen_2d_daq", config_id='iterative') diff --git a/measurements/loss_vs_time_plot.py b/measurements/loss_vs_time_plot.py deleted file mode 100644 index dc0ec02..0000000 --- a/measurements/loss_vs_time_plot.py +++ /dev/null @@ -1,74 +0,0 @@ -import pandas as pd -import matplotlib.pyplot as plt - -def plot_optimization_graph(csv_file_path): - # Load the data from a CSV file, splitting columns by the semicolon delimiter - data = pd.read_csv(csv_file_path, sep=';') - - # Rename the columns for clarity - data.columns = ['source_data', 'config_id', 'out_data', 'time', 'Loss'] - - # Ensure the required columns ('time', 'config_id', 'Loss') are present - required_columns = {'time', 'config_id', 'Loss'} - if not required_columns.issubset(data.columns): - raise ValueError(f"CSV file must contain the following columns: {required_columns}") - - # Create a new column 'OptimizationType' by formatting the 'config_id' column - # Replace underscores with spaces and capitalize each word - data['OptimizationType'] = data['config_id'].str.replace('_', ' ').str.title() - - # Convert 'time' and 'Loss' columns to numeric, coercing errors to NaN - data['time'] = pd.to_numeric(data['time'], errors='coerce') - data['Loss'] = pd.to_numeric(data['Loss'], errors='coerce') - - # Begin plotting with matplotlib - plt.figure(figsize=(10, 6)) # Set the figure size - - # Iterate through each unique optimization type to plot them separately - for opt_type, color in zip(data['OptimizationType'].unique(), ['orange', 'blue', 'green']): - # Filter the data for the current optimization type - subset = data[data['OptimizationType'] == opt_type] - - # Scatter plot for the current optimization type - plt.scatter( - subset['time'], # X-axis: time - subset['Loss'], # Y-axis: loss - label=opt_type, # Legend label - s=100, # Marker size - color=color - ) - - # Calculate mean and variance for each optimization type - mean_loss = subset['Loss'].mean() - - # Plot the mean as a horizontal line - plt.axhline( - y=mean_loss, # Horizontal line at mean loss - color=color, linestyle='solid', linewidth=1, label=f"{opt_type} Mean" - ) - - # Set both axes to a logarithmic scale - plt.xscale('log') - plt.yscale('log') - - # Add titles and labels to the plot - plt.title("Loss vs Time by Optimization Type", fontsize=16) # Plot title - plt.xlabel("Time (log scale)", fontsize=14) # X-axis label - plt.ylabel("Loss (log scale)", fontsize=14) # Y-axis label - - # Add a legend to distinguish optimization types and their statistics, fixed in the top-right corner - plt.legend(fontsize=12, title_fontsize=13, - loc='center left', - bbox_to_anchor=(1, 0.5), - borderaxespad=0.5) - - # Adjust layout for better spacing - plt.tight_layout() - - # Display the plot - plt.show() - -# Example usage -# Replace 'data.csv' with the path to your CSV file -csv_file_path = 'measurements/results_dual_annealing_main.csv' # Update with your actual file path -plot_optimization_graph(csv_file_path) diff --git a/measurements/results.csv b/measurements/results.csv deleted file mode 100644 index b754469..0000000 --- a/measurements/results.csv +++ /dev/null @@ -1,11 +0,0 @@ -source_data;config_id;out_data;time;sloss -data/size-7/mds_ged_blp_2d.csv;divide_and_conquare;pngs/size-7/mds_ged_blp_2d_daq;10.569027185440063;44225.0901039249 -data/size-7/mds_katz_cen_2d.csv;iterative;pngs/size-7/mds_katz_cen_2d_iter;10.891525030136108;1640.6081881712632 -data/size-7/mds_ged_blp_2d.csv;iterative;pngs/size-7/mds_ged_blp_2d_iter;14.944351196289062;54.33682093010608 -data/size-25/mds_katz_cen_2d.csv;iterative;pngs/size-25/mds_katz_cen_2d_iter;31.9092378616333;160412.75197820537 -data/move-12/mds_katz_cen_2d.csv;iterative;pngs/move-12/mds_katz_cen_2d_iter;33.95089411735535;40409.671727726876 -data/size-12/mds_sphr_2d.csv;iterative;pngs/size-12/mds_sphr_2d_iter;34.43031311035156;193994.3606790919 -data/move-12/mds_ged_blp_2d.csv;iterative;pngs/move-12/mds_ged_blp_2d_iter;38.47973132133484;25864.372483450028 -data/size-12/mds_ged_blp_2d.csv;iterative;pngs/size-12/mds_ged_blp_2d_iter;40.76906204223633;90470.83767885168 -data/size-12/mds_katz_cen_2d.csv;iterative;pngs/size-12/mds_katz_cen_2d_iter;42.61363935470581;90657.55800888794 -data/ordinal-8/mds_ged_blp_2d.csv;iterative;pngs/ordinal-8/mds_ged_blp_2d_iter;43.55151104927063;291928.75235189265 diff --git a/measurements/results_basinhopping.csv b/measurements/results_basinhopping.csv deleted file mode 100644 index 91aa184..0000000 --- a/measurements/results_basinhopping.csv +++ /dev/null @@ -1,40 +0,0 @@ -source_data;config_id;out_data;time;sloss -data/size-7/mds_ged_blp_2d.csv;divide_and_conquare;pngs/size-7/mds_ged_blp_2d_daq;2.456467866897583;44225.0901039249 -data/size-7/mds_katz_cen_2d.csv;iterative;pngs/size-7/mds_katz_cen_2d_iter;43.07865357398987;240115.28775214858 -data/size-7/mds_ged_blp_2d.csv;iterative;pngs/size-7/mds_ged_blp_2d_iter;46.334457874298096;90030.43018047832 -data/size-7/mds_katz_cen_2d.csv;divide_and_conquare;pngs/size-7/mds_katz_cen_2d_daq;62.48141312599182;1679.1240753009795 -data/size-25/mds_katz_cen_2d.csv;iterative;pngs/size-25/mds_katz_cen_2d_iter;140.52155113220215;4202610.27088432 -data/size-12/mds_sphr_2d.csv;iterative;pngs/size-12/mds_sphr_2d_iter;188.2140347957611;4665789.657422426 -data/move-12/mds_katz_cen_2d.csv;iterative;pngs/move-12/mds_katz_cen_2d_iter;199.53973746299744;3802684.1222413247 -data/move-12/mds_ged_blp_2d.csv;iterative;pngs/move-12/mds_ged_blp_2d_iter;217.96767830848694;2856289.1565063433 -data/size-12/mds_ged_blp_2d.csv;iterative;pngs/size-12/mds_ged_blp_2d_iter;221.94377636909485;4161906.275912593 -data/size-12/pca_katz_cen_2d.csv;iterative;pngs/size-12/pca_katz_cen_2d_iter;232.03398823738098;2402663.2737706057 -data/kamada_l1-mutual_attraction_2d.csv;iterative;pngs/kamada_l1-mutual_attraction_2d_iter;237.62264585494995;3764042.082028306 -data/size-12/mds_katz_cen_2d.csv;iterative;pngs/size-12/mds_katz_cen_2d_iter;244.98864126205444;4244080.476054775 -data/ordinal-8/mds_katz_cen_2d.csv;iterative;pngs/ordinal-8/mds_katz_cen_2d_iter;247.01368498802185;5953977.15756403 -data/ordinal-8/mds_ged_blp_2d.csv;iterative;pngs/ordinal-8/mds_ged_blp_2d_iter;264.7234616279602;4622784.781922891 -data/kk_swap_2d.csv;iterative;pngs/kk_swap_2d_iter;398.145352602005;17389185.958242472 -data/size-12/pca_katz_cen_2d.csv;divide_and_conquare;pngs/size-12/pca_katz_cen_2d_daq;409.9965350627899;176874.23803004934 -data/kamada_l1-mutual_attraction_2d.csv;divide_and_conquare;pngs/kamada_l1-mutual_attraction_2d_daq;449.5455324649811;103392.74379407913 -data/ordinal-8/mds_ged_blp_2d.csv;divide_and_conquare;pngs/ordinal-8/mds_ged_blp_2d_daq;474.59551644325256;723314.4528136451 -data/size-25/mds_katz_cen_2d.csv;divide_and_conquare;pngs/size-25/mds_katz_cen_2d_daq;495.1843776702881;160430.58519754684 -data/move-12/mds_katz_cen_2d.csv;divide_and_conquare;pngs/move-12/mds_katz_cen_2d_daq;507.4636745452881;109417.25685236687 -data/size-12/mds_katz_cen_2d.csv;divide_and_conquare;pngs/size-12/mds_katz_cen_2d_daq;512.1471905708313;63022.37087577495 -data/size-12/mds_ged_blp_2d.csv;divide_and_conquare;pngs/size-12/mds_ged_blp_2d_daq;550.1458547115326;504758.2786572893 -data/move-12/mds_ged_blp_2d.csv;divide_and_conquare;pngs/move-12/mds_ged_blp_2d_daq;652.9256603717804;476523.6908980289 -data/size-12/mds_sphr_2d.csv;divide_and_conquare;pngs/size-12/mds_sphr_2d_daq;682.0968511104584;197975.62241347044 -data/kk_swap_2d.csv;divide_and_conquare;pngs/kk_swap_2d_daq;862.362184047699;884953.5609068767 -data/ordinal-8/mds_katz_cen_2d.csv;divide_and_conquare;pngs/ordinal-8/mds_katz_cen_2d_daq;980.9224481582642;4203502.685986884 -data/size-7/mds_ged_blp_2d.csv;global;pngs/size-7/mds_ged_blp_2d_glob;628.3827130794525;117.36058993280619 -data/size-7/mds_katz_cen_2d.csv;global;pngs/size-7/mds_katz_cen_2d_glob;668.8329105377197;1661.3043984196338 -data/size-25/mds_katz_cen_2d.csv;global;pngs/size-25/mds_katz_cen_2d_glob;8130.990386724472;548039.3387953689 -data/size-12/mds_sphr_2d.csv;global;pngs/size-12/mds_sphr_2d_glob;11463.328500270844;922354.9799933408 -data/move-12/mds_ged_blp_2d.csv;global;pngs/move-12/mds_ged_blp_2d_glob;12288.497124195099;44535.72716850576 -data/move-12/mds_katz_cen_2d.csv;global;pngs/move-12/mds_katz_cen_2d_glob;12671.566923618317;116130.0285934713 -data/kamada_l1-mutual_attraction_2d.csv;global;pngs/kamada_l1-mutual_attraction_2d_glob;13772.276403188705;91171.03800426297 -data/size-12/mds_ged_blp_2d.csv;global;pngs/size-12/mds_ged_blp_2d_glob;13939.13510799408;360493.86860819714 -data/size-12/pca_katz_cen_2d.csv;global;pngs/size-12/pca_katz_cen_2d_glob;14037.2593998909;211959.17010374976 -data/ordinal-8/mds_katz_cen_2d.csv;global;pngs/ordinal-8/mds_katz_cen_2d_glob;14564.660666704178;2132438.7628324367 -data/ordinal-8/mds_ged_blp_2d.csv;global;pngs/ordinal-8/mds_ged_blp_2d_glob;16109.312473773956;449468.2793029645 -data/size-12/mds_katz_cen_2d.csv;global;pngs/size-12/mds_katz_cen_2d_glob;16117.174702644348;96958.77749216228 -data/kk_swap_2d.csv;global;pngs/kk_swap_2d_glob;48614.38398551941;1690975.2396732958 diff --git a/measurements/results_differential_evolution.csv b/measurements/results_differential_evolution.csv deleted file mode 100644 index 21661ce..0000000 --- a/measurements/results_differential_evolution.csv +++ /dev/null @@ -1,39 +0,0 @@ -source_data;config_id;out_data;time;sloss -data/kamada_l1-mutual_attraction_2d.csv;iterative;pngs/kamada_l1-mutual_attraction_2d_iter;8.14986252784729;58297.06936251826 -data/kk_swap_2d.csv;iterative;pngs/kk_swap_2d_iter;17.22060227394104;922375.6206788181 -data/kamada_l1-mutual_attraction_2d.csv;divide_and_conquare;pngs/kamada_l1-mutual_attraction_2d_daq;42.53029417991638;939.5016133138553 -data/kk_swap_2d.csv;divide_and_conquare;pngs/kk_swap_2d_daq;51.48282170295715;563324.0627377365 -data/kamada_l1-mutual_attraction_2d.csv;global;pngs/kamada_l1-mutual_attraction_2d_glob;1945.2255964279175;1284.215179448981 -data/kk_swap_2d.csv;global;pngs/kk_swap_2d_glob;7599.455773115158;3784.2943957953835 -data/size-12/mds_ged_blp_2d.csv;iterative;pngs/size-12/mds_ged_blp_2d_iter;8.13799262046814;116075.65251039139 -data/size-12/mds_katz_cen_2d.csv;iterative;pngs/size-12/mds_katz_cen_2d_iter;9.419343948364258;177039.83391265076 -data/size-12/mds_sphr_2d.csv;iterative;pngs/size-12/mds_sphr_2d_iter;8.047331094741821;90369.42701976307 -data/size-12/pca_katz_cen_2d.csv;iterative;pngs/size-12/pca_katz_cen_2d_iter;10.216998100280762;32591.890409674157 -data/size-12/mds_ged_blp_2d.csv;divide_and_conquare;pngs/size-12/mds_ged_blp_2d_daq;46.91643476486206;73442.04887904528 -data/size-12/mds_katz_cen_2d.csv;divide_and_conquare;pngs/size-12/mds_katz_cen_2d_daq;34.946922302246094;26335.046773463324 -data/size-12/mds_sphr_2d.csv;divide_and_conquare;pngs/size-12/mds_sphr_2d_daq;56.11101245880127;250435.73048648192 -data/size-12/pca_katz_cen_2d.csv;divide_and_conquare;pngs/size-12/pca_katz_cen_2d_daq;37.04511904716492;160298.57602893224 -data/size-12/mds_ged_blp_2d.csv;global;pngs/size-12/mds_ged_blp_2d_glob;1896.5674622058868;781.7834453058722 -data/size-12/mds_katz_cen_2d.csv;global;pngs/size-12/mds_katz_cen_2d_glob;1976.591251373291;1013.9833900613393 -data/size-12/mds_sphr_2d.csv;global;pngs/size-12/mds_sphr_2d_glob;1608.1160366535187;7316.897092147577 -data/size-12/pca_katz_cen_2d.csv;global;pngs/size-12/pca_katz_cen_2d_glob;1986.437344789505;465.8760172780676 -data/size-7/mds_ged_blp_2d.csv;iterative;pngs/size-7/mds_ged_blp_2d_iter;2.475648880004883;50.10418852678941 -data/size-7/mds_katz_cen_2d.csv;iterative;pngs/size-7/mds_katz_cen_2d_iter;2.633254051208496;1638.0498199718577 -data/size-7/mds_ged_blp_2d.csv;divide_and_conquare;pngs/size-7/mds_ged_blp_2d_daq;1.168508768081665;44225.0901039249 -data/size-7/mds_katz_cen_2d.csv;divide_and_conquare;pngs/size-7/mds_katz_cen_2d_daq;1.441981315612793;1688.7779721389572 -data/size-7/mds_ged_blp_2d.csv;global;pngs/size-7/mds_ged_blp_2d_glob;22.413548469543457;52.009250323057834 -data/size-7/mds_katz_cen_2d.csv;global;pngs/size-7/mds_katz_cen_2d_glob;9.019718647003174;1657.8132002493162 -data/size-25/mds_katz_cen_2d.csv;iterative;pngs/size-25/mds_katz_cen_2d_iter;5.535047292709351;314006.7436094305 -data/size-25/mds_katz_cen_2d.csv;divide_and_conquare;pngs/size-25/mds_katz_cen_2d_daq;53.726166009902954;2030.3866168706204 -data/size-25/mds_katz_cen_2d.csv;global;pngs/size-25/mds_katz_cen_2d_glob;937.5412032604218;569.3746278042173 -data/ordinal-8/mds_ged_blp_2d.csv;iterative;pngs/ordinal-8/mds_ged_blp_2d_iter;8.576380968093872;336734.70567627763 -data/ordinal-8/mds_katz_cen_2d.csv;iterative;pngs/ordinal-8/mds_katz_cen_2d_iter;10.089432001113892;1345959.4477023534 -data/ordinal-8/mds_ged_blp_2d.csv;divide_and_conquare;pngs/ordinal-8/mds_ged_blp_2d_daq;11.064110040664673;436159.00619862584 -data/ordinal-8/mds_ged_blp_2d.csv;global;pngs/ordinal-8/mds_ged_blp_2d_glob;2178.696785211563;41119.943235714214 -data/ordinal-8/mds_katz_cen_2d.csv;global;pngs/ordinal-8/mds_katz_cen_2d_glob;2325.316486120224;194743.2494030617 -data/move-12/mds_ged_blp_2d.csv;iterative;pngs/move-12/mds_ged_blp_2d_iter;7.265017509460449;32660.791367412094 -data/move-12/mds_katz_cen_2d.csv;iterative;pngs/move-12/mds_katz_cen_2d_iter;8.147749185562134;193986.721461885 -data/move-12/mds_ged_blp_2d.csv;divide_and_conquare;pngs/move-12/mds_ged_blp_2d_daq;91.50430917739868;53299.99345770424 -data/move-12/mds_katz_cen_2d.csv;divide_and_conquare;pngs/move-12/mds_katz_cen_2d_daq;59.821327686309814;14953.791293635466 -data/move-12/mds_ged_blp_2d.csv;global;pngs/move-12/mds_ged_blp_2d_glob;1590.7465648651123;433.3641059028882 -data/move-12/mds_katz_cen_2d.csv;global;pngs/move-12/mds_katz_cen_2d_glob;1580.8460149765015;639.6299346457752 diff --git a/measurements/results_direct.csv b/measurements/results_direct.csv deleted file mode 100644 index e38b07d..0000000 --- a/measurements/results_direct.csv +++ /dev/null @@ -1,40 +0,0 @@ -source_data;config_id;out_data;time;sloss -data/size-7/mds_ged_blp_2d.csv;divide_and_conquare;pngs/size-7/mds_ged_blp_2d_daq;3.755854845046997;44225.0901039249 -data/size-7/mds_ged_blp_2d.csv;global;pngs/size-7/mds_ged_blp_2d_glob;4.244967222213745;191.03859764212172 -data/move-12/mds_katz_cen_2d.csv;divide_and_conquare;pngs/move-12/mds_katz_cen_2d_daq;4.312878847122192;7185.170502333677 -data/size-25/mds_katz_cen_2d.csv;divide_and_conquare;pngs/size-25/mds_katz_cen_2d_daq;4.408846139907837;90748.32012597042 -data/size-12/pca_katz_cen_2d.csv;divide_and_conquare;pngs/size-12/pca_katz_cen_2d_daq;4.651302814483643;176921.54172696036 -data/move-12/mds_ged_blp_2d.csv;divide_and_conquare;pngs/move-12/mds_ged_blp_2d_daq;4.731161832809448;53745.838000201264 -data/size-7/mds_katz_cen_2d.csv;global;pngs/size-7/mds_katz_cen_2d_glob;5.051182508468628;1740.0830455925125 -data/size-12/mds_sphr_2d.csv;divide_and_conquare;pngs/size-12/mds_sphr_2d_daq;5.207651853561401;519637.30989750684 -data/size-7/mds_katz_cen_2d.csv;divide_and_conquare;pngs/size-7/mds_katz_cen_2d_daq;5.517518997192383;1711.2727291549124 -data/kamada_l1-mutual_attraction_2d.csv;divide_and_conquare;pngs/kamada_l1-mutual_attraction_2d_daq;5.7286763191223145;1238.7300226494062 -data/size-12/mds_ged_blp_2d.csv;divide_and_conquare;pngs/size-12/mds_ged_blp_2d_daq;6.253685712814331;186081.92088167713 -data/size-12/mds_katz_cen_2d.csv;divide_and_conquare;pngs/size-12/mds_katz_cen_2d_daq;6.777273654937744;91153.59470601908 -data/size-25/mds_katz_cen_2d.csv;global;pngs/size-25/mds_katz_cen_2d_glob;7.079998016357422;73929.44217930923 -data/ordinal-8/mds_katz_cen_2d.csv;divide_and_conquare;pngs/ordinal-8/mds_katz_cen_2d_daq;7.724917888641357;1021144.0946234891 -data/ordinal-8/mds_ged_blp_2d.csv;divide_and_conquare;pngs/ordinal-8/mds_ged_blp_2d_daq;7.7681756019592285;1538518.718644322 -data/size-7/mds_ged_blp_2d.csv;iterative;pngs/size-7/mds_ged_blp_2d_iter;8.088383197784424;65.75647719820557 -data/kk_swap_2d.csv;divide_and_conquare;pngs/kk_swap_2d_daq;8.175880908966064;866400.1412609525 -data/size-7/mds_katz_cen_2d.csv;iterative;pngs/size-7/mds_katz_cen_2d_iter;8.848550796508789;1643.4727505034082 -data/move-12/mds_katz_cen_2d.csv;global;pngs/move-12/mds_katz_cen_2d_glob;10.773242950439453;177495.51007542107 -data/move-12/mds_ged_blp_2d.csv;global;pngs/move-12/mds_ged_blp_2d_glob;10.972075462341309;130533.3413067115 -data/size-12/mds_sphr_2d.csv;global;pngs/size-12/mds_sphr_2d_glob;11.743406772613525;169267.85894578675 -data/size-12/pca_katz_cen_2d.csv;global;pngs/size-12/pca_katz_cen_2d_glob;12.404615640640259;26594.056113324517 -data/size-12/mds_ged_blp_2d.csv;global;pngs/size-12/mds_ged_blp_2d_glob;12.730867147445679;21397.7890441735 -data/size-12/mds_katz_cen_2d.csv;global;pngs/size-12/mds_katz_cen_2d_glob;13.032790899276733;213210.49551799012 -data/kamada_l1-mutual_attraction_2d.csv;global;pngs/kamada_l1-mutual_attraction_2d_glob;13.173516988754272;27413.613140118243 -data/ordinal-8/mds_ged_blp_2d.csv;global;pngs/ordinal-8/mds_ged_blp_2d_glob;13.613537311553955;534061.2131262219 -data/ordinal-8/mds_katz_cen_2d.csv;global;pngs/ordinal-8/mds_katz_cen_2d_glob;13.868390321731567;1441174.4113296345 -data/size-25/mds_katz_cen_2d.csv;iterative;pngs/size-25/mds_katz_cen_2d_iter;15.785457134246826;48845.93620245905 -data/size-12/mds_sphr_2d.csv;iterative;pngs/size-12/mds_sphr_2d_iter;17.351200819015503;194115.06523373764 -data/move-12/mds_katz_cen_2d.csv;iterative;pngs/move-12/mds_katz_cen_2d_iter;18.123055696487427;68039.38116287804 -data/move-12/mds_ged_blp_2d.csv;iterative;pngs/move-12/mds_ged_blp_2d_iter;18.7532639503479;40304.24336188106 -data/size-12/pca_katz_cen_2d.csv;iterative;pngs/size-12/pca_katz_cen_2d_iter;20.05500340461731;10253.880719607812 -data/ordinal-8/mds_ged_blp_2d.csv;iterative;pngs/ordinal-8/mds_ged_blp_2d_iter;20.372394323349;436079.6877560841 -data/size-12/mds_katz_cen_2d.csv;iterative;pngs/size-12/mds_katz_cen_2d_iter;20.75386667251587;68350.98334414039 -data/size-12/mds_ged_blp_2d.csv;iterative;pngs/size-12/mds_ged_blp_2d_iter;21.147250175476074;20119.598351578243 -data/kamada_l1-mutual_attraction_2d.csv;iterative;pngs/kamada_l1-mutual_attraction_2d_iter;21.926006078720093;40788.50478291098 -data/ordinal-8/mds_katz_cen_2d.csv;iterative;pngs/ordinal-8/mds_katz_cen_2d_iter;22.540043354034424;1538044.632888447 -data/kk_swap_2d.csv;global;pngs/kk_swap_2d_glob;29.72930359840393;222957.32087231716 -data/kk_swap_2d.csv;iterative;pngs/kk_swap_2d_iter;33.8276641368866;922493.3147662487 diff --git a/measurements/results_dual_annealing_main.csv b/measurements/results_dual_annealing_main.csv deleted file mode 100644 index 81536a3..0000000 --- a/measurements/results_dual_annealing_main.csv +++ /dev/null @@ -1,39 +0,0 @@ -source_data;config_id;out_data;time;sloss -data/kamada_l1-mutual_attraction_2d.csv;iterative;pngs/kamada_l1-mutual_attraction_2d_iter;3.404604434967041;130433.39783594105 -data/kk_swap_2d.csv;iterative;pngs/kk_swap_2d_iter;5.881477355957031;673295.354842008 -data/kamada_l1-mutual_attraction_2d.csv;divide_and_conquare;pngs/kamada_l1-mutual_attraction_2d_daq;6.70568585395813;7429.818748896911 -data/kk_swap_2d.csv;divide_and_conquare;pngs/kk_swap_2d_daq;16.175976514816284;477084.7445867601 -data/kamada_l1-mutual_attraction_2d.csv;global;pngs/kamada_l1-mutual_attraction_2d_glob;256.54160928726196;874.2432248202778 -data/kk_swap_2d.csv;global;pngs/kk_swap_2d_glob;1020.8485543727875;15728.877657993828 -data/size-12/mds_ged_blp_2d.csv;iterative;pngs/size-12/mds_ged_blp_2d_iter;2.8515031337738037;130165.92558687515 -data/size-12/mds_katz_cen_2d.csv;iterative;pngs/size-12/mds_katz_cen_2d_iter;2.7188987731933594;79201.05491691173 -data/size-12/mds_sphr_2d.csv;iterative;pngs/size-12/mds_sphr_2d_iter;2.322922468185425;116054.57166062418 -data/size-12/pca_katz_cen_2d.csv;iterative;pngs/size-12/pca_katz_cen_2d_iter;2.6099014282226562;67872.16744655804 -data/size-12/mds_ged_blp_2d.csv;divide_and_conquare;pngs/size-12/mds_ged_blp_2d_daq;8.137305974960327;123120.10966930128 -data/size-12/mds_katz_cen_2d.csv;divide_and_conquare;pngs/size-12/mds_katz_cen_2d_daq;8.07364296913147;26431.75551371656 -data/size-12/mds_sphr_2d.csv;divide_and_conquare;pngs/size-12/mds_sphr_2d_daq;11.33953332901001;250531.07406730423 -data/size-12/pca_katz_cen_2d.csv;divide_and_conquare;pngs/size-12/pca_katz_cen_2d_daq;6.136772394180298;176772.9786391399 -data/size-12/mds_ged_blp_2d.csv;global;pngs/size-12/mds_ged_blp_2d_glob;246.6624038219452;601.1994787356855 -data/size-12/mds_katz_cen_2d.csv;global;pngs/size-12/mds_katz_cen_2d_glob;254.99904441833496;1059.876251376534 -data/size-12/mds_sphr_2d.csv;global;pngs/size-12/mds_sphr_2d_glob;200.23205590248108;7154.013885343659 -data/size-12/pca_katz_cen_2d.csv;global;pngs/size-12/pca_katz_cen_2d_glob;243.54919123649597;280.12042943691387 -data/size-7/mds_ged_blp_2d.csv;iterative;pngs/size-7/mds_ged_blp_2d_iter;1.1984145641326904;63.98255172285508 -data/size-7/mds_katz_cen_2d.csv;iterative;pngs/size-7/mds_katz_cen_2d_iter;1.2173733711242676;1658.4802481948868 -data/size-7/mds_ged_blp_2d.csv;divide_and_conquare;pngs/size-7/mds_ged_blp_2d_daq;0.9829361438751221;44225.0901039249 -data/size-7/mds_katz_cen_2d.csv;divide_and_conquare;pngs/size-7/mds_katz_cen_2d_daq;1.5420277118682861;1675.4907506721443 -data/size-7/mds_ged_blp_2d.csv;global;pngs/size-7/mds_ged_blp_2d_glob;11.391646146774292;66.74940169738422 -data/size-7/mds_katz_cen_2d.csv;global;pngs/size-7/mds_katz_cen_2d_glob;11.166416883468628;1649.0335602330933 -data/size-25/mds_katz_cen_2d.csv;iterative;pngs/size-25/mds_katz_cen_2d_iter;2.0111160278320312;90443.3826990782 -data/size-25/mds_katz_cen_2d.csv;divide_and_conquare;pngs/size-25/mds_katz_cen_2d_daq;7.6365296840667725;901.6279337478097 -data/size-25/mds_katz_cen_2d.csv;global;pngs/size-25/mds_katz_cen_2d_glob;126.16071677207947;594.5596395743777 -data/ordinal-8/mds_ged_blp_2d.csv;iterative;pngs/ordinal-8/mds_ged_blp_2d_iter;3.138972759246826;672869.1563727881 -data/ordinal-8/mds_katz_cen_2d.csv;iterative;pngs/ordinal-8/mds_katz_cen_2d_iter;3.3423774242401123;1440447.8323471074 -data/ordinal-8/mds_ged_blp_2d.csv;divide_and_conquare;pngs/ordinal-8/mds_ged_blp_2d_daq;7.634075403213501;775019.6823843522 -data/ordinal-8/mds_ged_blp_2d.csv;global;pngs/ordinal-8/mds_ged_blp_2d_glob;300.61621284484863;58364.8521895436 -data/ordinal-8/mds_katz_cen_2d.csv;global;pngs/ordinal-8/mds_katz_cen_2d_glob;301.3691942691803;194286.08336639375 -data/move-12/mds_ged_blp_2d.csv;iterative;pngs/move-12/mds_ged_blp_2d_iter;2.4361183643341064;14743.311879047551 -data/move-12/mds_katz_cen_2d.csv;iterative;pngs/move-12/mds_katz_cen_2d_iter;2.197000503540039;40434.4789818718 -data/move-12/mds_ged_blp_2d.csv;divide_and_conquare;pngs/move-12/mds_ged_blp_2d_daq;11.405993223190308;53371.29057577166 -data/move-12/mds_katz_cen_2d.csv;divide_and_conquare;pngs/move-12/mds_katz_cen_2d_daq;7.5762834548950195;20206.15170289412 -data/move-12/mds_ged_blp_2d.csv;global;pngs/move-12/mds_ged_blp_2d_glob;198.5978877544403;341.3851186170304 -data/move-12/mds_katz_cen_2d.csv;global;pngs/move-12/mds_katz_cen_2d_glob;199.6726939678192;653.6996171135551 diff --git a/measurements/results_shgo.csv b/measurements/results_shgo.csv deleted file mode 100644 index 89dc171..0000000 --- a/measurements/results_shgo.csv +++ /dev/null @@ -1,22 +0,0 @@ -source_data;config_id;out_data;time;sloss -data/size-7/mds_katz_cen_2d.csv;iterative;pngs/size-7/mds_katz_cen_2d_iter;3.6480188369750977;96535.38096444015 -data/move-12/mds_katz_cen_2d.csv;iterative;pngs/move-12/mds_katz_cen_2d_iter;3.6772310733795166;2857693.6077407636 -data/size-7/mds_ged_blp_2d.csv;divide_and_conquare;pngs/size-7/mds_ged_blp_2d_daq;3.667672872543335;44225.0901039249 -data/size-7/mds_katz_cen_2d.csv;divide_and_conquare;pngs/size-7/mds_katz_cen_2d_daq;3.871701955795288;26006.65314809139 -data/size-7/mds_ged_blp_2d.csv;iterative;pngs/size-7/mds_ged_blp_2d_iter;4.3837809562683105;22824.61494104163 -data/size-25/mds_katz_cen_2d.csv;iterative;pngs/size-25/mds_katz_cen_2d_iter;5.1098473072052;2403777.1789137395 -data/size-12/mds_ged_blp_2d.csv;iterative;pngs/size-12/mds_ged_blp_2d_iter;5.430412292480469;1234464.3662050788 -data/move-12/mds_ged_blp_2d.csv;iterative;pngs/move-12/mds_ged_blp_2d_iter;6.0681915283203125;2251258.929852118 -data/size-12/mds_katz_cen_2d.csv;iterative;pngs/size-12/mds_katz_cen_2d_iter;6.209588289260864;2163019.000337166 -data/size-12/mds_sphr_2d.csv;iterative;pngs/size-12/mds_sphr_2d_iter;6.242920637130737;4041935.7753915754 -data/size-12/pca_katz_cen_2d.csv;iterative;pngs/size-12/pca_katz_cen_2d_iter;6.665961265563965;2342218.0183324236 -data/ordinal-8/mds_katz_cen_2d.csv;iterative;pngs/ordinal-8/mds_katz_cen_2d_iter;6.694362640380859;6813362.807356826 -data/kamada_l1-mutual_attraction_2d.csv;iterative;pngs/kamada_l1-mutual_attraction_2d_iter;7.420320272445679;1104944.5284451414 -data/ordinal-8/mds_ged_blp_2d.csv;iterative;pngs/ordinal-8/mds_ged_blp_2d_iter;8.70199203491211;1905352.9490742357 -data/kk_swap_2d.csv;iterative;pngs/kk_swap_2d_iter;10.383253574371338;5477767.28988891 -data/ordinal-8/mds_ged_blp_2d.csv;divide_and_conquare;pngs/ordinal-8/mds_ged_blp_2d_daq;42.11751937866211;1743323.9422735807 -data/kamada_l1-mutual_attraction_2d.csv;divide_and_conquare;pngs/kamada_l1-mutual_attraction_2d_daq;24033.610261678696;829971.3197557041 -data/size-12/mds_ged_blp_2d.csv;divide_and_conquare;pngs/size-12/mds_ged_blp_2d_daq;24197.222458600998;2282643.0814313856 -data/size-12/pca_katz_cen_2d.csv;divide_and_conquare;pngs/size-12/pca_katz_cen_2d_daq;24261.66894721985;1103575.2505690798 -data/size-12/mds_katz_cen_2d.csv;divide_and_conquare;pngs/size-12/mds_katz_cen_2d_daq;24476.398560762405;1042816.4372261723 -data/kk_swap_2d.csv;divide_and_conquare;pngs/kk_swap_2d_daq;43436.95921039581;4123864.532954204 diff --git a/parallel_testing.sh b/parallel_testing.sh deleted file mode 100755 index 730c50e..0000000 --- a/parallel_testing.sh +++ /dev/null @@ -1,63 +0,0 @@ -#!/bin/bash - -pythonbin=./.venv/bin/python3 -script_path=./parallel_tests.py - -echo "source_data;config_id;out_data;time" > ./pngs/results.csv - -$pythonbin $script_path data/kamada_l1-mutual_attraction_2d.csv pngs/kamada_l1-mutual_attraction_2d_iter iterative & \ -$pythonbin $script_path data/kk_swap_2d.csv pngs/kk_swap_2d_iter iterative & \ -\ -$pythonbin $script_path data/kamada_l1-mutual_attraction_2d.csv pngs/kamada_l1-mutual_attraction_2d_daq divide_and_conquare & \ -$pythonbin $script_path data/kk_swap_2d.csv pngs/kk_swap_2d_daq divide_and_conquare & \ -\ -$pythonbin $script_path data/kamada_l1-mutual_attraction_2d.csv pngs/kamada_l1-mutual_attraction_2d_glob global & \ -$pythonbin $script_path data/kk_swap_2d.csv pngs/kk_swap_2d_glob global & \ -\ -$pythonbin $script_path data/size-12/mds_ged_blp_2d.csv pngs/size-12/mds_ged_blp_2d_iter iterative & \ -$pythonbin $script_path data/size-12/mds_katz_cen_2d.csv pngs/size-12/mds_katz_cen_2d_iter iterative & \ -$pythonbin $script_path data/size-12/mds_sphr_2d.csv pngs/size-12/mds_sphr_2d_iter iterative & \ -$pythonbin $script_path data/size-12/pca_katz_cen_2d.csv pngs/size-12/pca_katz_cen_2d_iter iterative & \ -\ -$pythonbin $script_path data/size-12/mds_ged_blp_2d.csv pngs/size-12/mds_ged_blp_2d_daq divide_and_conquare & \ -$pythonbin $script_path data/size-12/mds_katz_cen_2d.csv pngs/size-12/mds_katz_cen_2d_daq divide_and_conquare & \ -$pythonbin $script_path data/size-12/mds_sphr_2d.csv pngs/size-12/mds_sphr_2d_daq divide_and_conquare & \ -$pythonbin $script_path data/size-12/pca_katz_cen_2d.csv pngs/size-12/pca_katz_cen_2d_daq divide_and_conquare & \ -\ -$pythonbin $script_path data/size-12/mds_ged_blp_2d.csv pngs/size-12/mds_ged_blp_2d_glob global & \ -$pythonbin $script_path data/size-12/mds_katz_cen_2d.csv pngs/size-12/mds_katz_cen_2d_glob global & \ -$pythonbin $script_path data/size-12/mds_sphr_2d.csv pngs/size-12/mds_sphr_2d_glob global & \ -$pythonbin $script_path data/size-12/pca_katz_cen_2d.csv pngs/size-12/pca_katz_cen_2d_glob global & \ -\ -$pythonbin $script_path data/size-7/mds_ged_blp_2d.csv pngs/size-7/mds_ged_blp_2d_iter iterative & \ -$pythonbin $script_path data/size-7/mds_katz_cen_2d.csv pngs/size-7/mds_katz_cen_2d_iter iterative & \ -\ -$pythonbin $script_path data/size-7/mds_ged_blp_2d.csv pngs/size-7/mds_ged_blp_2d_daq divide_and_conquare & \ -$pythonbin $script_path data/size-7/mds_katz_cen_2d.csv pngs/size-7/mds_katz_cen_2d_daq divide_and_conquare & \ -\ -$pythonbin $script_path data/size-7/mds_ged_blp_2d.csv pngs/size-7/mds_ged_blp_2d_glob global & \ -$pythonbin $script_path data/size-7/mds_katz_cen_2d.csv pngs/size-7/mds_katz_cen_2d_glob global & \ -\ -$pythonbin $script_path data/size-25/mds_katz_cen_2d.csv pngs/size-25/mds_katz_cen_2d_iter iterative & \ -\ -$pythonbin $script_path data/size-25/mds_katz_cen_2d.csv pngs/size-25/mds_katz_cen_2d_daq divide_and_conquare & \ -\ -$pythonbin $script_path data/size-25/mds_katz_cen_2d.csv pngs/size-25/mds_katz_cen_2d_glob global & \ -\ -$pythonbin $script_path data/ordinal-8/mds_ged_blp_2d.csv pngs/ordinal-8/mds_ged_blp_2d_iter iterative & \ -$pythonbin $script_path data/ordinal-8/mds_katz_cen_2d.csv pngs/ordinal-8/mds_katz_cen_2d_iter iterative & \ -\ -$pythonbin $script_path data/ordinal-8/mds_ged_blp_2d.csv pngs/ordinal-8/mds_ged_blp_2d_daq divide_and_conquare & \ -$pythonbin $script_path data/ordinal-8/mds_katz_cen_2d.csv pngs/ordinal-8/mds_katz_cen_2d_daq divide_and_conquare & \ -\ -$pythonbin $script_path data/ordinal-8/mds_ged_blp_2d.csv pngs/ordinal-8/mds_ged_blp_2d_glob global & \ -$pythonbin $script_path data/ordinal-8/mds_katz_cen_2d.csv pngs/ordinal-8/mds_katz_cen_2d_glob global & \ -\ -$pythonbin $script_path data/move-12/mds_ged_blp_2d.csv pngs/move-12/mds_ged_blp_2d_iter iterative & \ -$pythonbin $script_path data/move-12/mds_katz_cen_2d.csv pngs/move-12/mds_katz_cen_2d_iter iterative & \ -\ -$pythonbin $script_path data/move-12/mds_ged_blp_2d.csv pngs/move-12/mds_ged_blp_2d_daq divide_and_conquare & \ -$pythonbin $script_path data/move-12/mds_katz_cen_2d.csv pngs/move-12/mds_katz_cen_2d_daq divide_and_conquare & \ -\ -$pythonbin $script_path data/move-12/mds_ged_blp_2d.csv pngs/move-12/mds_ged_blp_2d_glob global & \ -$pythonbin $script_path data/move-12/mds_katz_cen_2d.csv pngs/move-12/mds_katz_cen_2d_glob global & \ diff --git a/parallel_tests.py b/parallel_tests.py deleted file mode 100644 index d51c25f..0000000 --- a/parallel_tests.py +++ /dev/null @@ -1,21 +0,0 @@ -from src.main import draw_maps, draw_maps_editor - -import time -import argparse -import fcntl - -parser = argparse.ArgumentParser() -parser.add_argument("source_data", type=str, help="csv file path with data") -parser.add_argument("out_path", type=str, help="path where to save output") -parser.add_argument("config", type=str, help="config id") - -args = parser.parse_args() - -s = time.time() -draw_maps(args.source_data, args.out_path, config_id=args.config) -e = time.time() -with open("pngs/results.csv", "a") as f: - fcntl.flock(f, fcntl.LOCK_EX) - f.write(f"{args.source_data};{args.config};{args.out_path};{e-s}\n") - fcntl.flock(f, fcntl.LOCK_UN) -print(f"{e-s}") diff --git a/pngs/kamada_l1-mutual_attraction_2d_daq.png b/pngs/kamada_l1-mutual_attraction_2d_daq.png deleted file mode 100644 index fedcf23..0000000 Binary files a/pngs/kamada_l1-mutual_attraction_2d_daq.png and /dev/null differ diff --git a/pngs/kamada_l1-mutual_attraction_2d_glob.png b/pngs/kamada_l1-mutual_attraction_2d_glob.png deleted file mode 100644 index e4ecf8a..0000000 Binary files a/pngs/kamada_l1-mutual_attraction_2d_glob.png and /dev/null differ diff --git a/pngs/kamada_l1-mutual_attraction_2d_iter.png b/pngs/kamada_l1-mutual_attraction_2d_iter.png deleted file mode 100644 index 88901dd..0000000 Binary files a/pngs/kamada_l1-mutual_attraction_2d_iter.png and /dev/null differ diff --git a/pngs/kk_swap_2d_daq.png b/pngs/kk_swap_2d_daq.png deleted file mode 100644 index 0d24684..0000000 Binary files a/pngs/kk_swap_2d_daq.png and /dev/null differ diff --git a/pngs/kk_swap_2d_glob.png b/pngs/kk_swap_2d_glob.png deleted file mode 100644 index 5f82009..0000000 Binary files a/pngs/kk_swap_2d_glob.png and /dev/null differ diff --git a/pngs/kk_swap_2d_iter.png b/pngs/kk_swap_2d_iter.png deleted file mode 100644 index 9561302..0000000 Binary files a/pngs/kk_swap_2d_iter.png and /dev/null differ diff --git a/pngs/move-12/mds_ged_blp_2d_daq.png b/pngs/move-12/mds_ged_blp_2d_daq.png deleted file mode 100644 index 6b0e219..0000000 Binary files a/pngs/move-12/mds_ged_blp_2d_daq.png and /dev/null differ diff --git a/pngs/move-12/mds_ged_blp_2d_glob.png b/pngs/move-12/mds_ged_blp_2d_glob.png deleted file mode 100644 index 3eb5d9e..0000000 Binary files a/pngs/move-12/mds_ged_blp_2d_glob.png and /dev/null differ diff --git a/pngs/move-12/mds_ged_blp_2d_iter.png b/pngs/move-12/mds_ged_blp_2d_iter.png deleted file mode 100644 index d54f1d3..0000000 Binary files a/pngs/move-12/mds_ged_blp_2d_iter.png and /dev/null differ diff --git a/pngs/move-12/mds_katz_cen_2d_daq.png b/pngs/move-12/mds_katz_cen_2d_daq.png deleted file mode 100644 index 7ca064a..0000000 Binary files a/pngs/move-12/mds_katz_cen_2d_daq.png and /dev/null differ diff --git a/pngs/move-12/mds_katz_cen_2d_glob.png b/pngs/move-12/mds_katz_cen_2d_glob.png deleted file mode 100644 index 8626d2f..0000000 Binary files a/pngs/move-12/mds_katz_cen_2d_glob.png and /dev/null differ diff --git a/pngs/move-12/mds_katz_cen_2d_iter.png b/pngs/move-12/mds_katz_cen_2d_iter.png deleted file mode 100644 index 09eaf96..0000000 Binary files a/pngs/move-12/mds_katz_cen_2d_iter.png and /dev/null differ diff --git a/pngs/ordinal-8/mds_ged_blp_2d_daq.png b/pngs/ordinal-8/mds_ged_blp_2d_daq.png deleted file mode 100644 index 0573909..0000000 Binary files a/pngs/ordinal-8/mds_ged_blp_2d_daq.png and /dev/null differ diff --git a/pngs/ordinal-8/mds_ged_blp_2d_glob.png b/pngs/ordinal-8/mds_ged_blp_2d_glob.png deleted file mode 100644 index 3f8daed..0000000 Binary files a/pngs/ordinal-8/mds_ged_blp_2d_glob.png and /dev/null differ diff --git a/pngs/ordinal-8/mds_ged_blp_2d_iter.png b/pngs/ordinal-8/mds_ged_blp_2d_iter.png deleted file mode 100644 index a4fc557..0000000 Binary files a/pngs/ordinal-8/mds_ged_blp_2d_iter.png and /dev/null differ diff --git a/pngs/ordinal-8/mds_katz_cen_2d_daq.png b/pngs/ordinal-8/mds_katz_cen_2d_daq.png deleted file mode 100644 index 4a5d7e3..0000000 Binary files a/pngs/ordinal-8/mds_katz_cen_2d_daq.png and /dev/null differ diff --git a/pngs/ordinal-8/mds_katz_cen_2d_glob.png b/pngs/ordinal-8/mds_katz_cen_2d_glob.png deleted file mode 100644 index 2666918..0000000 Binary files a/pngs/ordinal-8/mds_katz_cen_2d_glob.png and /dev/null differ diff --git a/pngs/ordinal-8/mds_katz_cen_2d_iter.png b/pngs/ordinal-8/mds_katz_cen_2d_iter.png deleted file mode 100644 index 1945826..0000000 Binary files a/pngs/ordinal-8/mds_katz_cen_2d_iter.png and /dev/null differ diff --git a/pngs/results.csv b/pngs/results.csv deleted file mode 100644 index 54cbed1..0000000 --- a/pngs/results.csv +++ /dev/null @@ -1,40 +0,0 @@ -source_data;config_id;out_data;time -data/size-7/mds_ged_blp_2d.csv;divide_and_conquare;pngs/size-7/mds_ged_blp_2d_daq;8.491858720779419 -data/size-7/mds_ged_blp_2d.csv;iterative;pngs/size-7/mds_ged_blp_2d_iter;11.2904691696167 -data/size-7/mds_katz_cen_2d.csv;iterative;pngs/size-7/mds_katz_cen_2d_iter;12.140823364257812 -data/size-7/mds_katz_cen_2d.csv;divide_and_conquare;pngs/size-7/mds_katz_cen_2d_daq;13.591572046279907 -data/size-25/mds_katz_cen_2d.csv;iterative;pngs/size-25/mds_katz_cen_2d_iter;17.258748531341553 -data/move-12/mds_ged_blp_2d.csv;iterative;pngs/move-12/mds_ged_blp_2d_iter;20.5958194732666 -data/move-12/mds_katz_cen_2d.csv;iterative;pngs/move-12/mds_katz_cen_2d_iter;20.378464460372925 -data/size-12/pca_katz_cen_2d.csv;iterative;pngs/size-12/pca_katz_cen_2d_iter;24.470490217208862 -data/ordinal-8/mds_katz_cen_2d.csv;iterative;pngs/ordinal-8/mds_katz_cen_2d_iter;26.834951400756836 -data/ordinal-8/mds_ged_blp_2d.csv;iterative;pngs/ordinal-8/mds_ged_blp_2d_iter;26.967196464538574 -data/size-12/mds_sphr_2d.csv;iterative;pngs/size-12/mds_sphr_2d_iter;29.00352191925049 -data/size-12/mds_ged_blp_2d.csv;iterative;pngs/size-12/mds_ged_blp_2d_iter;31.758727073669434 -data/size-12/mds_katz_cen_2d.csv;iterative;pngs/size-12/mds_katz_cen_2d_iter;35.389007329940796 -data/size-12/pca_katz_cen_2d.csv;divide_and_conquare;pngs/size-12/pca_katz_cen_2d_daq;43.199164152145386 -data/kamada_l1-mutual_attraction_2d.csv;iterative;pngs/kamada_l1-mutual_attraction_2d_iter;43.57230496406555 -data/kk_swap_2d.csv;iterative;pngs/kk_swap_2d_iter;47.66466760635376 -data/size-25/mds_katz_cen_2d.csv;divide_and_conquare;pngs/size-25/mds_katz_cen_2d_daq;48.45185351371765 -data/move-12/mds_katz_cen_2d.csv;divide_and_conquare;pngs/move-12/mds_katz_cen_2d_daq;49.163028955459595 -data/ordinal-8/mds_ged_blp_2d.csv;divide_and_conquare;pngs/ordinal-8/mds_ged_blp_2d_daq;52.28836727142334 -data/size-7/mds_katz_cen_2d.csv;global;pngs/size-7/mds_katz_cen_2d_glob;65.26093411445618 -data/move-12/mds_ged_blp_2d.csv;divide_and_conquare;pngs/move-12/mds_ged_blp_2d_daq;65.8991334438324 -data/size-7/mds_ged_blp_2d.csv;global;pngs/size-7/mds_ged_blp_2d_glob;66.47623252868652 -data/size-12/mds_ged_blp_2d.csv;divide_and_conquare;pngs/size-12/mds_ged_blp_2d_daq;74.55809664726257 -data/ordinal-8/mds_katz_cen_2d.csv;divide_and_conquare;pngs/ordinal-8/mds_katz_cen_2d_daq;99.11529302597046 -data/kk_swap_2d.csv;divide_and_conquare;pngs/kk_swap_2d_daq;131.14387488365173 -data/kamada_l1-mutual_attraction_2d.csv;divide_and_conquare;pngs/kamada_l1-mutual_attraction_2d_daq;132.44409894943237 -data/size-12/mds_katz_cen_2d.csv;divide_and_conquare;pngs/size-12/mds_katz_cen_2d_daq;139.29744911193848 -data/size-12/mds_sphr_2d.csv;divide_and_conquare;pngs/size-12/mds_sphr_2d_daq;187.24596977233887 -data/size-25/mds_katz_cen_2d.csv;global;pngs/size-25/mds_katz_cen_2d_glob;351.9469747543335 -data/move-12/mds_katz_cen_2d.csv;global;pngs/move-12/mds_katz_cen_2d_glob;504.0785162448883 -data/move-12/mds_ged_blp_2d.csv;global;pngs/move-12/mds_ged_blp_2d_glob;508.895316362381 -data/size-12/pca_katz_cen_2d.csv;global;pngs/size-12/pca_katz_cen_2d_glob;577.1118686199188 -data/ordinal-8/mds_ged_blp_2d.csv;global;pngs/ordinal-8/mds_ged_blp_2d_glob;662.5907933712006 -data/ordinal-8/mds_katz_cen_2d.csv;global;pngs/ordinal-8/mds_katz_cen_2d_glob;666.899747133255 -data/size-12/mds_sphr_2d.csv;global;pngs/size-12/mds_sphr_2d_glob;960.115434885025 -data/size-12/mds_ged_blp_2d.csv;global;pngs/size-12/mds_ged_blp_2d_glob;1106.9387543201447 -data/size-12/mds_katz_cen_2d.csv;global;pngs/size-12/mds_katz_cen_2d_glob;1166.7800688743591 -data/kamada_l1-mutual_attraction_2d.csv;global;pngs/kamada_l1-mutual_attraction_2d_glob;1542.4368319511414 -data/kk_swap_2d.csv;global;pngs/kk_swap_2d_glob;2140.9278037548065 diff --git a/pngs/size-12/mds_ged_blp_2d_daq.png b/pngs/size-12/mds_ged_blp_2d_daq.png deleted file mode 100644 index 1323ece..0000000 Binary files a/pngs/size-12/mds_ged_blp_2d_daq.png and /dev/null differ diff --git a/pngs/size-12/mds_ged_blp_2d_glob.png b/pngs/size-12/mds_ged_blp_2d_glob.png deleted file mode 100644 index a2ac1a1..0000000 Binary files a/pngs/size-12/mds_ged_blp_2d_glob.png and /dev/null differ diff --git a/pngs/size-12/mds_ged_blp_2d_iter.png b/pngs/size-12/mds_ged_blp_2d_iter.png deleted file mode 100644 index 8492db5..0000000 Binary files a/pngs/size-12/mds_ged_blp_2d_iter.png and /dev/null differ diff --git a/pngs/size-12/mds_katz_cen_2d_daq.png b/pngs/size-12/mds_katz_cen_2d_daq.png deleted file mode 100644 index f73ecf9..0000000 Binary files a/pngs/size-12/mds_katz_cen_2d_daq.png and /dev/null differ diff --git a/pngs/size-12/mds_katz_cen_2d_glob.png b/pngs/size-12/mds_katz_cen_2d_glob.png deleted file mode 100644 index 60c7ff0..0000000 Binary files a/pngs/size-12/mds_katz_cen_2d_glob.png and /dev/null differ diff --git a/pngs/size-12/mds_katz_cen_2d_iter.png b/pngs/size-12/mds_katz_cen_2d_iter.png deleted file mode 100644 index 0c9acb8..0000000 Binary files a/pngs/size-12/mds_katz_cen_2d_iter.png and /dev/null differ diff --git a/pngs/size-12/mds_sphr_2d_daq.png b/pngs/size-12/mds_sphr_2d_daq.png deleted file mode 100644 index 7768f43..0000000 Binary files a/pngs/size-12/mds_sphr_2d_daq.png and /dev/null differ diff --git a/pngs/size-12/mds_sphr_2d_glob.png b/pngs/size-12/mds_sphr_2d_glob.png deleted file mode 100644 index afb98c3..0000000 Binary files a/pngs/size-12/mds_sphr_2d_glob.png and /dev/null differ diff --git a/pngs/size-12/mds_sphr_2d_iter.png b/pngs/size-12/mds_sphr_2d_iter.png deleted file mode 100644 index 9d5277b..0000000 Binary files a/pngs/size-12/mds_sphr_2d_iter.png and /dev/null differ diff --git a/pngs/size-12/pca_katz_cen_2d_daq.png b/pngs/size-12/pca_katz_cen_2d_daq.png deleted file mode 100644 index 80d8582..0000000 Binary files a/pngs/size-12/pca_katz_cen_2d_daq.png and /dev/null differ diff --git a/pngs/size-12/pca_katz_cen_2d_glob.png b/pngs/size-12/pca_katz_cen_2d_glob.png deleted file mode 100644 index 549df89..0000000 Binary files a/pngs/size-12/pca_katz_cen_2d_glob.png and /dev/null differ diff --git a/pngs/size-12/pca_katz_cen_2d_iter.png b/pngs/size-12/pca_katz_cen_2d_iter.png deleted file mode 100644 index 2b269e7..0000000 Binary files a/pngs/size-12/pca_katz_cen_2d_iter.png and /dev/null differ diff --git a/pngs/size-25/mds_katz_cen_2d_daq.png b/pngs/size-25/mds_katz_cen_2d_daq.png deleted file mode 100644 index 40731bd..0000000 Binary files a/pngs/size-25/mds_katz_cen_2d_daq.png and /dev/null differ diff --git a/pngs/size-25/mds_katz_cen_2d_glob.png b/pngs/size-25/mds_katz_cen_2d_glob.png deleted file mode 100644 index e7a38c7..0000000 Binary files a/pngs/size-25/mds_katz_cen_2d_glob.png and /dev/null differ diff --git a/pngs/size-25/mds_katz_cen_2d_iter.png b/pngs/size-25/mds_katz_cen_2d_iter.png deleted file mode 100644 index 5b6d260..0000000 Binary files a/pngs/size-25/mds_katz_cen_2d_iter.png and /dev/null differ diff --git a/pngs/size-7/mds_ged_blp_2d_daq.png b/pngs/size-7/mds_ged_blp_2d_daq.png deleted file mode 100644 index f666ac1..0000000 Binary files a/pngs/size-7/mds_ged_blp_2d_daq.png and /dev/null differ diff --git a/pngs/size-7/mds_ged_blp_2d_glob.png b/pngs/size-7/mds_ged_blp_2d_glob.png deleted file mode 100644 index c0ba5bc..0000000 Binary files a/pngs/size-7/mds_ged_blp_2d_glob.png and /dev/null differ diff --git a/pngs/size-7/mds_ged_blp_2d_iter.png b/pngs/size-7/mds_ged_blp_2d_iter.png deleted file mode 100644 index 717c108..0000000 Binary files a/pngs/size-7/mds_ged_blp_2d_iter.png and /dev/null differ diff --git a/pngs/size-7/mds_katz_cen_2d_daq.png b/pngs/size-7/mds_katz_cen_2d_daq.png deleted file mode 100644 index 7369c39..0000000 Binary files a/pngs/size-7/mds_katz_cen_2d_daq.png and /dev/null differ diff --git a/pngs/size-7/mds_katz_cen_2d_glob.png b/pngs/size-7/mds_katz_cen_2d_glob.png deleted file mode 100644 index 2c5ff95..0000000 Binary files a/pngs/size-7/mds_katz_cen_2d_glob.png and /dev/null differ diff --git a/pngs/size-7/mds_katz_cen_2d_iter.png b/pngs/size-7/mds_katz_cen_2d_iter.png deleted file mode 100644 index d7fbe9b..0000000 Binary files a/pngs/size-7/mds_katz_cen_2d_iter.png and /dev/null differ diff --git a/pngs/smaller_data_daq.png b/pngs/smaller_data_daq.png deleted file mode 100644 index b7cd6e3..0000000 Binary files a/pngs/smaller_data_daq.png and /dev/null differ diff --git a/pngs/smaller_data_iter.png b/pngs/smaller_data_iter.png deleted file mode 100644 index a367555..0000000 Binary files a/pngs/smaller_data_iter.png and /dev/null differ diff --git a/src/config.yaml b/src/config.yaml index f9ab17a..ca84ebe 100644 --- a/src/config.yaml +++ b/src/config.yaml @@ -1,5 +1,6 @@ global: generate_hulls: True + dpi: 300 editor: # initial frame size (the data is normalized to -100, 100 on wider axis) diff --git a/src/editor/artists.py b/src/editor/artists.py index 4da0741..0f79347 100644 --- a/src/editor/artists.py +++ b/src/editor/artists.py @@ -477,7 +477,6 @@ def __init__(self, ax: Axes, sid: str, polygon: List[Tuple[float, float]] | None # hull line artists if hull_view: - print("JAK") self.hull_lines: dict[int, HullLineArtist] = {} for hull_line_id in self.state.get_hull_hull_line(self.id): x1, y1, x2, y2 = self.state.get_hull_line_points(self.id, hull_line_id) diff --git a/src/editor/backend_customs.py b/src/editor/backend_customs.py index cfd7864..25ca960 100644 --- a/src/editor/backend_customs.py +++ b/src/editor/backend_customs.py @@ -7,6 +7,7 @@ import tkinter from .state import * +from ..configuration import Configuration class RefreshEvent(Event): @@ -173,7 +174,7 @@ def new_save_figure(self, *args): try: pax, pfig = SaveLoadPltLinker.get_ax_fig() bbox = pax.get_tightbbox().transformed(pfig.dpi_scale_trans.inverted()) - self.canvas.figure.savefig(fname, bbox_inches=bbox, pad_inches=0) + self.canvas.figure.savefig(fname, bbox_inches=bbox, pad_inches=0, dpi=Configuration['global']['dpi']) except Exception as e: tkinter.messagebox.showerror("Error saving file", str(e)) diff --git a/src/editor/state.py b/src/editor/state.py index f27c436..6ea7aa3 100644 --- a/src/editor/state.py +++ b/src/editor/state.py @@ -243,7 +243,6 @@ def redefine_hull(self, hull_name: str): hull_resources = self.data['hulls_data']['hulls'][hull_name] del self.data['hulls_data']['hulls'][hull_name] - print(hull_resources['artist']) self.data['hulls_data']['hulls'][hull_name] = { "cords": hull_resources["polygon_points"], "line_cords": hull_resources["polygon_lines"], diff --git a/src/editor/view_manager.py b/src/editor/view_manager.py index 8935ee2..d77218e 100644 --- a/src/editor/view_manager.py +++ b/src/editor/view_manager.py @@ -405,7 +405,6 @@ def change_view(self, view_id: ViewsEnum, *args, **kwargs): self.hide() self.vm.get_view(view_id).draw(*args, **kwargs) e = time.time() - print(f"{e-s}s") class ViewElement(ABC, StateLinker): diff --git a/src/editor/views/clusters_view.py b/src/editor/views/clusters_view.py index 12961bb..8eaa18c 100644 --- a/src/editor/views/clusters_view.py +++ b/src/editor/views/clusters_view.py @@ -88,14 +88,6 @@ def reset_clusters(self): #todo really ugly, gotta clean up later artist.hide() if self.hulls_off: self.vm.list_manager.check_list.hide() - # todo doesnt work cause dunno how to use Hull Artist - # the problem is that I remove only LineCollections, but when using algorithm I use - # self.state.set_hull_to_undraw(cluster_name) - # self.state.set_hull_to_change(new_cluster_name, self.state.get_cluster(new_cluster_name)) - # which presumably smites the original hulls from existance, after which HullArtist.hull doesnt work - - # what I would want is to be able to remove all hull artist when reseting and recalulate them again - # unless it takes too much time ofc def remove_point(self): if self.picked_item: diff --git a/src/editor/views/hulls_view.py b/src/editor/views/hulls_view.py index dc681a6..4dc2392 100644 --- a/src/editor/views/hulls_view.py +++ b/src/editor/views/hulls_view.py @@ -56,7 +56,6 @@ def draw(self, *args, **kwargs) -> None: self.vm.ax.set_ylim(df['y'].min() - 10, df['y'].max() + 10) not_visible_hull_names = set(self.state.data['hulls_data']['hulls'].keys()).difference(set(self.vm.list_manager.get_only_active())) - print(f"|not_visible_hull_names|: {not_visible_hull_names}") # remove current hulls for child in self.vm.ax.get_children(): if type(child) is LineCollection: @@ -141,7 +140,6 @@ def pick_event(self, event: PickEvent) -> None: def press_event(self, event: MouseEvent) -> None: logging.info(f"""{self.__class__} POS: {event.xdata}, {event.ydata}""") - print(event) if event.inaxes != self.vm.ax: return @@ -199,7 +197,6 @@ def search_for_hull_name_in_hole(self, point: tuple[float, float], _hull_name: s for hull_name in hulls_name: cords = self.state.get_hole_in_hulls(hull_name) - print(f"CORDS: {cords}") if _hull_name != "" and _hull_name != hull_name: continue for cord in cords: @@ -245,7 +242,6 @@ def calculate_new_hull(self): try: interpolated_points = interpolate_points(self.points_to_add + [self.points_to_add[0]]) except TypeError as e: - print(f"|ERROR| {e}") for i, pointer_point in enumerate(self.pointer_points): pointer_point.remove() @@ -300,12 +296,9 @@ def calculate_new_hull(self): line_start_index = -1 line_end_index = -1 - print(point_1, point_2) - print(f"IDX: {idx_1} {idx_2}") try: interpolated_points = interpolate_points(self.points_to_add[1:-1]) except TypeError as e: - print(f"|ERROR| {e}") for i, pointer_point in enumerate(self.pointer_points): pointer_point.remove() @@ -502,7 +495,6 @@ def hull_name_submit(self, nname) -> None: if self.picked_item is None: return if nname != "": - print(f"nname: {nname}") plt.draw() def spread_size_update(self) -> int: diff --git a/src/generator/hull_generator.py b/src/generator/hull_generator.py index 2f14f87..1c18f99 100644 --- a/src/generator/hull_generator.py +++ b/src/generator/hull_generator.py @@ -135,24 +135,14 @@ def handle_corners_points(points, default_points_dict, num_of_points=10): < distance(current_point, points_union[i]) ): - # if points_union[i] in next_points_array: second_point = last_point last_point = points_union[i] - - # calculated_angle = calculate_angle(current_point, last_point, second_point) - # print(calculated_angle) current_point = last_point if default_points_dict[(current_point[0], current_point[1])] not in visited_points.keys(): visited_points[default_points_dict[(current_point[0], current_point[1])]] = 1 - # print(f"MOCNE COS {default_points_dict[(current_point[0], current_point[1])]}") - # print(current_point) if i_array > num_of_sets + 2: break - - # if np.abs(calculated_angle) < 20: - # continue - if current_point in current_points_array: straight_points_list[1] += 1 @@ -174,7 +164,6 @@ def handle_corners_points(points, default_points_dict, num_of_points=10): new_points.append(current_points_array) if after_curve: - # print(f"JAK TO TAK {default_points_dict[(current_point[0], current_point[1])]}") _reset_dict(visited_points) after_curve = False @@ -193,7 +182,7 @@ def handle_corners_points(points, default_points_dict, num_of_points=10): def create_new_circuit(points, dict_circuit_points, dict_main_points): idxes = concave_hull_indexes( np.array(points)[:, :2], - concavity=2, # TODO: check other numbers for parameter + concavity=2, length_threshold=0, ) @@ -491,12 +480,6 @@ def join_closest_points(points, circle_points_to_main, main_points_to_circle, di return new_points def join_closest_points_copy(points, circle_points_to_main, main_points_to_circle, dist, segment_length): - - - # empty_sets = True - # not_same_points = True - # points_to_join = [] - points_transform = [] new_points = [] visited_points = set() @@ -540,19 +523,11 @@ def join_closest_points_copy(points, circle_points_to_main, main_points_to_circl ) _idx_points = [points_transform[idxes[j]] for j in range(len(idxes))] - # _idx_points = make_dense_points( - # _idx_points, - # segment_length=segment_length, - # ) new_points.append(_idx_points) return new_points - - - - def calc_hull( data: dict, circle_radious: float, points_in_circle: int, segment_length: int @@ -565,12 +540,9 @@ def calc_hull( hulls[i] = {} hulls[i]["name"] = hull_name - print(hull_name) x = deepcopy(data[hull_name]["x"]) y = deepcopy(data[hull_name]["y"]) - # x = np.repeat(x, 2) - # y = np.repeat(y, 2) hulls[i]["cluster_points"] = {"x": x, "y": y} points_transform = np.hstack( @@ -580,12 +552,6 @@ def calc_hull( ) ) - # try: - # distances = pdist(np.unique(points_transform, axis=0)) - # print(f"DISTANCES {np.min(distances)}") - # except Exception: - # pass - points_transform = np.unique(points_transform, axis=0) idxes = concave_hull_indexes( @@ -621,8 +587,6 @@ def calc_hull( hulls[i]["interpolate_points"] = _idx_points - # _idx_points = interpolate_points(_idx_points[1:], 1000) - polygon_lines = [ ( _idx_points[j % len(_idx_points)], @@ -630,7 +594,6 @@ def calc_hull( ) for j in range(len(_idx_points)) ] - print(len(polygon_lines)) hulls[i]["polygon_lines"] = polygon_lines return hulls @@ -662,10 +625,7 @@ def calc_one_hull(hull_name, x = np.array(points["x"]) y = np.array(points["y"]) - # x = np.repeat(x, 2) - # y = np.repeat(y, 2) hulls[hull_name]["cluster_points"] = {"x": x, "y": y} - # print(f"HULL NAME {hull_name}") points_transform = np.hstack( ( x.reshape(-1, 1), @@ -700,8 +660,6 @@ def calc_one_hull(hull_name, hulls[hull_name]["gathering_radius"] = _closest_points_radius - # to_jarvis = handle_corners_points(to_jarvis, circuit_points,state["hulls_data"]["parameters"]["points_in_circle"]) - selected_points = greedy_selecting_1(to_jarvis) _radius_domain_expansion = state["hulls_data"]["parameters"]["domain_expansion"] if radius_domain_expansion is None else radius_domain_expansion @@ -746,12 +704,6 @@ def parse_solution_to_editor_hull(hulls: dict, state: dict) -> dict: state["hulls_data"]["change"] = {} state["hulls_data"]["undraw"] = set() for i in hulls.keys(): - # state['hulls_data'][i] = { - # 'name': hulls[i]['name'], - # 'cords': hulls[i]['polygon_points'], - # 'line_cords': hulls[i]['polygon_lines'], - # 'cluster_points': hulls[i]['cluster_points'] - # } state["hulls_data"]["hulls"][hulls[i]["name"]] = { "cords": hulls[i]["polygon_points"], "line_cords": hulls[i]["polygon_lines"], @@ -763,14 +715,5 @@ def parse_solution_to_editor_hull(hulls: dict, state: dict) -> dict: } state["hulls_data"][hulls[i]["name"]] = dict() state["hulls_data"][hulls[i]["name"]]["hull_line"] = dict() - - # for j, line in enumerate(hulls[i]["polygon_lines"]): - # state["hulls_data"][hulls[i]["name"]]["hull_line"][j] = { - # 'x1': line[0][0], - # 'y1': line[0][1], - # 'x2': line[1][0], - # 'y2': line[1][1], - # 'val': hulls[i]["name"] - # } return state diff --git a/src/generator/labels_generator.py b/src/generator/labels_generator.py index 4a2d3b0..8a4657d 100644 --- a/src/generator/labels_generator.py +++ b/src/generator/labels_generator.py @@ -150,10 +150,11 @@ def get_point(self) -> CPoint: return self.rp_x + self.r*np.cos(self.a), self.rp_y + self.r*np.sin(self.a) def get_err(self, include_x0: bool = False) -> float: + p = self.get_point() if include_x0: return (np.sqrt((self.rp_x-self.t_point[0])**2 + (self.rp_y-self.t_point[1])**2)) \ + np.sqrt((self.x0_x - self.t_point[0])**2 + (self.x0_y - self.t_point[1])**2)/self.x0_error_loss_parameter_denominator - return np.sqrt((self.rp_x-self.t_point[0])**2 + (self.rp_y-self.t_point[1])**2) + return np.sqrt((self.rp_x-self.t_point[0])**2 + (self.rp_y-self.t_point[1])**2) + np.sqrt((self.rp_x-p[0])**2 + (self.rp_y-p[1])**2) def get_mpoint(self) -> CPoint: x, y = self.get_point() @@ -769,9 +770,6 @@ def calc(idata: InData, accept = curr_config['accept'] no_local_search = curr_config['no_local_search'] - # res = dual_annealing(loss, bounds=labels_bounds, args=(ll, mset, curr_config['generate_greedy_x0']), - # x0=x0, maxiter=maxiter, visit=visit, initial_temp=initial_temp, - # restart_temp_ratio=restart_temp_ratio, accept=accept, no_local_search=no_local_search) res = dual_annealing(mixed_square_loss, bounds=labels_bounds, args=(ll, [], mset, curr_config['generate_greedy_x0']), x0=x0, maxiter=maxiter, visit=visit, initial_temp=initial_temp, restart_temp_ratio=restart_temp_ratio, accept=accept, no_local_search=no_local_search) @@ -794,9 +792,6 @@ def calc(idata: InData, daql = divide_and_conquare(ll) res_ll = [group[0] for group in daql if len(group) == 1] for group in daql: - - if len(group) == 1: - continue labels_bounds = [(0, 190), (0, np.pi*2)]*len(group) labels_bounds.extend([(0, 4)]*len(group)) @@ -931,23 +926,3 @@ def _debug_draw(ll: List[Label], points: np.ndarray): plt.plot(raw_points[:,0], raw_points[:,1]) plt.plot([tp[0], rp[0]], [tp[1], rp[1]]) plt.show() - - -#TODO: -# [x] try polar coordinates -# [x] iterative approach -# [x] hull swelling -# [x] divide and conquare solution (by initial x0) -# [x] divide and conquare solution (by initial x0) -# [ ] iterative x0 -# [ ] divide and conquare solution (after initial iterative solution, using final lines intersections) - -# IMPORTANT - -# consider the fact that the label itself is in the label set while querying for other labels in global optimization -# think of solution to it. This might be very bad for the optimization as it will always wiggle - -# IMPORTANT - -# consider the fact that the label itself is in the label set while querying for other labels in global optimization -# think of solution to it. This might be very bad for the optimization as it will always wiggle diff --git a/src/main.py b/src/main.py index ba134af..ccf96a2 100644 --- a/src/main.py +++ b/src/main.py @@ -22,17 +22,18 @@ logging.getLogger('PIL').setLevel(logging.WARNING) -def draw_maps(raw_data: Union[str, Experiment], - out_path: str | None, delim=';', +def draw_maps(raw_data: str, + out_path: str | None, + delim=';', config_id: str = 'divide_and_conquare') -> Optional[State]: """ Automatic map creator Parameters ---------- - raw_data: str or Experiment - Either string with path to the csv file or an instance of mapel...Experiment + raw_data: str + String with path to the csv file out_path: str or None - Path for the .jpg image to be saved to. If None raw drawer data is returned + Path for the .png image to be saved to. If None raw drawer data is returned for the editor drawer operations delim: str If raw_data is a csv file the delim is used as input delimiter. @@ -46,88 +47,6 @@ def draw_maps(raw_data: Union[str, Experiment], If out_path is None. Dict has raw data needed for interactive editor. None: Otherwise. - - Notes - ----- - Output format for the editor: - { - data: - { - "culture_name": - { - 'x': np.array(), - 'y': np.array() - }, - "second_culture_name": - ... - } - - cluster_data: - { - "cluster_name": - { - 'x': np.array(), - 'y': np.array(), - // TODO: additional cluster data? - 'org': list("original_culture_name", ...) - }, - "second_cluster_name": - ... - } - - hulls_data: - { - hulls: - { - hull_name - { - cords': list[tuple[float, float]] - // coordinates of hull points - 'line_cords': list[tuple[tuple[float, float], tuple[float, float]]] - // hull's lines - 'cluster_points': - { - 'x': np.array() - 'y': np.array() - } - } - }, - - change: - { - 'hull_name': - pd.Series('x', 'y', 'type') - }, - - undraw: set(hull_name) - } - - 'labels_data': - { - label_id: int: - { - 'text': str - 'x': float - 'y': float - 'arrows': - { - arrow_id: int: - { - 'ref_x': float - 'ref_y': float - 'att_x': float - 'att_y': float - 'val': str - } - } - }, - second_label_id: int: - ... - 'size': float 10.0 - 'arrow_size': float 1.0 - } - } - """ parsed_data = parse_data(raw_data, delim) @@ -180,12 +99,12 @@ def draw_maps(raw_data: Union[str, Experiment], bbox = ax.get_tightbbox().transformed(fig.dpi_scale_trans.inverted()) os.makedirs(os.path.dirname(out_path), exist_ok=True) - fig.savefig(out_path, bbox_inches=bbox, pad_inches=0) + fig.savefig(out_path, bbox_inches=bbox, pad_inches=0, dpi=Configuration['global']['dpi']) return None -def draw_maps_editor(raw_data: Union[str, Experiment], delim=';') -> None: +def draw_maps_editor(raw_data: str, delim=';', config_id='iterative') -> None: """ Interactive matplotlib editor for creating maps Parameters @@ -194,13 +113,15 @@ def draw_maps_editor(raw_data: Union[str, Experiment], delim=';') -> None: Either string with path to the csv file or an instance of mapel...Experiment delim: str If raw_data is a csv file the delim is used as input delimiter. - + config_id: str + String id specifying a group of parameters in the Configuration class which + affect auto generation """ - state = draw_maps(raw_data, None, delim) - assert state is not None # editor needs init state for now (might use default cache later) + state = draw_maps(raw_data, None, delim, config_id=config_id) + assert state is not None # editor needs init state format_string = '%(asctime)s %(filename)s %(funcName)s %(lineno)d %(message)s' - logging.basicConfig(stream=sys.stderr, level=logging.DEBUG, format=format_string) + logging.basicConfig(stream=sys.stderr, level=logging.CRITICAL, format=format_string) # change level for debugging information editor = Editor(state) editor.run()