Установка различных порогов в зависимости от того, чем заканчивается имя файла в макросе ImageJ

У меня есть папка, содержащая много изображений. Они сгруппированы в наборы из трех изображений, где одно имя файла заканчивается dsRed).tifдругое имя файла заканчивается на FITC).tif а другое имя файла заканчивается DAPI).tif,

Как я могу сказать ImageJ делать разные вещи для каждого изображения в зависимости от того, какое имя файла заканчивается на нем?

Я пытался настроить макросы для запуска различных порогов, например:

//run("Brightness/Contrast...");
setMinAndMax(0, 20000);
close();

к различным именам файлов, основанным на сценариях, найденных здесь: http://imagej.1557.x6.nabble.com/open-file-with-specific-partial-name-td5002910.html и здесь: http://rsb.info.nih.gov/ij/macros/Batch_RGB_Merge.txt но у меня возникают проблемы с форматированием, если все еще функционирует с моими тремя окончаниями имени файла.

1 ответ

Решение

Вы можете проверить имена файлов с последующим if ... else заявления:

if (endsWith(filename,"dsRed).tif") {
    // do dsRed processing here
} else if (endsWith(filename,"FITC).tif") {
    // do FITC processing here
} else if (endsWith(filename,"DAPI).tif") {
    // do DAPI processing here
}

Если вы хотите сгруппировать файлы, содержащие одно и то же базовое имя, выполните цикл только по одному из ваших каналов (например, dsRed) и использовать replace:

replace(filename, "dsRed).tif", "FITC).tif");

обрабатывать соответствующий другой канал в каждой итерации цикла.

Другие вопросы по тегам