function evaluate_clusters(data_file, clust, k_range, solution_point)

data = readimgfile(data_file);
plot_filename = strtok(data,'.');
disp('Running crosscorrelation')
data_CC = ap_calculateCC(data');

disp('CH')
eva_CH = evalclusters(data_CC, clust,'CalinskiHarabasz','KList',k_range);
figure; plot(eva_CH)
hold on
plot(solution_point, eva_CH.CriterionValues(solution_point), 'or','LineWidth', 15);
title({'CALINSKI-HARABASZ MEASURE' '(larger the better)'},'FontName', 'Sans-serif', 'FontSize', 16, 'FontWeight','normal')
print(gcf,[clust '_' plot_filename '_CH_k100'],'-dpng'); savefig(gcf,[clust '_' plot_filename '_CH_k100']);

disp('DB')
eva_DB = evalclusters(data_CC, clust,'DaviesBouldin','KList',k_range);
figure; plot(eva_DB)
title({'DAVIES-BOULDIN MEASURE' '(smaller the better)'},'FontName', 'Sans-serif', 'FontSize', 16, 'FontWeight','normal')
hold on
plot(solution_point, eva_DB.CriterionValues(solution_point), 'or','LineWidth', 15);
print(gcf,[clust '_' plot_filename '_DB_k100'],'-dpng'); savefig(gcf,[clust '_' plot_filename '_DB_k100']);

disp('GAP')
eva_GAP = evalclusters(data_CC, clust,'gap','distance','cityblock','KList',k_range);
figure; plot(eva_GAP)
hold on
plot(solution_point, eva_GAP.CriterionValues(solution_point), 'or','LineWidth', 15);
title({'GAP MEASURE' '(larger the better)'},'FontName', 'Sans-serif', 'FontSize', 16, 'FontWeight','normal')
print(gcf,[clust '_' plot_filename '_GAP_k100'],'-dpng'); savefig(gcf,[clust '_' plot_filename '_GAP_k100']);

disp('SIL')
eva_SIL = evalclusters(data_CC, clust,'silhouette','distance','cityblock','KList',k_range);
figure; plot(eva_SIL)
hold on
plot(solution_point, eva_SIL.CriterionValues(solution_point), 'or','LineWidth', 15);
title({'SILHOUETTE MEASURE' '(larger the better)'},'FontName', 'Sans-serif', 'FontSize', 16, 'FontWeight','normal')
print(gcf,[clust '_' plot_filename '_SIL_k100'],'-dpng'); savefig(gcf,[clust '_' plot_filename '_SIL_k100']);

save([clust 'evaluate_clusters'])

end