/*
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ LBP CNRS 7213             http://www-lbp.u-strasbg.fr/                            +
+ Dev by Philippe Carl      philippe.carl@unistra.fr                                +
+ Features                  Macro illustrating the definition of ROIs within the    +
+                           ScatterPlot picture as well as the macro exporting      +
+                           possibilities                                           +
+ Last update               01/02/2021                                              +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*/

	run("Blobs (25K)");
	run("Blobs (25K)");
	run("Flip Vertically");
	run("Colocalization Finder", "image_1=blobs.gif image_2=blobs-1.gif scatterplot_size=[_256 x 256_]");
	selectWindow("ScatterPlot");
	makePolygon(109,36,96,57,90,88,105,119,137,140,146,102,147,67,141,45);
	nbResults	=		call("Colocalization_Finder.getResultsLinesCount");
	output		= "" +	call("Colocalization_Finder.analyzeByMacro", "true", "true", 2);
	while(nbResults ==	call("Colocalization_Finder.getResultsLinesCount") || output.contains("comparison already running!"))
	{
		wait(10);
		output = "" +	call("Colocalization_Finder.analyzeByMacro", "true", "true", 2);
	}
	print(output);
	makeRotatedRectangle(272, 43, 229, 131, 50);
	nbResults	=		call("Colocalization_Finder.getResultsLinesCount");
	output		= "" +	call("Colocalization_Finder.analyzeByMacro", "true", "true", "2,5");
	while(nbResults ==	call("Colocalization_Finder.getResultsLinesCount") || output.contains("comparison already running!"))
	{
		wait(10);
		output = "" +	call("Colocalization_Finder.analyzeByMacro", "true", "true", "2,5");
	}
	print(output);
	makeRectangle(167, 20,  50,  50);
	nbResults	=		call("Colocalization_Finder.getResultsLinesCount");
	output		= "" +	call("Colocalization_Finder.analyzeByMacro", "true", "true", "2,5-8");
	while(nbResults ==	call("Colocalization_Finder.getResultsLinesCount") || output.contains("comparison already running!"))
	{
		wait(10);
		output = "" +	call("Colocalization_Finder.analyzeByMacro", "true", "true", "2,5-8");
	}
	print(output);
	makeOval(270, 165, 40, 94);
	nbResults	=		call("Colocalization_Finder.getResultsLinesCount");
	output		= "" +	call("Colocalization_Finder.analyzeByMacro", "true", "true", "2,7-9", "\t");
	while(nbResults ==	call("Colocalization_Finder.getResultsLinesCount") || output.contains("comparison already running!"))
	{
		wait(10);
		output = "" +	call("Colocalization_Finder.analyzeByMacro", "true", "true", "2,7-9", "\t");
	}
	print(output);
	makeOval(65, 185, 147, 86);
	nbResults	=		call("Colocalization_Finder.getResultsLinesCount");
	output		= "" +	call("Colocalization_Finder.analyzeByMacro", "true", "true", "2,7-9", "|");
	while(nbResults ==	call("Colocalization_Finder.getResultsLinesCount") || output.contains("comparison already running!"))
	{
		wait(10);
		output = "" +	call("Colocalization_Finder.analyzeByMacro", "true", "true", "2,7-9", "|");
	}
	print(output);
	call("Colocalization_Finder.setScatterPlotRoi", 90, 170, 100, 140);
	nbResults	=		call("Colocalization_Finder.getResultsLinesCount");
	output		= "" +	call("Colocalization_Finder.analyzeByMacro", "false", "false");
	while(nbResults ==	call("Colocalization_Finder.getResultsLinesCount") || output.contains("comparison already running!"))
	{
		wait(10);
		output = "" +	call("Colocalization_Finder.analyzeByMacro", "false", "false");
	}
	print(output);