0% found this document useful (0 votes)
111 views4 pages

Start Up Macros

This document contains macros and tools for drawing, editing images, and customizing menus in ImageJ. It includes tools like a pencil, paintbrush, and flood fill that can draw in the foreground or background color. It also creates popup menus for common commands and provides options to set colors, sizes and other properties of the drawing tools.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
111 views4 pages

Start Up Macros

This document contains macros and tools for drawing, editing images, and customizing menus in ImageJ. It includes tools like a pencil, paintbrush, and flood fill that can draw in the foreground or background color. It also creates popup menus for common commands and provides options to set colors, sizes and other properties of the drawing tools.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 4

// "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,
// eraser and flood fill (paint bucket) tools in NIH Image. The
// pencil and paintbrush draw in the current foreground color
// and the eraser draws in the current background 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 flood fill tool or on the eye
// dropper tool. Double-click on the pencil, paintbrush or eraser
// 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-co
nnected");
// 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" {}
//macro "AutoRun" {
//run("My Plugin");
//}
//macro "Unused Tool -" {}
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 pm
Cmds\" in ImageJ/macros/StartupMacros.txt.");
else
run(cmd);
}
macro "Abort Macro or Plugin (or press Esc key) Action Tool - CbooP51b1f5fbbf5
f1b15510T5c10X" {
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", "Resourc
es", "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-wi
ki/");
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.ht
ml");
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...", "C
oncatenate...", "-",
"Start Animation", "Stop Animation", "Animation Options...", "-", "T1 Hea
d (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 - C037La077Ld098L6859L4a2fL2f4fL3f99L5e9bL9b98L6888L5e


8dL888c" {
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 -C037B21P085373b75d0L4d1aL3135L4050L6166D57D77D68La5a
dLb6bcD09D94" {
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"), fl
oodType);
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);
}
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");
}

You might also like