- java.lang.Object
-
- ij.macro.Interpreter
-
- All Implemented Interfaces:
MacroConstants
public class Interpreter extends Object implements MacroConstants
This is the recursive descent parser/interpreter for the ImageJ macro language.
-
-
Field Summary
Fields Modifier and Type Field Description static booleanbatchMode-
Fields inherited from interface ij.macro.MacroConstants
ABS, ACOS, ARRAY, ARRAY_FUNC, ARRAY_FUNCTION, arrayFunctionIDs, arrayFunctions, ASIN, ATAN, ATAN2, AUTO_UPDATE, BEEP, BIT_DEPTH, BREAK, CALCULATOR, CALIBRATE, CALL, CHANGE_VALUES, CHAR_CODE_AT, CLOSE, COLOR, CONTINUE, COS, D2S, DEBUG, DIALOG, DIV_EQUAL, DO, DO_COMMAND, DO_WAND, DRAW_LINE, DRAW_OVAL, DRAW_RECT, DRAW_STRING, DUMP, ELSE, ENDS_WITH, EOF, EQ, EVAL, EXEC, EXIT, EXP, EXT, FALSE, FILE, FILL, FILL_OVAL, FILL_RECT, FIT, FLOOD_FILL, FLOOR, FOR, FROM_CHAR_CODE, FUNCTION, functionIDs, functions, GET_ARGUMENT, GET_BOOLEAN, GET_BOUNDING_RECT, GET_BOUNDS, GET_COORDINATES, GET_COUNT, GET_CURSOR_LOC, GET_DATE_AND_TIME, GET_DIMENSIONS, GET_DIR, GET_DIRECTORY, GET_DISPLAYED_AREA, GET_FILE_LIST, GET_FONT_LIST, GET_HEIGHT, GET_HISTOGRAM, GET_ID, GET_IMAGE_INFO, GET_INFO, GET_LINE, GET_LIST, GET_LOCATION_AND_SIZE, GET_LUT, GET_METADATA, GET_MIN_AND_MAX, GET_NUMBER, GET_PIXEL, GET_PIXEL_SIZE, GET_PROFILE, GET_RAW_STATISTICS, GET_RESULT, GET_RESULT_LABEL, GET_RESULT_STRING, GET_SLICE_NUMBER, GET_STATISTICS, GET_STRING, GET_STRING_WIDTH, GET_THRESHOLD, GET_TIME, GET_TITLE, GET_VALUE, GET_VERSION, GET_VOXEL_SIZE, GET_WIDTH, GET_ZOOM, GT, GTE, IF, IJ_CALL, IMAGE, INDEX_OF, INVERT, IS, IS_ACTIVE, IS_KEY_DOWN, IS_NAN, IS_OPEN, keywordIDs, keywords, LAST_INDEX_OF, LENGTH_OF, LINE_TO, LIST, LOG, LOGICAL_AND, LOGICAL_OR, LT, LTE, MACRO, MAKE_ARROW, MAKE_ELLIPSE, MAKE_LINE, MAKE_OVAL, MAKE_POINT, MAKE_POLYGON, MAKE_RECTANGLE, MAKE_ROTATED_RECT, MAKE_SELECTION, MAKE_TEXT, MATCHES, MATH, MAX_OF, MIN_OF, MINUS_EQUAL, MINUS_MINUS, MOVE_TO, MUL_EQUAL, NaN, NEQ, NEW_ARRAY, NEW_IMAGE, NEW_MENU, NIMAGES, NOP, NRESULTS, NSLICES, NUMBER, NUMERIC_FUNCTION, numericFunctionIDs, numericFunctions, OPEN, OVERLAY, PARSE_FLOAT, PARSE_INT, PI, PLOT, PLUS_EQUAL, PLUS_PLUS, POW, PREDEFINED_FUNCTION, PRINT, PROPERTY, PUT_PIXEL, RANDOM, RENAME, REPLACE, REQUIRES, RESET, RESET_MIN_MAX, RESET_THRESHOLD, RESTORE_PREVIOUS_TOOL, RESTORE_SETTINGS, RETURN, ROI, ROI_MANAGER, ROI_MANAGER2, ROUND, RUN, RUN_MACRO, SAVE, SAVE_AS, SAVE_SETTINGS, SCREEN_HEIGHT, SCREEN_WIDTH, SELECT, SELECT_IMAGE, SELECTION_CONTAINS, SELECTION_NAME, SELECTION_TYPE, SET_AUTO_THRESHOLD, SET_BACKGROUND, SET_BATCH_MODE, SET_COLOR, SET_FONT, SET_FOREGROUND, SET_JUSTIFICATION, SET_KEY_DOWN, SET_LINE_WIDTH, SET_LOCATION, SET_LUT, SET_METADATA, SET_MIN_MAX, SET_OPTION, SET_PASTE_MODE, SET_PIXEL, SET_RESULT, SET_RGB_WEIGHTS, SET_SELECTION_LOC, SET_SELECTION_NAME, SET_SLICE, SET_THRESHOLD, SET_TOOL, SET_VOXEL_SIZE, SET_Z_COORDINATE, SETUP_UNDO, SHIFT_LEFT, SHIFT_RIGHT, SHOW_MESSAGE, SHOW_MESSAGE_WITH_CANCEL, SHOW_PROGRESS, SHOW_STATUS, SHOW_TEXT, SIN, SNAPSHOT, SPLIT, SQRT, STACK, STARTS_WITH, STRING, STRING_CONSTANT, STRING_FUNCTION, stringFunctionIDs, stringFunctions, SUBSTRING, TABLE, TAN, TO_BINARY, TO_HEX, TO_LOWER_CASE, TO_SCALED, TO_STRING, TO_UNSCALED, TO_UPPER_CASE, TOK_MASK, TOK_SHIFT, TOOL_ID, TRIM, TRUE, UPDATE_DISPLAY, UPDATE_RESULTS, USER_FUNCTION, VAR, VARIABLE_FUNCTION, variableFunctionIDs, variableFunctions, WAIT, WAIT_FOR_USER, WHILE, WORD, WRITE
-
-
Constructor Summary
Constructors Constructor Description Interpreter()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static voidabort()Aborts currently running macro.static voidabort(Interpreter interp)Absolete, replaced by abortMacro().voidabort(String message)voidabortMacro()Aborts this macro.static voidactivateImage(ImagePlus imp)static voidaddBatchModeImage(ImagePlus imp)booleandone()Stringeval(String code)Evaluates 'code' and returns the output, or any error, as a String.static StringgetAdditionalFunctions()static ImagePlusgetBatchModeImage(int id)static intgetBatchModeImageCount()static int[]getBatchModeImageIDs()static RoiManagergetBatchModeRoiManager()Returns the batch mode RoiManager instance.DebuggergetDebugger()StringgetErrorMessage()static InterpretergetInstance()static ImagePlusgetLastBatchModeImage()intgetLineNumber()StringgetStringVariable(String name)doublegetVariable(String name)doublegetVariable2(String name)StringgetVariableAsString(String name)String[]getVariableNames()Returns the names of all variables, without any annotationString[]getVariables()Returns the names of all variables and functions with human-readable annotationsstatic booleanisBatchMode()static booleanisBatchModeRoiManager()Returns true if there is an internal batch mode RoiManager.static booleannonBatchMacroRunning()static voidremoveBatchModeImage(ImagePlus imp)voidrun(int location)Runs an existing macro starting at the specified program counter location.voidrun(Program pgm)Interprets the specified tokenized macro file starting at location 0.voidrun(String macro)Interprets the specified string.Stringrun(String macro, String arg)Runs the specified macro, passing it a string argument and returning a string value.ImagePlusrunBatchMacro(String macro, ImagePlus imp)Runs Process/Batch/ macros.voidrunMacro(Program pgm, int macroLoc, String macroName)Interprets the specified tokenized macro starting at the specified location.voidsaveGlobals(Program pgm)Saves global variables.static voidsetAdditionalFunctions(String functions)Obsolete; replaced by the #include statement.voidsetApplyMacroTable(ResultsTable rt)voidsetDebugger(Debugger debugger)voidsetDebugMode(int mode)voidsetIgnoreErrors(boolean ignoreErrors)voidsetVariable(String name, double value)voidsetVariable(String name, String str)voidshowArrayInspector(int row)Shows array elements after clicking an array variable in Debug window N.voidupdateArrayInspector()Updates Array inspector if variable exists, otherwise closes ArrayInspectorTextWindowupdateDebugWindow(String[] variables, TextWindow debugWindow)booleanwasError()
-
-
-
Method Detail
-
run
public void run(String macro)
Interprets the specified string.
-
run
public String run(String macro, String arg)
Runs the specified macro, passing it a string argument and returning a string value.
-
eval
public String eval(String code)
Evaluates 'code' and returns the output, or any error, as a String.- See Also:
Macro.eval(java.lang.String)
-
run
public void run(Program pgm)
Interprets the specified tokenized macro file starting at location 0.
-
run
public void run(int location)
Runs an existing macro starting at the specified program counter location.
-
runMacro
public void runMacro(Program pgm, int macroLoc, String macroName)
Interprets the specified tokenized macro starting at the specified location.
-
runBatchMacro
public ImagePlus runBatchMacro(String macro, ImagePlus imp)
Runs Process/Batch/ macros.
-
saveGlobals
public void saveGlobals(Program pgm)
Saves global variables.
-
updateDebugWindow
public TextWindow updateDebugWindow(String[] variables, TextWindow debugWindow)
-
abort
public static void abort()
Aborts currently running macro.
-
abort
public static void abort(Interpreter interp)
Absolete, replaced by abortMacro().
-
abortMacro
public void abortMacro()
Aborts this macro.
-
abort
public void abort(String message)
-
getInstance
public static Interpreter getInstance()
-
isBatchMode
public static boolean isBatchMode()
-
addBatchModeImage
public static void addBatchModeImage(ImagePlus imp)
-
removeBatchModeImage
public static void removeBatchModeImage(ImagePlus imp)
-
activateImage
public static void activateImage(ImagePlus imp)
-
getBatchModeImageIDs
public static int[] getBatchModeImageIDs()
-
getBatchModeImageCount
public static int getBatchModeImageCount()
-
getBatchModeImage
public static ImagePlus getBatchModeImage(int id)
-
getLastBatchModeImage
public static ImagePlus getLastBatchModeImage()
-
setAdditionalFunctions
public static void setAdditionalFunctions(String functions)
Obsolete; replaced by the #include statement.
-
getAdditionalFunctions
public static String getAdditionalFunctions()
-
getBatchModeRoiManager
public static RoiManager getBatchModeRoiManager()
Returns the batch mode RoiManager instance.
-
isBatchModeRoiManager
public static boolean isBatchModeRoiManager()
Returns true if there is an internal batch mode RoiManager.
-
setDebugger
public void setDebugger(Debugger debugger)
-
getDebugger
public Debugger getDebugger()
-
setDebugMode
public void setDebugMode(int mode)
-
getLineNumber
public int getLineNumber()
-
getVariables
public String[] getVariables()
Returns the names of all variables and functions with human-readable annotations
-
getVariableNames
public String[] getVariableNames()
Returns the names of all variables, without any annotation
-
done
public boolean done()
-
wasError
public boolean wasError()
-
setVariable
public void setVariable(String name, double value)
-
getVariable
public double getVariable(String name)
-
getVariable2
public double getVariable2(String name)
-
showArrayInspector
public void showArrayInspector(int row)
Shows array elements after clicking an array variable in Debug window N. Vischer- Parameters:
row- Debug window row of variable to be shown
-
updateArrayInspector
public void updateArrayInspector()
Updates Array inspector if variable exists, otherwise closes ArrayInspector
-
nonBatchMacroRunning
public static boolean nonBatchMacroRunning()
-
setApplyMacroTable
public void setApplyMacroTable(ResultsTable rt)
-
setIgnoreErrors
public void setIgnoreErrors(boolean ignoreErrors)
-
getErrorMessage
public String getErrorMessage()
-
-