// "StartupMacros" // The macros and macro tools in this file ("StartupMacros.txt") are // automatically installed in the Plugins>Macros submenu and // in the tool bar when ImageJ starts up. // About the drawing tools. // // This is a set of drawing tools similar to the pencil, paintbrush // and flood fill (paint bucket) tools in NIH Image. The pencil // and paintbrush draw in the current foreground color. The // flood fill tool fills the selected area using the foreground color. // Hold down the alt key to have the pencil and paintbrush draw // using the background color or to have the flood fill tool fill // using the background color. Set the foreground and background // colors by double-clicking on the eye dropper tool. Double-click // on the pencil or paintbrush tool to set the drawing width for that tool. // // Icons contributed by Tony Collins. // Global variables var pencilWidth=1, eraserWidth=10, leftClick=16, alt=8; var brushWidth = 10; //call("ij.Prefs.get", "startup.brush", "10"); var floodType = "8-connected"; //call("ij.Prefs.get", "startup.flood", "8-connected"); // The macro named "AutoRun" runs when ImageJ starts. // macro "AutoRun" { // print("AutoRun"); // } // The macro named "AutoRunAndHide" runs when ImageJ starts // and the file containing it is not displayed when ImageJ opens it. // macro "AutoRunAndHide" {} var pmCmds = newMenu("Popup Menu", newArray("Help...", "Rename...", "Duplicate...", "Original Scale", "Paste Control...", "-", "Record...", "Capture Screen ", "Monitor Memory...", "List Commands...", "Control Panel...", "Startup Macros...", "Search...")); macro "Popup Menu" { cmd = getArgument(); if (cmd=="Help...") showMessage("About Popup Menu", "To customize this menu, edit the line that starts with\n\"var pmCmds\" in ImageJ/macros/StartupMacros.txt."); else run(cmd); } macro "Unused Tool -" {} //macro "Abort Macro or Plugin (or press Esc key) Action Tool - CbooP51b1f5fbbf5f1b15510T5c10X" { // setKeyDown("Esc"); // var xx = requires138b(); // check version at install function requires138b() {requires("1.38b"); return 0; } var dCmds = newMenu("Developer Menu Tool", newArray("ImageJ Website","News", "Documentation", "ImageJ Wiki", "Resources", "Macro Language", "Macros", "Macro Functions", "Startup Macros...", "Plugins", "Source Code", "Mailing List Archives", "-", "Record...", "Capture Screen ", "Monitor Memory...", "List Commands...", "Control Panel...", "Search...", "Debug Mode")); macro "Developer Menu Tool - C037T0b11DT7b09eTcb09v" { cmd = getArgument(); if (cmd=="ImageJ Website") run("URL...", "url=http://rsbweb.nih.gov/ij/"); else if (cmd=="News") run("URL...", "url=http://rsbweb.nih.gov/ij/notes.html"); else if (cmd=="Documentation") run("URL...", "url=http://rsbweb.nih.gov/ij/docs/"); else if (cmd=="ImageJ Wiki") run("URL...", "url=http://imagejdocu.tudor.lu/imagej-documentation-wiki/"); else if (cmd=="Resources") run("URL...", "url=http://rsbweb.nih.gov/ij/developer/"); else if (cmd=="Macro Language") run("URL...", "url=http://rsbweb.nih.gov/ij/developer/macro/macros.html"); else if (cmd=="Macros") run("URL...", "url=http://rsbweb.nih.gov/ij/macros/"); else if (cmd=="Macro Functions") run("URL...", "url=http://rsbweb.nih.gov/ij/developer/macro/functions.html"); else if (cmd=="Plugins") run("URL...", "url=http://rsbweb.nih.gov/ij/plugins/"); else if (cmd=="Source Code") run("URL...", "url=http://rsbweb.nih.gov/ij/developer/source/"); else if (cmd=="Mailing List Archives") run("URL...", "url=https://list.nih.gov/archives/imagej.html"); else if (cmd=="Debug Mode") setOption("DebugMode", true); else if (cmd!="-") run(cmd); } var sCmds = newMenu("Stacks Menu Tool", newArray("Add Slice", "Delete Slice", "Next Slice [>]", "Previous Slice [<]", "Set Slice...", "-", "Images to Stack", "Stack to Images", "Make Montage...", "Reslice [/]...", "Z Project...", "3D Project...", "Plot Z-axis Profile", "-", "Label...", "Combine...", "Concatenate...", "-", "Start Animation", "Stop Animation", "Animation Options...", "-", "T1 Head (2.4M, 16-bits)")); macro "Stacks Menu Tool - C037T0b11ST8b09tTcb09k" { cmd = getArgument(); if (cmd=="Images to Stack") run(cmd, " "); else if (cmd!="-") run(cmd); } macro "Pencil Tool - C037L494fL4990L90b0Lc1c3L82a4Lb58bL7c4fDb4L5a5dL6b6cD7b" { getCursorLoc(x, y, z, flags); if (flags&alt!=0) setColorToBackgound(); draw(pencilWidth); } macro 'Pencil Tool Options...' { pencilWidth = getNumber("Pencil Width (pixels):", pencilWidth); } macro "Paintbrush Tool - C037La077Ld098L6859L4a2fL2f4fL3f99L5e9bL9b98L6888L5e8dL888c" { getCursorLoc(x, y, z, flags); if (flags&alt!=0) setColorToBackgound(); draw(brushWidth); } macro 'Paintbrush Tool Options...' { brushWidth = getNumber("Brush Width (pixels):", brushWidth); call("ij.Prefs.set", "startup.brush", brushWidth); } macro "Flood Fill Tool -C037B21P085373b75d0L4d1aL3135L4050L6166D57D77D68La5adLb6bcD09D94" { requires("1.34j"); setupUndo(); getCursorLoc(x, y, z, flags); if (flags&alt!=0) setColorToBackgound(); floodFill(x, y, floodType); } function draw(width) { requires("1.32g"); setupUndo(); getCursorLoc(x, y, z, flags); setLineWidth(width); moveTo(x,y); x2=-1; y2=-1; while (true) { getCursorLoc(x, y, z, flags); if (flags&leftClick==0) exit(); if (x!=x2 || y!=y2) lineTo(x,y); x2=x; y2 =y; wait(10); } } function setColorToBackgound() { savep = getPixel(0, 0); makeRectangle(0, 0, 1, 1); run("Clear"); background = getPixel(0, 0); run("Select None"); setPixel(0, 0, savep); setColor(background); } macro 'Flood Fill Tool Options...' { Dialog.create("Flood Fill Tool"); Dialog.addChoice("Flood Type:", newArray("4-connected", "8-connected"), floodType); Dialog.show(); floodType = Dialog.getChoice(); call("ij.Prefs.set", "startup.flood", floodType); } macro "Set Drawing Color..."{ run("Color Picker..."); } macro "-" {} //menu divider macro "About Startup Macros..." { path = getDirectory("macros")+"About Startup Macros"; if (!File.exists(path)) exit("\"About Startup Macros\" not found in ImageJ/macros/."); open(path); } // This example macro demonstrates how to create a // custom command with a keyboard shortcut. macro "Save As JPEG... [j]" { quality = call("ij.plugin.JpegWriter.getQuality"); quality = getNumber("JPEG quality (0-100):", quality); run("Input/Output...", "jpeg="+quality); saveAs("Jpeg"); }