Я очень новичок в разработке макросов (и программировании в целом!).Прямо сейчас я хотел протестировать базовую функцию цикла для обработки изображений в нескольких каталогах, и я получил ошибку в самом начале кода: оператор не может начинаться с "{" в строке 42. Я отметил в коде ниже, какая строкаошибка показывает, извинения, если код слишком длинный.
Я убрал функцию печати.Я внимательно посмотрел на пробелы и т. Д., Но я использовал пример шаблона из интернета, так что там не должно быть никаких проблем.Я не мог найти подобную проблему на этом или любом другом форуме.
FileName = getString("Enter the name of the 2-channel file in each folder", "RGB")
InputFileExt = getString("Enter the file extension", ".tif")
MainDir = getDirectory("Choose the Main Directory");
function processFolder(MainDir) {
dir = getFileList(MainDir);
for (i=0; i < dir.length; i++) { <---- error
print(dir[i] + FileName + InputFileExt)
if(File.isDirectory(MainDir + dir[i]))
processFolder("" + MainDir + dir[i]);
if(endsWith(dir[i] + FileName + InputFileExt)
processFile(dir[i] + FileName + InputFileExt);
}
}
function processFile (dir[i] + FileName + InputFileExt) {
run("Split Channels");
selectWindow("RGB.tif (blue)");
close();
selectWindow("RGB.tif (green).tif");
saveAs("Tiff", MainDir + File.separator + "Split channels" + File.separator + "RGB.tif (green).tif");
selectWindow("RGB.tif (red)");
saveAs("Tiff", MainDir + File.separator + "Split channels" + File.separator + "RGB.tif (red).tif");
close();
}
}
Это просто для проверки, если код идентифицирует правильные изображения и каталоги.Он должен пройти RGB-изображение в каждой отдельной папке, разделить его на 3 канала и сохранить зеленый и красный канал в новой папке в каталоге, где было найдено изображение.Если в остальной части кода вы обнаружите какие-либо другие очевидные ошибки, я буду рад их услышать :) Спасибо!