Fiji/Menu

Revision as of 05:06, 16 November 2008 by Albertcardona (talk | contribs) (Updated plugins/Examples list.)

The hierarchy of the Plugins Menu is show here, with a few words of explanation for each plugin and links to more documentation where available. If you know about a plugin that is in this list, but which doesn't yet have a description, please add it. Also please update this page if you change the menu structure in any way.

FIXME: ideally we should generate this page automatically from the fiji source tree...

Plugins

[Ungrouped Plugins]

  • 3D Viewer: This will launch the ImageJ 3D viewer so that you can visualize an image in 3D, either volume- or surface-rendered. Further documentation.
  • Multiple Image Processor: Apply a macro to all files in a folder, outputting resulting images to a target folder.
  • View5D: interactively displays of up to 5 dimensional volumetric datasets. See the View5D main web page.
  • Volume Viewer: shows stacks as volumes within a 3D-(xyz)-space. Both volume rendering and arbitrary 3D reslicing. See the volume viewer web page.

Analyze

  • Grid: overlays a grid of cells on an image, non-destructively, as a visual aid for measurements.
  • Find differences:
  • Delaunay Voronoi:
  • Measure RGB: applies the measurement command to each color channel separately, and also to the result of a weighted merging of red, green and blue.
  • Plot Dots:
  • VIB Protocol: Visual Insect Brain protocol for segmentation and annotation of 3D structures. See main VIB web page.
  • 2D Histogram: draw a 2D histogram showing the distribution of values in pairs of points in two images.
  • Visual Grep: find any occurrences of a small image needle into a larger image haystack.
  • Compute Curvatures: calculate the principal curvatures of an image at each point.
  • Tubeness: calculate a score of how "tube-like" each point in an image is, based on the principal curvatures. This plugin is very useful as a preprocessing step to visualize axons and dendrites in the 3D Viewer plugin.
  • Surfaceness: calculate a score of how "surface-like" each point in an image is, based on the principal curvatures.

Examples

  • Anaglyph for Red Cyan glasses: Creates an anaglyph from an image stack, which can then be seen in 3D using special red/cyan glasses. Written in [[JRuby Scripting] JRuby].
  • Blobs Demo in Ruby: Implementation of the Blobs demo macro in the JRuby language. All relevant ImageJ macro functions are reimplemented in JRuby.
  • blend two images: Fetches the mandril (RGB) and bridge (8-bit) sample images, and blends the bridge image into each color channel of the mandril image. Written in Clojure (lisp).
  • celsius to fahrenheit: Shows a swing GUI with buttons and labels, with attached listeners to transform celsius degrees to fahrenheit. Written in Clojure (lisp).
  • Command Launcher: demonstrates how to use a GenericDialog and how to respond dynamically to typed characters in a text field, to look up existing ImageJ commands that match the text. Written in Jython, [Clojure Scripting|Clojure]] and Javascript.
  • Delayed Snapshot: pops up a dialog to choose a waiting time, after which a screenshot is taken. Written in Jython.
  • Example Plot: Creates a plot with two colored lines in it. Written in Java.
  • list all threads: Lists all threads to stdout (the terminal, or Console.app in MacOSX). Written in Jython.
  • Multithreaded Image Processing: step-by-step guide on how to parallelize the processing of all pixels in an image. Demonstrates how to use defmacro to generalize the processing by any function, which is given to the macro as an argument. Written in Clojure (lisp).
  • Multithreaded Image Processing in Javascript: similar to the above, demonstrates how to parallelize the processing of all pixels in an image. In addition, the plugin shows how to use functions with variable number of arguments, and how to pass functions as function arguments and execute them. Written in Javascript.
  • Plasma Cloud: instructive example on how to generate a plasma cloud in JRuby.
  • Same Slice in Multiple Images: extracts a given slice by number from a list of image stacks, and makes a stack with them all. Useful for example to create 4D data sets. Written in [[JRuby Scripting] JRuby].
  • random noise example: Generates two 8-bit images with random pixel value in each. Written in Clojure (lisp).
  • T2 Select All: Selects all objects in an open TrakEM2 display. Written in Jython.
  • T2 set all transforms to identity: Resets the transformation matrix (translation,rotation,scaling and shear) of all objects in a TrakEM2 display to identity (zero translation, scaling of 1.0, zero rotation and no shear). Written in Jython.
  • TrakEM2 Add Balls: example on how to manipulate a TrakEM2 project from a plugin, accessing its internal data structures, including interaction with the 3D Viewer. Particularly, this plugin creates a number of Ball objects, each one containing a collection of X,Y,Z,R coordinates describing spheres of radius R in 3D space. Written in Java.
  • downsample: Proper Gaussian downsampling of an image (i.e. most accurate resizing possible of an image). Written in Javascript.

Feature Extraction

Image5D

Multiple color channel support. See main Image5D website.

  • New Image5D:
  • Open Image5D:
  • Save Image5D:
  • Open Series As Image5D:
  • Virtual Image5D Opener:
  • Hypervolume Opener:
  • Stack to Image5D:
  • RGB to Image5D:
  • Image5D to Stack:
  • Set Position:
  • Set Channel Display:
  • Set Channel Labels:
  • Make Montage:
  • Z Project:
  • Image5D Stack to RGB:
  • Transfer Channel Settings:

LOCI

Multiple image format readers and writers, including for the Open Microscopy Environment or OME. See the main LOCI website.

Macros

This submenu should be removed, and the individual macros place in appropriate places in the menu hierarchy

  • About Plugin Macros:
  • Bulls Eye:
  • Macro Interpreter:
  • Polygon:
  • RGB Histogram:
  • batch convert any to tif:

Process

  • Bilateral Filter:
  • IFT:
  • Implicit Interpolate Binary:
  • Replace value:
  • Distance Transform 3D:
  • Fill holes:
  • Moving Least Squares:
  • Reslice Z:
  • Shape-based averaging:
  • Seam remover:
  • Show label centers:
  • Triangle Algorithm:
  • Mask of Nearby Points: create a mask of all points within a given distance of any point above a given threshold Further documentation
  • Find Connected Regions: find connected regions in an image stack based on various criteria Further documentation
  • Quantile Based Normalization: a method of histogram equalization across several images Futher documentation
  • Resample: resample to reduce the size of an image
  • Convolve (3D):
  • Dilate (3D):
  • Erode (3D):
  • FFT (3D):
  • Flood Fill (3D):
  • Gradient (3D):
  • IFT (3D):
  • Laplace (3D):
  • Maximum (3D):
  • Max (3D): FIXME: don't need both this an the one above
  • Median (3D):
  • Minimum (3D):
  • Particle Analyzer (3D):
  • Plot Dots (3D):
  • Rebin (3D):
  • Smooth (3D):

Registration

  • Align Image by line ROI: Set a line ROI in two images and run this plugin to register the second to the first, with scale/rotate/translate according to the orientation and length of the lines. See Align image by line ROI.
  • Rigid Registration:
  • Moving Least Squares: Given two sets of points in two images, register one image to the other according to the point correspondences. You can define the points manually with Point Roi (just click and hold shift to add more than one point), and also from a script. See Moving Least Squares.
  • Consistent and elastic registration in 2D: bUnwarpJ: Registration method based on elastic deformations represented by B-splines. The invertibility of the deformations is forced through a consistency restriction. See bUnwarpJ
  • Register Virtual Stack Slices: Given a folder of ordered images, where each image is a slice in a series, register each slice to the previous using SIFT (only translation or translation+rotation) or phase-correlation (no rotation). For more information see Register Virtual Stack Slices.
  • Stiching (2D/3D): Given any number of stacks, stitch them together (translation only, but in X, Y and Z axes) and apply smooth intensity blending in the overlapping areas. Very useful for joining confocal stacks. If only two stacks are registered it accepts retangular ROIs in each stack to limit the area to search into, for more than two stacks/images a tile configuration has to be created. For more information see Stitching 2D/3D.

Scripting

  • BeanShell Interpreter: This plugin launches an interactive BeanShell interpeter. For more information on BeanShell support, see BeanShell Scripting
  • Clojure Interpreter: This plugin launches an interactive Clojure interpeter. For more information on Clojure support, see Clojure Scripting
  • JRuby Interpreter: This plugin launches an interactive JRuby interpeter. For more information on JRuby support, see JRuby Scripting
  • Jython Interpreter: This plugin launches an interactive Jython interpeter. For more information on Jython support, see Jython Scripting and also see some examples.
  • Javascript Interpreter: This plugin launches an interactive Javascript interpeter. For more information on Javascript support, see Javascript Scripting
  • Macro Interpreter: This plugin launches an interactive ImageJ Macro interpeter. For more information see Macro Interpreter and examples.

See also Scripting Help and the Scripting_comparisons.

Segmentation

  • Segmentation Editor: This plugin provides a user interface for manually segmenting images by painting over regions in an image stack. Futher documentation.
  • Simple Neurite Tracer: A plugin for semi-automated tracing of neurons in a 3D image stack Further documentation
  • Level Sets: Active contours implementation using Level Sets and Fast Marching methods.

Stacks

If we keep this option, I think it should be restricted to plugins that operate a stack but which don't care about the content, e.g. those for cropping or reslicing. (At least there needs to be some distinction since practically every plugin operates on stacks.)

  • Crop (3D): Crop an image stack Further documentation
  • Stack Reverser: This plugin reverses the order of the slices in an image stack.

Stitching

  • 2D Stitching: Stitch two 2-dimensional images, rectangular ROIs can be used to limit the area to search in.
  • 3D Stitching: Stitch two image stacks (3D), rectangular ROIs can be used to limit the area to search in as well.
  • Stitch Grid of Images: Stitch an arbitrary number of 2D or 3D images (i.e. stacks) which are arranged in a regular grid (e.g. 4 x 3 images with roughly 10% overlap)
  • Stitch Collection of Images: Stitch an arbitrary number of 2D or 3D images (i.e. stacks) which do not have to be in a regular grid. The rough initial configuration (which image is overlapping another one) is given in tile configuration file.

Non-destructive stitching is available via TrakEM2 (i.e. floating, adjustable images).

Transform

TransformJ

TransformJ is non-free, and in any case should not have its own submenu - probably should rename this to Transform

  • TJ Affine:
  • TJ Crop:
  • TJ Embed:
  • TJ Mirror:
  • TJ Options:
  • TJ Panel:
  • TJ Rotate:
  • TJ Scale:
  • TJ Shift:
  • TJ Turn:

Unknown

  • KD Cartoon:
  • Lasso:

Utilities

  • Collect Garbage:
  • Install Java3D:
  • Adjust Menu Font:
  • Thread killer:

Utilities>Debugging

  • Test Marching Cubes:
  • Test Java3D: