Ошибка макроса Imagej: оператор не может начинаться с { - PullRequest
0 голосов
/ 30 июня 2019

Я очень новичок в разработке макросов (и программировании в целом!).Прямо сейчас я хотел протестировать базовую функцию цикла для обработки изображений в нескольких каталогах, и я получил ошибку в самом начале кода: оператор не может начинаться с "{" в строке 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 канала и сохранить зеленый и красный канал в новой папке в каталоге, где было найдено изображение.Если в остальной части кода вы обнаружите какие-либо другие очевидные ошибки, я буду рад их услышать :) Спасибо!

1 Ответ

0 голосов
/ 01 июля 2019

Проблема в том, что у вас есть дополнительная фигурная скобка в конце кода, просто удалите ее, и макрос должен работать плавно.

...