Макрос Imagej для сохранения данных, сгенерированных результатами, и страниц журнала в один и тот же конечный файл Excel.

Я создал макрос, который генерирует результаты как в журнале, так и на страницах результатов. Мне нужен макрос, который сохраняет как результаты, так и файлы журнала в один большой файл Excel и организован по имени изображения.

    input=getDirectory("Choose Source Directory ");

list = getFileList(input);
for (i = 0; i < list.length; i++)
        rootangle(input, list[i]);

function angle (input,filename){
    open (input + filename);
setTool("angle");
for (i = 0; i < 5; i++){
waitForUser("Select Angle Points");
run("Set Measurements...", "  display redirect=None decimal=3");
//run("Measure");
}

setTool("multipoint");
waitForUser("Count");
run("Set Measurements...", "  display redirect=None decimal=3");
run("Measure");
}

setTool("line");
waitForUser("Measure");
run("Set Measurements...", "  display redirect=None decimal=3");
run("Measure");
}

setTool("freehand");
waitForUser("Distance");
run("Set Measurements...", "  display redirect=None decimal=3");
run("Measure");
}


setTool("polyline");
waitForUser("Draw");
    run("Fit Spline", "straighten"); 
    getSelectionCoordinates(x, y);
     for (i=0; i<x.length; i++)
         print(i+" "+x[i]+" "+y[i]);
}

   dir=getDirectory("image");
   name = "Results"; 
   index = lastIndexOf(name, "\\"); 
   if (index!=-1) name = substring(name, 0, index); 
   name = name + ".xls"; ///can change xls to csv, txt, etc.
   saveAs("Measurements", dir+name); 

close();
}
run("Clear Results");

В этом макросе полилиния генерирует множество координат x,y для каждого изображения, которые могут быть громоздкими для файла Excel. Эти координаты могут быть перечислены в одной строке в файле результатов Excel.

Есть ли способ добавить ручную аннотацию к метке на странице результатов?

Кроме того, есть ли способ добавить функции измерения позы? Например, разделить числа на 2 и т. д. перед созданием файла Excel?


person user1977802    schedule 15.09.2013    source источник


Ответы (1)


Я написал макрос, который сохраняет результаты мультиметрии ROI в окно журнала. Поскольку мне нужны были только конкретные результаты (три самые высокие необработанные интегрированные плотности), мой код использовал getResult("Column Label", row) для получения результатов, манипулирования ими, а затем выводил их в журнал, используя print("stuff to print"). В конце я сохранил журнал в формате csv, который можно открыть в Excel. Просто используйте запятые для разделения

person user3849766    schedule 17.07.2014