|
Макрос это простая программа, которая автоматизирует серии команд программы ImageJ.
Самый простой способ для создания макроса это использование записи серии команд при помощи рекордера (Plugins>Macros>Record...). Макрос сохраняется как текстовый файл и может быть выполнен при выборе команды меню Run в окне текстового редактора ImageJ.
Все примеры можно найти на официальном сайте программы ImageJ.
Далее приведен список команд макроязыка с сайта rsbweb.nih.gov/ij/developer/macro/functions.html
Встроенные макрофункции программы ImageJ
[ A ][ B ][ C ][ D ][ E ][ F ][ G ][ H ][ I ][ J ][ K ][ L ][ M ]
[ N ][ O ][ P ][ Q ][ R ][ S ][ T ][ U ][ V ][ W ][ X ][ Y ][ Z ]
A [ Вверх ]
abs(n)
Возвращает абсолютное значение n.
acos(n)
Возвращает значение арккосинуса (в радианах) числа n.
Функции массивов
Эти функции позволяют проводить операции над массивами. Они доступны начиная с версии ImageJ 1.42j. Для примера см. файл ArrayFunctions.
- Array.copy(array) - Возвращает копию массива (array).
- Array.fill(array, value) - Задает специфическое числовое значение (value) каждому элементу массива (array).
- Array.getStatistics(array, min, max, mean, stdDev) - Возвращает минимальное (min), максимальное (max), среднее значение (mean) и стандартное отклонение (stdDev) массива (array).
- Array.sort(array) - Сортирует массив (array), который содержит все числовые или все строковые значения.
- Array.trim(array, n) - Возвращает массив, который содержит первые n элементов массива (array).
asin(n)
Возвращает значение арксинуса (в радианах) числа n.
atan(n)
Вычисляет арктангенс числа n. Возвращает значение в интервале от -PI/2 до PI/2.
atan2(y, x)
Вычисляет арктангенс y/x и возвращает угол в интервале от -PI до PI, исползуется описание аргументов для определения квадранта. Результат умножается на 180/PI для конвертирования в градусы.
autoUpdate(boolean)
Если boolean=true, дисплей обновляется каждый раз при выполнении функций lineTo(), drawLine(), drawString(), и т.п., иначе дисплей обновляется только только при вызове updateDisplay() или когда макрос завершает свою работу.
B [ Вверх ]
beep()
Издает звуковой сигнал.
bitDepth()
Возвращает битовую глубину активного изображения: 8, 16, 24 (RGB) or 32 (float).
C [ Вверх ]
calibrate(value)
Применяет функцию калибровки для активного изображения для конвертирования необработанного значения пикселя в калиброванное по плотности значение. Аргумент должен быть целым числом в интервале от 0 до 255 (для 8-битного изображения) или от 0 до 65535 (для 16-битных изображений). Возвращает какое-либо значение если активное изображение не имеет функции калибровки.
call("class.method", arg1, arg2, ...)
Вызывает метод public static Java класса, передающий произвольное число строковых агрументов и возвращающий строку. За примером обращайтесь к макросу CallJavaDemo и модулю ImpProps. Необходимо отметить, что функция call() не работает когда ImageJ запущен как неподписанный апплет.
changeValues(v1, v2, v3)
Заменяет пиксели в изображении или выделении, которые имеют значение в интервале от v1 до v2 на значение v3. Например, changeValues(0,5,5) меняет все пиксели меньше чем 5 на 5, и changeValues(0x0000ff,0x0000ff,0xff0000) меняет все голубые пиксели в RGB-изоражении на красные.
charCodeAt(string, index)
Возвращает значение символа в Юникоде, который находится в строке (string) с индексом (index). Значение index может быть в интервале от 0 до lengthOf(string). Обратная функция fromCharCode() конвертирует один или более символ Юникода в строку.
close()
Закрывает активное изображение. Эта функция имеет особеность - не закрывает окна "Log" или "Results", когда Вы собираетесь закрывать активное изображение.
cos(angle)
Возвращает косинус угла (angle) - (в радианах)
D [ Вверх ]
d2s(n, decimalPlaces)
Конвертирует число в строку, исользуя определенное число десятичных разрядов. Обратите внимание, что d2s означает "double to string". Эта функция вероятно будет заменена другой с именем получше :).
Dialog.create("Title")
Создает окно диалога (dialog box) с названием (Тitle). Вызывайте Dialog.addString(), Dialog.addNumber(), и т.п. для добавления компонентов в окно диалога. Вызывайте Dialog.show() для отображения окна диалога и Dialog.getString(), Dialog.getNumber(), и т.п. для извлечения значений, введенных пользователем. Пример - макрос DialogDemo.
- Dialog.addMessage(string) - Добавляет сообщение (string) в окно диалога. Сообщение может быть перенесено на несколько линий добавлением ("\n") внутри текста (string).
- Dialog.addString("Label", "Initial text") - Добавляет текстовое поле ввода в диалоговое окно, используя значение (Label) для названия поля и (Initial text) для текста по умолчанию.
- Dialog.addString("Label", "Initial text", columns) - Добавляет текстовое поле в окно диалога, где columns определяет ширину поля в количестве вводимых символов.
- Dialog.addNumber("Label", default) - Добавляет числовое поле в диалог, используя значения "Label" и значение по умолчанию (default).
- Dialog.addNumber("Label", default, decimalPlaces, columns, units) - Добавляет числовое поле, используя определенное в Label название и значение (default) по умолчанию. Значение DecimalPlaces обозначает число цифр после запятой, columns определяет ширину редактируемого поля, units - строка, которая показывает правое поле.
- Dialog.addCheckbox("Label", default) - Добавляет checkbox (кнопку с независимой фиксацией) в окно диалога, используя определенные в переменных label и default (true или false) значения.
- Dialog.addCheckboxGroup(rows, columns, labels, defaults) - Добавляет Adds a сетку размером rows x columns из checkbox (кнопок-флажков) в оокно диалога, используя определенные в переменных labels и default значения. Требуется версия ImageJ 1.41c или старше.
- Dialog.addChoice("Label", items) - Добавляет выпадающее меню в окно диалога, где items это строковый массив содержащий пункты данного меню.
- Dialog.addChoice("Label", items, default) - Добавляет выпадающее меню в окно диалога, где items это строковый массив содержащий пункты данного меню и значение default, выбранное по умолчанию.
- Dialog.show() - Показывает диалоговое окно и ожидает пока пользователь нажмет кнопку "OK" или "Cancel". Макрос завершает работу, если пользователь выбирает "Cancel".
- Dialog.getString() - Возвращает строку, включающую содержимое текстового поля окна диалога.
- Dialog.getNumber() - Возвращает содержимое числового поля окна диалога.
- Dialog.getCheckbox() - Возвращает состояние (true или false) поля checkbox окна диалога.
- Dialog.getChoice() - Возвращает выбранный пункт (строку) из выпадающего popup-меню.
doCommand("Command")
Запускает командное меню ImageJ в отдельном потоке и сразу же возвращает значение. Как пример можно выполнить команду doCommand("Start Animation"), которая запускает анимацию открытого стека в отдельном потоке и макрос продолжает выполняться. Использование команды run("Start Animation") останавливает выполнение макроса до момента пока пользователь не остановит анимацию вручную.
doWand(x, y)
Команда эквивалентна выбору инструмента "волшебная палочка" (wand) в точке с координатами (x,y). Обратите внимание, что некоторые объекты, в особенности линии с толщиной в один пиксель могут быть выделены неверно пока они не выделены при помощи функции порог - threshold (выделение красным цветом) используя функцию setThreshold.
drawLine(x1, y1, x2, y2)
Рисует прямую линию между точками с координатами (x1, y1) и (x2, y2). Используйте функцию setColor() для выбора цвета линии и setLineWidth() для изменения толщины линии.
drawOval(x, y, width, height)
Рисует контур овала используя текущий цвет и толщину линии. x, y - верхняя левая координата овала, width - его ширина, height - высота. См. также: fillOval, setColor, setLineWidth, autoUpdate.
drawRect(x, y, width, height)
Рисует контур прямоугольника используя текущий цвет и толщину линии с координатой верхнего левого угла (x, y), шириной - width и высотой - height. См. также: fillRect, setColor, setLineWidth, autoUpdate.
drawString("text", x, y)
Формирует подпись на изоражении в определенном положении (x, y). Вызывайте функцию setFont() для выбора шрифта. Вызывайте setJustification() для выбора центровки текста. Вызывайте getStringWidth() для получения ширины текста в пикселях. За примером обратитесь к макросу TextDemo.
E [ Вверх ]
endsWith(string, suffix)
Возвращает значение true (1) если строка заканчивается суффиксом. См. также: startsWith, indexOf, substring, matches.
eval(macro)
Оценивает (запускает) одну или более строк макрокода. Существует второй необязательный аргумент, который может быть использован для пропуска строки при оценке макроса. См. также: EvalDemo macro and runMacro function.
eval("script", javascript)
Оценивает код программы на JavaScript содержащейся в строке javascript. Пример использования: eval("script","IJ.getInstance().setAlwaysOnTop(true);"). Пользователи Mac и пользователи Java 1.5, должны иметь копию JavaScript.jar в директории plugins программы ImageJ. Требуется ImageJ 1.41m версии.
exec(string or strings)
Выполняет команду операционной системы и возвращает строку результата выполнения. Также открывает Web-страницы в браузере, установленном по умолчанию и документы других приложений (например, Excel). За примером обратитесь к макросу ExecExamples. Требуется ImageJ 1.39c версии.
exit() or exit("error message")
Завершает выполнение макроса и может показывать сообщение об ошибке error message.
exp(n)
Возвращает экспоненту числа n.
Ext (Macro Extension) Functions
Эти функции, добавляющие в макроязык используемый плагинами MacroExtension интерфейс. Например, Image5D_Extensions плагин добавляет функции, которые работают с Image5D плагинами, такие как Ext.setDisplayMode("color") и Ext.setChannel(ch).
F [Вверх ]
Файловые функции
Эти функции позволяют вам получать информацию о файле, читать или записывать текстовый файл, создавать директории или удалять их, переименовывать или перемещать файлы или директории. Макрос FileDemo демонстрирует как их использовать. См. также: getDirectory and getFileList.
File.append(string, path) - Добавляет строку в конец определенного в переменной path файла. Требуется версия 1.41j.
File.close(f) - Закрывает определенный файл, который до этого должен быть открыт с использованием функции File.open().
File.dateLastModified(path) - Возвращает дату и время последних изменений файла.
File.delete(path) - Удаляет определенные переменной path файл или директорию. Наяиная с версии v1.41e, возвращает значение "1" (true) если файл или директория были удалены успешно. Директория при удалении должна быть пустой. Файл должен находиться в домашней директории пользователья, директории ImageJ или во временной директории temp.
File.directory - Возвращает путь последнего открытого при помощи функций open(), saveAs(), File.open() or File.openAsString() файла. Требуется версия 1.38q.
File.exists(path) - Возвращает "1" (true) если определенный в path файл существует.
File.getName(path) - Возвращает последнее имя в последовательности определяющей путь к файлу.
File.getParent(path) - Возвращает местоположение файла определенного в переменной path.
File.isDirectory(path) - Возвращает "1" (true) если переменная path это директория.
File.lastModified(path) - Возвращает время последних изменений в файле, определенного в переменной path, в милисекундах, прошедших с 1 января 1970 года.
File.length(path) - Возвращает длину файла в байтах.
File.makeDirectory(path) - Создает директорию.
File.name - Имя последнего файла, открытого с использованием open(), saveAs(), File.open() or File.openAsString() функции. Требуется 1.38q.
File.open(path) - Создает новый текстовый файл и возвращает файловую переменную, связанную с ним. Для записи в файл, добавляют файловую переменную в функцию print. Если переменная path остается пустой, то пользователю предъявляется диалог открытия файла. При выходе из макроса файл закрывается. В существующей версии в определенный момент может может быть открыт только один файл. Пример: макрос SaveTextFileDemo.
File.openAsString(path) - Открывает текстовый файл и возвращает его содержимое как строку. Если переменная path пустая, то команда показывает окно диалога открытия файла. Используйте lines=split(str,"\n") для превращения строки в массив строк.
File.openAsRawString(path) - Открывает файл и возвращает первые 5,000 байт как строку. Возвращает до 10 Мб если имя файла заканчивается на ".txt". Примеры: макросы First10Bytes и ZapGremlins. Требуется версия 1.39f.
File.openUrlAsString(url) - Открывает URL и возвращает содержимое как строку. Возвращает пустую строку, если файл на хосте не может быть найден. Начиная с версии v1.41i, возвращает "<Error: message>" если возникает шибка, включая отсутствие хоста или файла.
File.openDialog(title) - Показывает диалог открытия файла и возвращает путь к выбранному файлу. Макрос прекращает работу, если пользователь отменяет диалог. Требуется версия 1.39d.
File.rename(path1, path2) - Возвращает или перемещает файл или директорию. Возвращает значение "1" (true) если оперция прошла успешно. Требуется версия 1.38b.
File.saveString(string, path) - Сохраняет строку в файл. Требуется версия 1.41j.
File.separator - Возвращает символ-разделитель имен файлов ("/" или "\").
fill()
Заполняет изоражение или выделенную область текущим цветом заполенения.
fillOval(x, y, width, height)
Заполняет овал внутри контура, вписанного в прямоугольник с параметрами-координатами текущим цветом заполнения. Примеры: drawOval, setColor, autoUpdate.
fillRect(x, y, width, height)
Заполняет определенный параметрами прямоугольник текущим цветом заполнения. Примеры: drawRect, setColor, autoUpdate.
Сглаживающие функции
Эти предназначены для формирования кривых сглаживающих функций. Макрос CurveFittingDemo демонстрирует как их использовать. Требуется версия 1.41k.
Fit.doFit(equation, xpoints, ypoints) - Сглаживает определенное в equation выражение по точкамопределенных в xpoints, ypoints. Выражением equation может быть любое уравнение или индекс. Имена уравнений показаны в выпадающем меню Analyze>Tools>Curve Fitting window. Начиная с версии ImageJ 1.42f уравнение может быть строкой, содержащей определенное пользователем выражение. Пример: UserDefinedCurveFits.txt.
Fit.rSquared - Возвращает R^2=1-SSE/SSD, гле SSE - средняя квадратичная ошибка, а SSD - среднеквадратичное отклонение среднего значения.
Fit.p(index) - Возвращает значение определенного параметра.
Fit.nParams - Возвращает число параметров.
Fit.f(x) - Возвращает значение у функции y(x).
Fit.nEquations - Возвращает количество уравнений.
Fit.getEquation(index, name, formula) - Получает имя и формулу определенного уравнения.
Fit.plot - Строит кривую текущего сглаживания.
Fit.logResults - Causes doFit() to write a description of the curve fitting results to the Log window. Requires 1.42f.
Fit.showDialog - Causes doFit() to display the simplex settings dialog. Requires 1.42f.
floodFill(x, y)
Заполняет цветом фона связанные пиксели, которые имеют тот же цвет, что и пиксель с координатой (x, y). Начиная с версии 1.37e появился необязательный строковый аргумент "8-connected" содержащий "8", например floodFill(x, y, "8-connected"). Эта функция обычно используется для реализаци заполнения цветом инструмента (ведро с краской).
floor(n)
Возвращает наибольшее целое значение, которое не превышает значение n. См. также: round.
fromCharCode(value1,...,valueN)
Эта функция берет одно или более эначений Unicode и возвращает строку.
G [ Вверх ]
getArgument()
Возвращает строковый аргумент принятый в макросе. Примеры: runMacro(macro, arg), eval(macro), IJ.runMacro(macro, arg) or IJ.runMacroFile(path, arg).
getBoolean("message")
Показывает окно диалога, содержащее определеное сообщение и кнопки "Yes", "No" и "Cancel". Возвращает true (1) если пользователь нажал "Yes", возвращает false (0) если пользователь нажал "No" и завершает макрос, если пользователь выбрал "Cancel".
getBoundingRect(x, y, width, height)
Заменяет функцию getSelectionBounds.
getCursorLoc(x, y, z, modifiers)
Возвращает местоположение курсора (пиксель) и события модификаторы мыши (нажатие правой или левой кнопик, клавиши Ctrl, Shift и т.п.). Z координата равна нулю для 2D изображений. Для стеков она на 1 меньше чем число стеков. Примеры: GetCursorLocDemo и GetCursorLocDemoTool.
getDateAndTime(year, month, dayOfWeek, dayOfMonth, hour, minute, second, msec)
Возвращает текущую дату и время. Примеры: макрос GetDateAndTime. См. также: getTime.
getDimensions(width, height, channels, slices, frames)
Возвращает размернось текущего изображения. Требуется версия 1.38s.
getDirectory(string)
Показывает диалог "Выбор директории" и возвращает выбранную директорию, или возвращает путь до определенной директории, такой как "plugins", "home", и т.п. Возвращенный путь заканчивается файловым разделителем, любым "\" (для Windows) или "/". Возвращает пустую строку, если указанная директория не найдена или прекращает работу макроса если пользователь выбирает "Сancel" окна диалога. Примеры: макросы GetDirectoryDemo и ListFilesRecursively. См. также: getFileList и файловые функции.
getDirectory("Choose a Directory") - Показывает диалог открытия файла, используя аргумент как заголовок окна и возвращает путь до директории, выбранной пользователем.
getDirectory("plugins") - Возвращает путь до директории "plugins".
getDirectory("macros") - Возвращает путь до директории "macros".
getDirectory("image") - Возвращает путь до директории, где находится активное изображение.
getDirectory("startup") - Возвращает путь до директории, где нахоится программа ImageJ и откуда она была запущена (обычно директория ImageJ).
getDirectory("home") - Возвращает путь до домашней директории пользователя.
getDirectory("temp") - Возвращает путь до временной директории (/tmp в Linux и Mac OS X).
getFileList(directory)
Возвращает массив, содержащий имена файлов, находящихся в директории (directory).Имена поддиректорий имеют знак "/". Пример: макрос ListFilesRecursively.
getHeight()
Возвращает высоту текущего изображения в пикселях.
getHistogram(values, counts, nBins[, histMin, histMax])
Возвращает гистограмму текущего изображения или выделения. Values представляет собой массив, который будет содержать значения градаций гистограммы, или этот аргумент может быть равным нулю. Counts представляет собой массив, который будет содержать количество пикселей в каждом столбце гистограммы. nBins число интервалов гистограмы. Это число должно быть равным 256 для 8-битных и RGB изображений, или должног равняться целому положительному числу для 16- и 32-битных изображений. С 16-битными изображениями аргумент Values игнорируется, если nBin равно 65536. С 16- и 32-битными изображениями начиная с версии ImageJ 1.35a область гистограммы может быть определена используя дополнительные параметры histMin и histMax. См. также:
getStatistics,
HistogramLister,
HistogramPlotter,
StackHistogramLister и
CustomHistogram.
getImageID()
Возвращает уникальный идентификатор ID (отрицательное число) активного изображения. Используется совместно с функциями selectImage(id), isOpen(id) и isActive(id)на активном изображении или для его определения или перевода фокуса.
getImageInfo()
Возвращает строку, содержащую текст, который может быть показан при вызове команды меню Image>Show Info. Для получения содержимого текстового окна необходимо использовать getInfo("window.contents"). Пример: макрос ListDicomTags. См. также: getMetadata.
getInfo("window.contents")
Если активное окно текстовое, эта функция возвращает содержимое этого окна. Если активное окно - изображение - функция возвращает строку, содержещую который может быть показан по каоманде Image>Show Info. Необходимо заметить, что getImageInfo() - более надежный путь получения информации об изображении. Используйте split(getInfo(),'\n') для обрыва строки, в возвращаемой функции. Заменяет функцию getInfo(). Требуется версия 1.38m.
getInfo("image.description")
Возвращает тэг описания изображения TIFF формата или пустую строку если активным является изображение не в TIFF формате или когда описание изображения недоступно. Требуется версия 1.39t.
getInfo("image.subtitle")
Возвращает подзаголовок активного изображения. Эта информации показана в строке вверху изображения под строкой заголовка. Требуется версия 1.38m.
getInfo("slice.label")
Возвращает ярлык (метку) текущего слоя в стеке. Это строка, которая появляется в круглых скобках в подзаголовке, в строке вверху изображения. Возвращает пустую строку если текущее изображение не является стеком или текущий слой стека не имеет сярлыка (метки). Требуется версия 1.38m.
getInfo(key)
Возвращает свойства Java ассоциированные с определенным ключом key (например., "java.version", "os.name", "user.home", "user.dir", и т.д.). Возвращает пустую строку если данная информация не ассоциирована с ключом key. См. также: getList("java.properties"). Требуется версия 1.38m.
getLine(x1, y1, x2, y2, lineWidth)
Возвращает начальные координаты, конечные координаты и ширину выделенной прямой линии. Координаты и ширина представлены в пикселях. Устанавливает x1 = -1 если текущее выделение не является прямой. Пример: макрос GetLineDemo. См. также: makeLine.
getList("window.titles")
Возвращает список (массив) заголовков открытых окон, не являющихся изображениями. Пример: макрос DisplayWindowTitles. Требуется версия 1.38m.
getList("java.properties")
Возвращает список (массив) ключей свойств Java. Пример: макрос DisplayJavaProperties. См. также: getInfo(key). Требуется версия 1.38m.
getLocationAndSize(x, y, width, height)
Возвращает местоположение и размер активного изображения в координатах экрана. Используйте getWidth и getHeight для получения ширины и высоты активного изображения в координатах изображения. См. также: setLocation
getLut(reds, greens, blues)
Возвращает три массива, содержащих интенсивность красного, зеленого и синего каналов из текущей lookup-таблицы. Пример: макрос LookupTables.
getMetadata("Info")
Возвращает метаданные (строку) из "Info" свойства текущего изображения. Совместно с DICOM изображеними эта информация (тэги) содержатся в заголовке DICOM. См. также: setMetadata. Требуется 1.40b.
getMetadata("Label")
Возвращает метку текущего слоя. Первая строка этой метки (до 60 символов) показана как часть подзаголовка изображения. Совместно с DICOM стеками, возвращает метаданные из заголовка файла DICOM. См. также: setMetadata. Требуется версия 1.40b.
getMinAndMax(min, max)
Возвращает минимальный и максимальный отображаемый на изображении пиксель. Пример: макрос DisplayRangeMacros.
getNumber("prompt", defaultValue)
Показывает диалоговое окно и возвращает число введенное пользоателем. Первый аргумент - строка сообщения, второй аргумент - значение, которое показано в диалоге как начальное значение. Выходит из макроса, если пользователь нажимает кнопку "Cancel" в окне диалога. Возвращает defaultValue, если пользовательв водит неверное значение. См. также: Dialog.create.
getPixel(x, y)
Возвращает значение яркости пикселя с координатой (x,y). пиксели в RGB изображениях содержат red, green и blue компоненты, которые необходимо извлечь используя shifting и masking. Примеры: макрос Color Picker Tool, который показывает как это делать.
getPixelSize(unit, pixelWidth, pixelHeight)
Возвращает единицы длины (строка) и размерность пикселей. Пример: макрос ShowImageInfo. См. также: getVoxelSize.
getProfile()
Запускает Analyze>Plot Profile (без показа самого графика) и возвращает значения интенсивности вдоль выделения как массив. Пример: макрос GetProfileExample.
getRawStatistics(nPixels, mean, min, max, std, histogram)
Эта функция подобна функции getStatistics за исключением того, что возвращаемые значения не отколиброваны и гистограмма 16-биных изображений имеет одну ширину интервала и возвращает массив из max+1 элементов. Пример: макрос ShowStatistics.
getResult("Column", row)
Возвращает измерения из результирующей таблицы ImageJ "Results" или значение NaN если выбранный столбец "Сolumn" не обнаружен в таблице. Первый аргумент определяет столбец в таблице. Он должен присутствовать в таблице окна "Results" как заголовок столбца, такой как "Area", "Mean" или "Circ.". Второй аргумент определяет строку, и располагается в интервале 0<=row<nResults. nResults это предопределенная переменная, содержащая текущее количество измерений а таблице. (Фактически, она является встроенной функцией и может применяться с "()".) Работает с версии ImageJ 1.34g и новее, вы можете принебречь вторым аргументом и обратиться по умолчанию к строкеyou nResults-1 (последняя строка в таблице результатов). См. также: nResults, setResult, isNaN, getResultLabel .
getResultLabel(row)
Возвращает значение поля "label" определенной строки в таблице результатов или пустую строку, если поле Display Label не выбрано в разделе Analalyze>Set Measurements.
getSelectionBounds(x, y, width, height)
Возвращает наименьший прямоугольник в которым ожет быть вписан выделенный на изображении объект. x и y - координаты пикселей верхнего левого угла прямоугольника, width и height его ширина и высота в пикселях. Если на изображении ничего не выделено, возвращает (0, 0, ImageWidth, ImageHeight). См. также: selectionType и setSelectionLocation.
getSelectionCoordinates(xCoordinates, yCoordinates)
Возвращает два массива, содержащих X и Y координаты точек, которые определяют текущее выделение (в пикселях). Примеры: макрос SelectionCoordinates. См. также: selectionType, getSelectionBounds.
getSliceNumber()
Возвращает число слоев в текущем стеке изображений в интервале от 1 до nSlices. Возвращает 1, если активное изображение не является стеком. См. также: setSlice.
getStatistics(area, mean, min, max, std, histogram)
Возвращает площадь, среднее значение яркости, минимальное и максимальное значения яркости, стандартное отклонение по шкале яркости и гистограмму активного изображения или выделения. Гистограмма представлена как массив, содержащий 256 значений яркости. Для 8-биных и RGB изображений, размер единицы гистограммы = 1. Для 16-битных и 32-битных изображений размер единицы гистограммы рассчитывается как (max-min)/256. Для примера, можно посмотреть макрос ShowStatistics. Нужно отметить, что аргументы могут быть пропущены. Напимер, вы можете использовать getStatistics(area), getStatistics(area, mean) или getStatistics(area, mean, min, max). См. также: getRawStatistics
getString("prompt", "default")
Показывает диалоговое окно и возвращает строку, ввобимую пользователем. Первый аргумент - строка сообщения, второй - значение по умолчанию. Выходит из макроса, если пользователь выбирает кнопку "Cancel" или вводит пустую строку. См. также: Dialog.create.
getStringWidth(string)
Возвращает ширину в пикселях определенной в переменной string строки. См. также: setFont, drawString. Требуется версия v1.41d.
getThreshold(lower, upper)
Возвращает нижний lower и верхний upper уровни порога выделения. Обе переменные устанавливаются в -1, если активное изображение не имеет выделенного порога. См. также: setThreshold, getThreshold, resetThreshold.
getTime()
Возвращает текущее время в милисекундах. Детализация представления времени варирует от одной платформы к другой. На Windows NT, 2K, XP это примерно 10ms. На других Windows версиях оно может быть хуже, примерно 50ms. На многих Unix платформах, включая Mac OS X, этот показатель обычно 1ms. См. также: getDateAndTime .
getTitle()
Возвращает заголовок активного изображения.
getVoxelSize(width, height, depth, unit)
Возвращает размер voxelа (элементарного элемента объемного изображения) и единицы измерения ("pixel", "mm", и т.д.) в текущем изображении или стеке. См. также: getPixelSize , setVoxelSize.
getVersion()
Возвращает версию программы ImageJ как строку (например, "1.42k"). См. также: requires.
getWidth()
Возвращает ширину активного изображения в пикселях.
getZoom()
Возвращает увеличение активного изображения, число в интервале от 0.03125 до 32.0 (от 3.1% до 3200%).
I [ Вверх ]
imageCalculator(operator, img1, img2)
Запускает инструмент Process>Image Calculator, параметр operator (принимает следующие значения "add","subtract","multiply","divide", "and", "or", "xor", "min", "max", "average", "difference" or "copy") и определяет операцию, параметры img1 и img2 определяют операнды. img1 и img2 могут быть либо названиями изображений (строки), либо идентификаторами ID (целочисленные значения). Оператор operator строка, которая включает три модификатора:
"create" (например, "add create") формирует реззультат, который сохраняется в новом окне, "32-bit" вызывает результат, представленный в 32-битном формате а плавающей точкой и "stack" вызывает процесс для работы с целым стеком . См. также макрос ImageCalculatorDemo.
indexOf(string, substring)
Возвращает индекс внутри строки string первого вхождения подстроки substring. См. также:
lastIndexOf,
startsWith,
endsWith,
substring,
toLowerCase,
replace,
matches.
indexOf(string, substring, fromIndex)
Возвращает индекс внутри строки string первого вхождения подстроки
substring, при этом поиск начинается с индекса fromIndex.
is("Applet")
Возвращает значение true (истина) если ImageJ запущен как апплет. Требуется версия v1.39p.
is("Batch Mode")
Возвращает значение true (истина) если интерпретатор макроса запущен в batch-режиме. Требуется версия v1.39p.
is("binary")
Возвращает значение true (истина) если текущее изображение является бинарным (8-битное изображение, содержащее только значение 0 или 255). Требуется версия v1.42n.
is("Caps Lock Set")
Возвращает значение true (истина) если включена клавиша caps lock. На некоторых платформах всегда возвращает значение false. Требуется версия v1.42e.
is("Changes")
Возвращает значение true (истина) если текущее изображение было изменено, флаг 'changes' устанавливается в значение истина.
Требуется версия v1.42m.
is("Composite")
Возвращает значение true (истина) если активное изображение является мультиканальным стеком, который использует класс CompositeImage class. Требуется версия v1.39r.
is("Inverting LUT")
Возвращает значение true (истина) если активное изображение использует инвертированную lookup-таблицу.
is("Hyperstack")
Возвращает значение true (истина) если текущее изображение является гиперстеком. Требуется версия v1.39k.
is("Locked")
Возвращает значение true (истина) если активное изображение заблокировано.
is("Virtual Stack")
Возвращает значение true (истина) если текущее изображение является виртуальным стеком. Требуется версия v1.39q.
isActive(id)
Возвращает значение true (истина) если избражение с определенным ID является активным.
isKeyDown(key)
Возвращает значение true (истина) если определенная клавиша нажата, где key должна быть любой из клавиш "shift", "alt" или "space". См. также:
setKeyDown.
isNaN(n)
Возвращает значение true (истина) если значение числовой переменной не является числом NaN (Not-a-Number).
Значение NaN обычно возникает при делении на ноль. Функция требуется потому, что значение (n==NaN) всегда является ложным false.
Числоая константа NaN предопределена в макроязыке ImageJ.
isOpen(id)
Возвращает значение true (истина) если изображение определенное идентификатором ID открыто.
isOpen("Title")
Возвращает значение true (истина) если окно с заголовком title открыто.
L [ Вверх ]
lastIndexOf(string, substring)
Возвращает индекс внутри строки string крайнего правого вхождения подстроки
substring. См. также:
indexOf,
startsWith,
endsWith,
substring.
lengthOf(str)
Возвращает длину строки или массива.
lineTo(x, y)
рисует линию из текущего положения курсора в точку с координатами (x, y) .
List Functions
Эти функции работают со списком пар key/value. Макрос ListDemo
демонстрирует как использовать их. Требуется версия 1.41f.
List.set(key, value) -Добавляет пару key/value в список.
List.get(key) -
Возвращает строковое значение, ассоциированное с ключом key, или пустую строку, если ключ не найден.
List.getValue(key) -
Когда используется операция присвоения, возвращает значение ассоциированное с ключом key как число. Прерывает выполнение макроса, если значение не является числом или ключ не найден.
List.size -
Возвращает размер списка.
List.clear()
- Очищает список.
List.setList(list) -
Загружаетпару key/value в список list.
List.getList -
Возвращает список как строку.
List.setMeasurements -
Измеряет текущее изображение или выделение и загружает имена результирующих параметров как ключи (keys) и значения. Измеряются все параметры, перечисленные в диалоговом окне Analyze>Set Measurements.
Используйте List.getValue() при получении значений после операции присвоения. Примеры: макрос
DrawEllipse.
log(n)
Возвращает натуральный логарифм (основание e) числа n. можно отметить, что log10(n) = log(n)/log(10).
M [ Вверх ]
makeLine(x1, y1, x2, y2)
Создает новое выделение - прямую линию. Предполагается, что начало координат (0,0) находится вверхнем левом углу изображения. Координаты даны в пикселях. Начиная с версии ImageJ 1.35b, вы можете создавать сегментированное выделение, определяя более чем две пары координат, например
makeLine(25,34,44,19,69,30,71,56).
makeLine(x1, y1, x2, y2, lineWidth)
Создает выделение - прямую линию с заданной шириной lineWidth. Требуется версия 1.38u. См. также: getLine.
makeOval(x, y, width, height)
Создает выделение - эллипс, где координата (x,y) определяет верхний левый угол прямоугольника, в который вписан эллипс.
makePoint(x, y)
Создает точечное выделение в определенной позиции. Можно создавать множественное точечное выделение используя
makeSelection("point",xpoints,ypoints). Использование setKeyDown("shift"); makePoint(x, y); добавляет точку к существующему выделению.
makePolygon(x1, y1, x2, y2, x3, y3, ...)
Создает выделение - полигон. По крайней мере три пары координат должны быть заданы, но не более 200. Напимер, makePolygon(20,48,59,13,101,40,75,77,38,70)
создает полигональное выделение пятиугольника.
makeRectangle(x, y, width, height)
Создает прямоугольное выделение. x и y аргументы - координаты (в пикселях) верхнего левого угла выделения. Предполагается, что начало координат (0,0) находится вверхнем левом углу изображения.
makeSelection(type, xcoord, ycoord)
Создает выделение из списка XY координат. Первый аргумент долженбыть одним из следующих
"polygon", "freehand", "polyline", "freeline", "angle" or "point". В версии ImageJ 1.32g и позже,
он может быть также числовым значением, возвращаемым функцией selectionType. Аргументы xcoord и ycoord числовые массивы, содержащие X и Y координаты.
See the MakeSelectionDemo
macro for examples.
matches(string, regex)
Возвращает значение true, если строка string совпадает с определенной regular expression. См. также:
startsWith,
endsWith,
indexOf,
replace. Требуется версия v1.39r.
maxOf(n1, n2)
Возвращает большее из двух значений.
minOf(n1, n2)
Возвращает меньшее из двух значений.
moveTo(x, y)
Устанавливает текущую позицию рисования. Обычно начальная позиция находится в верхнем левом углу изображения.
N [ Вверх ]
newArray(size)
Создает новый массив, содержащий size элементов.
Можно также создавать массив содержащий список элементов, например newArray(1,4,7) или newArray("a","b","c").
Для примера можно обратиться к макросу
Arrays.
Макроязык программы ImageJ не поддерживает создание 2D массивов. Как показывает опыт для этого проще всего использовать пустое изображение и применять функции setPixel() и getPixel() для чтения и записи значений "массива", или можно создать одноерный массив, используя конструкцию a=newArray(xmax*ymax) и делать собственное индексирование (например, value=a[x+y*xmax]).
newImage(title, type, width, height, depth)
Создает новое изображение или стек используя имя title. Строка type солжна быть одним из выражений:
"8-bit", "16-bit", "32-bit" или "RGB". Дополнительно она может содержать "white", "black" или "ramp" (по умолчанию - значение "white"). Пример использования: "16-bit ramp" для создания 16-битного изображения, содержащего градиентную заливку.
Width и height определяют размер изображения в пикселях.
Depth определяет число слоев встеке.
newMenu(macroName, stringArray)
Определяет меню, которое будет добавлено в панель инструментов при установке макроса macroName. Меню инструмента - макрос с названием, заканчивающемся на "Menu Tool".
StringArray это массив, содержащий команды меню. Возвращает копию строки stringArray. Примеры: инструменты описанные в
Menus. Требуется версия v1.38b.
nImages
Возвращает число открытых изображений. В конце можно ставить скобки "()".
nResults
Возвращает общее количество проведенных измерений из таблицы результатов.
В конце можно ставить скобки "()".
nSlices
Возвращает число слоев встеке изображений. Возвращает значение 1, если текущее изображениене является стеком. В конце можно ставить скобки "()". См. также:
getSliceNumber,
O [Вверх ]
open(path)
Открывает и показывает файл в любом из форматов tiff, dicom, fits, pgm, jpeg, bmp, gif, lut,
roi, or текстовый файл. Показывает сообщение об ошибке и прекращает работу, если открываемый файл не принадлежит к одному из вышеперечисленных форматов или такой файл не найден.
Показывает диалог открытия файла, если переменная
path пустая строка или если в скобках отсутствует аргумент.
Используйте команду File>Open с открытым командным рекордером (command recorder) для генерирования текста вызова данной функции. Начиная с версии 1.41k с помощью данной команды можно открывать изображения, определенные в URL, например,
open("http://rsb.info.nih.gov/ij/images/clown.gif").
P [ Вверх ]
parseFloat(string)
Конвертирует строковый аргумент в число и возвращает его. Возвращает NaN (Not a Number), если строка не может быть конвертирована в число. Используйте функцию
isNaN() для тестирования на вывод результата NaN. Пример:
ParseFloatIntExamples.
parseInt(string)
Конвертирует строку string целое число и возвращает его. Возвращает NaN если строка не может быть конвертирована в целое число.
parseInt(string, radix)
Конвертирует строку string целое число и возвращает его. Опционально существует второй аргумент корень (radix) определяющий основание числа, содержащегося в строке.
Корень должен быть целым числом в интервале от 2 до 36. Для корней больше 10,
буквы алфавита показывают числа больше чем 9. установив radix равным 16 получим шестнадцатиричнные числа.
Возвращает NaN, если строка не может быть конвертирована в целое число. примеры:
ParseFloatIntExamples.
PI
Возвращает число Пи (3.14159265).
Plot.create("Title", "X-axis Label", "Y-axis Label", xValues, yValues)
Строит график с названием Title, обозначенными осями X-axis Label и Y-axis Label и X, Y координатами, содержащимися в массивах.
Если определен только один массив, то предполагается, что данный массив содержит Y-координаты, которые соответствуют значениям X от 0 до n-1. Также занчения допустимо определять не массивами и использовать Plot.setLimits() и Plot.add() для построения графика. Используйте Plot.show() для отображения графика в окне или график будет отображен автоматически после выхода из макроса. Примеры: файл макроса
ExamplePlots.
Plot.setLimits(xMin, xMax, yMin, yMax)
Устанавливает интервал по x- и y-оси графика, созданного при помощи Plot.create(). Функция должна быть запущена сразу после функции Plot.create().
Plot.setLineWidth(width)
Определяет толщину линии, используемой при рисовании кривой на графике. Точки на графике (кружки, квадратики и т.пю) также будут рисоваться соразмерно с толщиной линии, несколько больше, чем определенная толщина линии. Заметим, что кривая, определенная функцией Plot.create()
- последняя нарисованная до построения графика используется при вызове функции показать или обновить.
Plot.setColor("red")
Определяет цвет, используемый при последующем вызове фунций Plot.add() или Plot.addText(). Аргумент может быть одним из следующих:
"black", "blue", "cyan", "darkGray", "gray", "green", "lightGray",
"magenta", "orange", "pink", "red", "white" или "yellow".
Отметим, что кривая, определенная в Plot.create() рисуется последней.
Plot.add("circles", xValues, yValues)
Добавляет кривую, множество точек или величины погрешностей, используемых при рисовании графика функцией Plot.create().
Если определен только один массив, предполагается, что данный массив определяет значения Y, соответствующие значениям X от 0 до n-1. Первый аргумент должен быть одним из следующих: "line", "circles", "boxes", "triangles", "crosses", "dots",
"x" или "error bars".
Plot.addText("A line of text", x, y)
Добавляет текст в график в определенном положении, где (0,0) это верхний левый угол области построения, а (1,1) это нижний правый угол этой области. Нужно вызывать
Plot.setJustification() для центровки данного текста отностиельно его координат.
Plot.setJustification("center")
Определяет выравнивание текста при использовании функции Plot.addText().
Аргумент может быть одним из следующих: "left", "right" или "center". По умолчанию стоит значение "left".
Plot.drawLine(x1, y1, x2, y2)
Рисует прямую линию между точками с координатами x1,y1 и x2,y2, используя координаты системы, определенные в Plot.setLimits(). Требуется версия 1.42k.
Plot.show()
Отображает в окне график, созданный с помощью функций Plot.create(), Plot.add(), и т.п..
Эта функция вызывается автоматически при выходе из макроса.
Plot.update()
Рисует график, сгенерированный функциями Plot.create(), Plot.add(), и т.п. в существующем окне графика.
Функция эквивалентна Plot.show() если нет открытого окна графика.
Plot.getValues(xpoints, ypoints)
Возвращает значения, отображаемые при нажатии на кнопку "List" (список) в окне графика или гистограммы. Требуется версия 1.41k.
pow(base, exponent)
Возвращает значение основания по экспоненте.
print(string)
Выводит строку в окно "Log". Числовые аргументы автоматически переводятся в строковые.
Начиная с версии ImageJ v1.34b, print() может принимать множество аргументов. Например, вы можете использовать
print(x,y,width, height) вместо print(x+" "+y+" "+width+" "+height).
Если первый аргумент это файл, вызванный при помощи File.open(path), то второй аргумент сохраняется в соответствующем файле как показано на примере
(См. SaveTextFileDemo).
Числовые вычисления автоматически конвертируются в строки, используя 4 знака после запятой или иначе можно использовать функцию
d2s для определения числа знаков после запятой. Например, print(2/3) выдаст значение "0.6667", а print(d2s(2/3,1)) отобразит "0.7".
Начиная с версии ImageJ 1.37j, print() воспринимает такие команды как "\\Clear",
"\\Update:<text>" и "\\Update<n>:<text>" (для n<26)
которые очищают окно "Log" и обновляют его содержимое. Например, print("\\Clear") очищает окно Log, print("\\Update:new text") замещает последнюю линию новым текстом "new text", а
print("\\Update8:new 8th line") заменяет восьмую строку строкой "new 8th line". Примеры: макрос
LogWindowTricks.
Начиная с версии ImageJ 1.38m появился второй аргумент к функции print(arg1, arg2), который добавляет в текстовое окно или таблицу, если первый аргумент является названием окна, то должен быть оформлен в квадратных скобках и кавычках, например print("[My Window]", "Hello, world"). С текстовыми окнами перевод строки символы ("\n") автоматически не добавляется и текст, который начинается с "\\Update:" замещает содержимое окна.
Примеры: макросы
PrintToTextWindow,
Clock и
ProgressBar.
Второй аргумент в функции print(arg1, arg2) добавляет значения в таблицу (например, ResultsTable), если первый аргумент название таблицы в кавычках. Используйте команду Plugins>New для открытия чистой таблицы. Любая команда, которая может быть отправлена в окно "Log" ("\\Clear", "\\Update:<text>" , и т.п.) может также быть отправлена в таблицу.
Примеры: макросы
SineCosineTable и
TableTricks.
R [ Вверх ]
random
Генерирует случайное число в интервале от 0 до 1.
rename(name)
Меняет заголовок активного изображения на строковый параметр name.
replace(string, old, new)
Возвращает новую строку, которая является результатом замещения всех вхождений строки old в строку string на новые new, где old и new - однобуквенные строки. Если old или new больше чем один символ, то каждая подстрока строки string которая совпадает с regular expression
(регулярным выражением) old заменяется на new. См. также:
matches.
requires("1.29p")
Отображает сообщение прерывает работу макроса, если версия установленной программы ImageJ вышла раньше, чем версия указанная в аргументе. См. также:
getVersion.
reset
Восстанавливает резервную копию изображения, созданного при помощи функции
snapshot .
Надо отметить, что функции reset() и run("Undo") в основном похожи.
resetMinAndMax
Работает с 16-битными и 32-битными изображениями, переустанавливает значения минимальных и максимальных значений представленных пикселей.
С 8-битными изображениями устанавливает представление в интервале от 0 до 255.
С RGB-изображениями ниччего не делает. См. также макрос
DisplayRangeMacros.
resetThreshold
Отменяет функцию порог на изображении. См. также:
setThreshold ,
setAutoThreshold ,
getThreshold .
restorePreviousTool
Переключет активный инструмент в панели инструментов на индтрумент, используемый до этого инструмента. Функция удобна для создания макро-инструментов, которые выполняют действие, такое как открытие файла, когда для этого пользователь выбирает кнопку на панели инструментов.
restoreSettings
Восстанавливает установки в подменю Edit/Options, сохраненные при помощи функции saveSettings().
roiManager(cmd)
Запускает команду менеджера областей интереса (ROI Manager), где переменная cmd должна быть одной из следующих:
"Add", "Add & Draw", "Update", "Delete", "Deselect", "Measure", "Draw",
"Fill", "Label", "Combine", "Split", "Sort", "Reset" или "Multi Measure". ROI Manager будет открыт, если до этого он не был открыт. Используйте roiManager("reset") для удаления областей интереса из списка менеджера. Используйте
setOption("Show All", boolean)
для установки/снятия режима "Show All".
За примерами обращайтесь к макросам
RoiManagerMacros,
RoiManagerAddParticles и ROI Manager Stack Demo.
roiManager(cmd, name)
Запускает команды ввода-вывода менеджера областей интереса (ROI Manager), где cmd может быть командой
"Open", "Save или "Rename", и name это путь или имя файла.
Команда "Save" игнорирует выделение (пунктов в списке) и сохраняет все области интересов в ZIP архиве. Начиная с версии ImageJ 1.38o эта функция показывает диалог сохранения файла, если параметр name равен "". Для выполенения команды "Rename" требуется версия
v1.37h или новее. Начиная с версии v1.37i вы можете получать имя выделения, используя call("ij.plugin.frame.RoiManager.getName", index).
ROI Manager откроется, если до этого он был закрыт.
roiManager("count")
Возвращает количество элементов в списке менеджера областей интереса (ROI Manager).
roiManager("index")
Возвращает индекс текущего выделенного пункта из списка менеджера областей интересаили
-1, если список пуст, не выделен ни один из пунктов или выбрано большее количество пунктов.
roiManager("select", index)
Selects an item in the ROI Manager list, where
index must be greater than or equal zero and less than the
value returned by roiManager("count"). Note that macros that
use this function sometimes run orders of magnitude faster in batch mode.
Use roiManager("deselect") to deselect all items on the list.
For an example, refer to the
ROI Manager Stack Demo macro.
round(n)
Returns the closest integer to n.
See also:
floor.
run("command"[, "options"])
Executes an ImageJ menu command. The optional second argument contains values that
are automatically entered into dialog boxes (must be GenericDialog or OpenDialog). Use
the Command Recorder (Plugins>Macros>Record) to generate run() function calls.
Use string concatentation to pass a variable as an argument. For examples, see the
ArgumentPassingDemo macro.
runMacro(name)
Runs the specified macro file, which is assumed to be in the
Image macros folder. A full
file path may also be used. The ".txt" extension is optional.
Returns any string argument returned by the macro. May have
an optional second string argument that is passed to macro.
For an example, see the
CalculateMean macro.
See also:
eval and
getArgument.
S [ Вверх ]
save(path)
Saves an image, lookup table, selection or text window to the specified file path. The path must end in
".tif", ".jpg", ".gif", ".zip", ".raw", ".avi", ".bmp", ".fits", ".png", ".pgm", ".lut", ".roi" or ".txt".
saveAs(format, path)
Saves the active image, lookup table, selection, measurement results, selection XY coordinates
or text window to the specified file path. The format argument
must be "tiff", "jpeg", "gif", "zip", "raw", "avi", "bmp", "fits", "png", "pgm", "text image", "lut", "selection",
"measurements", "xy Coordinates" or "text". Use saveAs(format) to
have a "Save As" dialog displayed.
saveSettings()
Saves most Edit/Options submenu settings so they can be
restored later by calling restoreSettings().
screenHeight
Returns the screen height in pixels.
See also:
getLocationAndSize,
setLocation.
screenWidth
Returns the screen width in pixels.
selectionName
Returns the name of the current selection, or an empty string
if the selection does not have a name.
Aborts the macro if there is no selection.
See also:
setSelectionName and
selectionType.
selectionType()
Returns the selection type, where 0=rectangle, 1=oval, 2=polygon, 3=freehand, 4=traced,
5=straight line, 6=segmented line, 7=freehand line, 8=angle, 9=composite and 10=point.
Returns -1 if there is no selection. For an example, see the
ShowImageInfo macro.
selectImage(id)
Activates the image with the specified ID (a negative number). If id is greater than zero,
activates the idth image listed in the Window menu. With ImageJ 1.33n and later, id
can be an image title (a string).
selectWindow("name")
Activates the image window with the title "name". Also activates non-image windows in v1.30n or later.
setAutoThreshold()
Sets the threshold levels based on an analysis of the histogram of
the current image or selection. Equivalent to clicking on "Auto" in
the Image>Adjust>Threshold window.
See also:
setThreshold,
getThreshold,
resetThreshold.
setBackgroundColor(r, g, b)
Sets the background color, where r, g, and b are >= 0 and <= 255.
setBatchMode(arg)
If arg is true, the interpreter enters batch mode and images are not displayed,
allowing the macro to run up to 20 times faster. If arg is false, exits batch mode
and displays the active image in a window.
ImageJ exits batch mode when the macro terminates
if there is no setBatchMode(false) call.
Note that a macro should not call setBatchMode(true)
more than once.
With ImageJ 1.37j or later, set arg to "exit and display" to exit
batch mode and display all open batch mode images.
Here are five example batch mode macros:
BatchModeTest,
BatchMeasure,
BatchSetScale,
ReplaceRedWithMagenta.
setColor(r, g, b)
Sets the drawing color, where r, g, and b are >= 0 and <= 255.
With 16 and 32 bit images, sets the color to 0 if r=g=b=0. With 16 and 32 bit images,
use setColor(1,0,0) to make the drawing color the same is the minimum
displayed pixel value.
SetColor() is faster than
setForegroundColor(), and it does not change
the system wide foreground color or repaint the color picker tool icon, but it cannot be
used to specify the color used by commands called from macros, for example run("Fill").
setColor(value)
Sets the drawing color. For 8 bit images, 0<=value<=255.
For 16 bit images, 0<=value<=65535. For RGB images, use hex
constants (e.g., 0xff0000 for red). This function does not change the foreground color used
by run("Draw") and run("Fill").
setFont(name, size[, style])
The first argument is the font name. It should be "SansSerif", "Serif" or "Monospaced".
The second argument is the point size of the font. The optional third argument is a
string containing "bold" or "italic", or both. With ImageJ 1.37e or later, the third argument
can also contain the keyword "antialiased".
For examples, run the
TextDemo macro.
setForegroundColor(r, g, b)
Sets the foreground color, where r, g, and b are >= 0 and <= 255.
See also:
setColor.
setJustification("center")
Specifies the justification used by drawString() and Plot.addText().
The argument can be "left", "right" or "center". The default is "left".
setKeyDown(keys)
Simulates pressing the shift, alt or space keys, where
keys is a string containing some combination of "shift", "alt" or "space".
Any key not specified is set "up". Use setKeyDown("none") to set all keys in the
"up" position. With ImageJ 1.38e or later, call setKeyDown("esc") to abort the currently
running macro or plugin.
For examples, see the
CompositeSelections,
DoWandDemo and
AbortMacroActionTool macros.
See also:
isKeyDown.
setLineWidth(width)
Specifies the line width (in pixels) used by drawLine(), lineTo(), drawRect() and drawOval().
setLocation(x, y)
Moves the active image window to a new location.
With v1.39e or later, moves the active window.
See also:
getLocationAndSize,
screenWidth,
screenHeight.
setLocation(x, y, width, height)
Moves and resizes the active image window. The new location of the top-left
corner is specified by x and y, and the
new size by width and height.
Requires v1.39e.
setLut(reds, greens, blues)
Creates a new lookup table and assigns it to the current image. Three input arrays are
required, each containing 256 intensity values. See the
LookupTables
macros for examples.
setMetadata("Info", string)
Assigns the metadata in string to the "Info"
image property of the current image.
This metadata is displayed by Image>Show Info and
saved as part of the TIFF header.
See also: getMetadata.
Requires v1.40b.
setMetadata("Label", string)
Sets string as the label of the current image or stack slice.
The first 60 characters, or up to the first newline,
of the label are displayed as part of the image subtitle.
The labels are saved as part of the TIFF header.
See also: getMetadata.
Requires v1.40b.
setMinAndMax(min, max)
Sets the minimum and maximum displayed pixel values (display range).
See the
DisplayRangeMacros
for examples.
setMinAndMax(min, max, channels)
Sets the display range of specified channels in an RGB image,
where 4=red, 2=green, 1=blue, 6=red+green, etc.
Note that the pixel data is altered since RGB images, unlike
composite color images,
do not have a LUT for each channel. Requires v1.42d.
setOption(option, boolean)
Enables or disables an ImageJ option, where option is one of the following options
and boolean is either true or false.
"DisablePopupMenu" enables/disables the the menu displayed when
you right click on an image.
"Show All" enables/disables the the "Show All" mode in the ROI Manager.
"Changes" sets/resets the 'changes' flag of the current image. Set this option false to
avoid "Save Changes?" dialog boxes when closing images.
"DebugMode" enables/disables the ImageJ debug mode. ImageJ displays information, such
as TIFF tag values, when it is in debug mode.
"OpenUsingPlugins", added in v1.38f,
controls whether standard file types (TIFF, JPEG, GIF, etc.) are opened by external
plugins or by ImageJ.
"QueueMacros", added in v1.38g, controls whether macros invoked using keyboard shortcuts
run sequentially on the event dispatch thread (EDT) or in separate, possibly concurrent, threads.
In "QueueMacros" mode, screen updates, which also run on the EDT, are delayed until the macro finishes.
Note that "QueueMacros" does not work with macros
using function key shortcuts in ImageJ 1.41g and earlier.
"DisableUndo", added in v1.38h, enables/disables the Edit>Undo command. Note
that a setOption("DisableUndo",true) call without a corresponding setOption("DisableUndo",false) will cause
Edit>Undo to not work as expected until ImageJ is restarted.
"Display Label", "Limit to Threshold", "Area",
"Mean" and "Std", added in v1.41,
enable/disable the corresponding Analyze>Set Measurements options.
"ShowMin", added in v1.42i, determines whether or not the "Min" value is displayed in the Results window
when "Min & Max Gray Value" is enabled in the Analyze>Set Measurements dialog box.
setPasteMode(mode)
Sets the transfer mode used by the Edit>Paste
command, where 'mode' is "Copy", "Blend", "Average", "Difference",
"Transparent", "AND", "OR", "XOR", "Add", "Subtract", "Multiply", or
"Divide". In v1.37a or later, 'mode' can also be "Min" or "Max".
setPixel(x, y, value)
Stores value at location (x,y) of the current image. The screen is
updated when the macro exits or call updateDisplay() to have it updated immediately.
setResult("Column", row, value)
Adds an entry to the ImageJ results table or modifies an existing entry. The first
argument specifies a column in the table. If the specified column does not exist, it is added.
The second argument specifies the row, where 0<=row<=nResults.
(nResults is a predefined variable.) A row is added to the table if row=nResults. The third argument is the value to
be added or modified. Call setResult("Label", row, string) to set the row label.
Call updateResults() to display the updated table in the "Results" window.
For examples, see the
SineCosineTable and
ConvexitySolidarity macros.
setRGBWeights(redWeight, greenWeight, blueWeight)
Sets the weighting factors used by the Analyze>Measure, Image>Type>8-bit
and Analyze>Histogram commands
when they convert RGB pixels values to grayscale. The sum of the weights must be 1.0. Use
(1/3,1/3,1/3) for equal weighting of red, green and blue.
The weighting factors in effect when the macro started are restored when it terminates.
For examples, see the
MeasureRGB,
ExtractRGBChannels and
RGB_Histogram macros.
setSelectionLocation(x, y)
Moves the current selection to (x,y), where x and y are the pixel coordinates of the
upper left corner of the selection's bounding rectangle. The
RoiManagerMoveSelections
macro uses this function to move all the ROI Manager selections a specified distance.
See also: getSelectionBounds.
setSelectionName(name)
Sets the name of the current selection to the specified name.
Aborts the macro if there is no selection.
See also:
selectionName and
selectionType.
setSlice(n)
Displays the nth slice of the active stack. Does nothing if the active image is not a stack.
For an example, see the
MeasureStack
macros.
See also:
getSliceNumber,
nSlices.
setThreshold(lower, upper)
Sets the lower and upper threshold levels. The values are uncalibrated
except for 16-bit images (e.g., unsigned 16-bit images).
Starting with v1.34g, there is an
optional third argument that can be "red", "black & white", "over/under" or "no color".
See also:
setAutoThreshold,
getThreshold,
resetThreshold.
setTool(name)
Switches to the specified tool, where name is "rectangle", "elliptical", "brush", "polygon", "freehand",
"line", "polyline", "freeline", "angle", "point", "wand", "text", "zoom", "hand" or
"dropper".
Refer to the
SetToolDemo
macro for an example. Requires 1.39l.
setTool(id)
Switches to the specified tool, where 0=rectangle, 1=oval, 2=polygon, 3=freehand,
4=straight line, 5=polyline, 6=freeline, 7=point, 8=wand, 9=text, 10=spare,
11=zoom, 12=hand, 13=dropper, 14=angle, 15...21=spare.
See also:
toolID.
setupUndo()
Call this function before drawing on an image to allow the user the option of later restoring the original image
using Edit/Undo. Note that setupUndo() may not work as intended
with macros that call the run() function.
For an example, see the
DrawingTools
tool set.
setVoxelSize(width, height, depth, unit)
Defines the voxel dimensions and unit of length ("pixel", "mm", etc.) for the current
image or stack. The depth argument is ignored if the current image is not a stack.
See also: getVoxelSize.
setZCoordinate(z)
Sets the Z coordinate used by getPixel(), setPixel() and changeValues(). The argument must
be in the range 0 to n-1, where n is the number of images in the stack. For an examples, see the
Z Profile Plotter Tool.
showMessage("message")
Displays "message" in a dialog box.
showMessage("title", "message")
Displays "message" in a dialog box using "title" as the
the dialog box title.
showMessageWithCancel(["title",]"message")
Displays "message" in a dialog box with "OK" and "Cancel" buttons.
"Title" (optional) is the dialog box title. The macro exits if
the user clicks "Cancel" button.
showProgress(progress)
Updates the ImageJ progress bar, where 0.0<=progress<=1.0. The progress bar is
not displayed if the time between the first and second calls to this function
is less than 30 milliseconds. It is erased when the macro terminates
or progress is >=1.0.
showStatus("message")
Displays a message in the ImageJ status bar.
sin(angle)
Returns the sine of an angle (in radians).
snapshot()
Creates a backup copy of the current image that can be later restored using the
reset function.
For examples, see the
ImageRotator and
BouncingBar macros.
split(string, delimiters)
Breaks a string into an array of substrings. Delimiters is a string containing
one or more delimiter characters. The default delimiter set " \t\n\r" (space, tab, newline, return)
is used if delimiters is an empty string or split is called with only one argument.
Returns a one element array if no delimiter
is found.
sqrt(n)
Returns the square root of n. Returns NaN if n is less than zero.
Stack (hyperstack) Functions
These functions allow you to get and set the position (channel, slice and frame)
of a hyperstack (a 4D or 5D stack).
The HyperStackDemo
demonstrates how to create a hyperstack and how to work with it using these functions
Requires 1.39l.
Stack.isHyperstack -
Returns true if the current image is a hyperstack.
Stack.getDimensions(width, height, channels, slices, frames)
Returns the dimensions of the current image.
Stack.setDimensions(channels, slices, frames) -
Sets the 3rd, 4th and 5th dimensions of the current stack.
Stack.setChannel(n) -
Displays channel n .
Stack.setSlice(n) -
Displays slice n .
Stack.setFrame(n) -
Displays frame n .
Stack.getPosition(channel, slice, frame) -
Returns the current position.
Stack.setPosition(channel, slice, frame) -
Sets the position.
Stack.getFrameRate() -
Returns the frame rate (FPS).
Stack.setFrameRate(fps) -
Sets the frame rate.
Stack.setTUnit(string) -
Sets the time unit.
Requires v1.42k.
Stack.setZUnit(string) -
Sets the Z-dimension unit.
Requires v1.42k.
Stack.setDisplayMode(mode) -
Sets the display mode, where mode is "composite", "color" or "grayscale".
Requires a multi-channel stack and v1.40a or later.
Stack.getDisplayMode(mode) -
Sets the string mode to the current display mode.
Requires v1.40a.
Stack.setActiveChannels(string) -
Sets the active channels in a composite color image, where string
is a list of ones and zeros that specify the channels to activate.
For example, "101" activates channels 1 and 3.
Requires v1.41b.
Stack.swap(n1, n2) -
Swaps the two specified stack images, where n1 and n2
are integers greater than 0 and less than or equal to nSlices.
Requires v1.40c.
Stack.getStatistics(voxelCount, mean, min, max, stdDev) -
Calculates and returns stack statistics. Requires v1.42m.
startsWith(string, prefix)
Returns true (1) if string starts with prefix.
See also:
endsWith,
indexOf,
substring,
toLowerCase,
matches.
String Functions
These functions do string buffering and copy strings to and from
the system clipboard. The
CopyResultsToClipboard
macro demonstrates their use.
Requires 1.38r.
See also:
endsWith,
indexOf,
lastIndexOf,
lengthOf,
startsWith and
substring.
String.resetBuffer -
Resets (clears) the buffer.
String.append(str) -
Appends str to the buffer.
String.buffer -
Returns the contents of the buffer.
String.copy(str) -
Copies str to the clipboard.
String.copyResults -
Copies the Results table to the clipboard.
String.paste -
Returns the contents of the clipboard.
substring(string, index1, index2)
Returns a new string that is a substring of string. The
substring begins at index1 and extends to the character at index2 - 1.
See also:
indexOf,
startsWith,
endsWith,
replace.
substring(string, index)
Returns a substring of string that
begins at index and extends to the end of string.
Requires v1.41i.
T [ Вверх ]
tan(angle)
Returns the tangent of an angle (in radians).
toBinary(number)
Returns a binary string representation of number.
toHex(number)
Returns a hexadecimal string representation of number.
toLowerCase(string)
Returns a new string that is a copy of string with all the characters converted to lower case.
toolID
Returns the ID of the currently selected tool.
See also: setTool.
toString(number)
Returns a decimal string representation of number.
See also:
toBinary,
toHex,
parseFloat and
parseInt.
toString(number, decimalPlaces)
Converts number into a string,
using the specified number of decimal places.
Requires v1.39r.
toUpperCase(string)
Returns a new string that is a copy of string with all the characters converted to upper case.
U [ Вверх ]
updateDisplay()
Redraws the active image.
updateResults()
Call this function to update the "Results" window after the results table has been
modified by calls to the setResult() function.
W [ Вверх ]
wait(n)
Delays (sleeps) for n milliseconds.
waitForUser(string)
Halts the macro and displays string in a dialog box. The macro proceeds when the
user clicks "OK".
Unlike showMessage, the dialog box is not modal,
so the user can, for example,
create a selection or adjust the threshold while the dialog is open.
To display a multi-line
message, add newline characters ("\n") to string.
This function is based on
Michael Schmid's
Wait_For_User plugin.
Example:
WaitForUserDemo.
Requires v1.39r.
waitForUser(title, message)
This is a two argument version of waitForUser, where title is the dialog box title
and message is the text dispayed in the dialog.
|