macro:calculating_stats_from_a_results_table
//Example macro calculating stats from a results table column
//Import any data into a results table and then use the following to extract summary stats
//The examples use "Area" as the column heading
//All results checked with OpenOffice Calc, note: variance uses n-1 to correct for sample bias
//Some variables
N=0;
total_area=0;
mean_area=0;
total_variance=0;
variance_area=0;
SD_Area=0;
SE_Area=0;
CI95_Area=0;
max_area=0;
min_area=0;
//Generate a results table
run("Clear Results");
run("Blobs (25K)");
run("Make Binary");
run("Set Measurements...", "area redirect=None decimal=4");
run("Analyze Particles...", "size=0-Infinity circularity=0.00-1.00 show=Nothing display exclude");
//Number of results in "Area" Column
N = nResults;
//Mean "Area"column
for (a=0; a<nResults(); a++) {
total_area=total_area+getResult("Area",a);
mean_area=total_area/nResults;
}
//Max value in "Area" column
for (a=0; a<nResults(); a++) {
if (getResult("Area",a)>max_area)
{
max_area = getResult("Area",a);
}
else{};
}
//Min value in "Area" column (note: requires max value)
min_area=max_area;
for (a=0; a<nResults(); a++) {
if (getResult("Area",a)<min_area)
{
min_area = getResult("Area",a);
}
else{};
}
//Variance of "Area" column
for (a=0; a<nResults(); a++) {
total_variance=total_variance+(getResult("Area",a)-(mean_area))*(getResult("Area",a)-(mean_area));
variance_area=total_variance/(nResults-1);
}
//SD of "Area" column (note: requires variance)
SD_Area=sqrt(variance_area);
//SE of "Area" column (note: requires SD)
SE_Area = (SD_Area/(sqrt(N)));
//95% CI of column "Area" (note: requires SE)
CI95_Area = 1.96*SE_Area;
//Return values
print("N = "+N);
print("Mean = "+mean_area);
print("Var = "+variance_area);
print("SD = "+SD_Area);
print("SE = "+SE_Area);
print("95% CI = "+CI95_Area);
print("Max = "+max_area);
print("Min = "+min_area);
//Richard Mort 13/04/2012
macro/calculating_stats_from_a_results_table.txt ยท Last modified: 2019/04/12 13:13 by 127.0.0.1