Я пытаюсь написать небольшой скрипт, который будет выполнять некоторые действия с серией изображений в ImageJ.Я использовал метод Script Template, описанный в https://imagej.net/Batch_Processing, однако я столкнулся с проблемой, что получаю сообщение об ошибке, в котором говорится, что изображения не открыты.Идея для меня заключалась в том, чтобы иметь код, который выполнял бы и обрабатывал изображения, не открывая их.Я попытался использовать метод «Process ▶ Batch ▶ Macro ...», описанный на том же веб-сайте, и, похоже, это не проблема.Однако проблема заключается в том, что я хотел бы иметь возможность просто отправлять сценарий, который я пишу, своим товарищам по группе и без необходимости что-либо объяснять им, чтобы они могли запускать код самостоятельно, опять же без открывающихся изображений, поскольку это можетбыть проблематичным, когда есть несколько сотен изображений.
Это код, который у меня есть до сих пор.Все, что он должен сейчас сделать, это создать на изображении группу квадратов, а затем выполнить измерения в% области изображения и затем отобразить результаты.
/*
* Macro template to process multiple images in a folder
*/
requires("1.33s");
setBatchMode(true);
#@ File (label = "Input directory", style = "directory") input
#@ File (label = "Output directory", style = "directory") output
#@ String (label = "File suffix", value = ".tif") suffix
// See also Process_Folder.py for a version of this code
// in the Python scripting language.
processFolder(input);
// function to scan folders/subfolders/files to find files with correct suffix
function processFolder(input) {
list = getFileList(input);
list = Array.sort(list);
for (i = 0; i < list.length; i++) {
if(File.isDirectory(input + File.separator + list[i]))
processFolder(input + File.separator + list[i]);
if(endsWith(list[i], suffix))
processFile(input, output, list[i]);
}
}
function processFile(input, output, file) {
// Do the processing here by adding your own code.
// Leave the print statements until things work, then remove them.
run("ROI Manager...");
roiManager("Show All");
setTool("rectangle");
for (i = 1; i < getWidth/2; i++) {
makeRectangle(getWidth/2 - i, getHeight/2 - i, 2*i + 1, 2*i + 1);
roiManager("Add");
}
run("Set Measurements...", "area area_fraction redirect=None decimal=3");
roiManager("multi-measure measure_all one append");
run("Summarize");
}
Прямо сейчас все, что я пытаюсьВыясните, как исправить ошибку, связанную с неоткрытыми изображениями, функция самого кода - лишь грубый набросок.Я пытался использовать setBatchMode ("true"), но это не сработало.Если у кого-то есть какие-либо идеи или предложения, я буду очень признателен за любую помощь!