ImageJ1-ImageJ2 cheat sheet

Revision as of 23:32, 8 October 2018 by Kouichicnakamura (talk | contribs)

This page summarizes translation of basic operations of ImageJ1 and ImageJ2 API. Based on the work of Robert Hasse, Scientific Computing Facility, MPI CBG Dresden.

Task ImageJ1 ImageJ2
Starting ImageJ
ImageJ ij = new net.imagej.ImageJ();
Show images
Convert image types Convert from ImageJ2 Img object to ImageJ1 ImagePlus object:
ImagePlus imp = ImageJFunctions.wrap(img,"Title");
Convert from ImageJ1 ImagePlus object to ImageJ Img object:
Img<T> realImg = ImageJFunctions.wrapReal(imp);
Img<FloatType> floatImg = ImageJFunctions.convertFloat(imp);
Img<FloatType> realImg2 = ImageJFunctions.wrap(imp);
Show regions
Img<BitType> mask; // = ...
ImagePlus maskImp =ImageJFunctions.wrap(mask, "mask");
// threshold the mask to get an ROI
ImageProcessor imageProcessor = maskImp.getProcessor();
imageProcessor.setThreshold(128,128,ImageProcessor NO_LUT_UPDATE);
Roi roi = new ThresholdToSelection().convert(imageProcessor);
Run plugins,"Normalisation","");
ij.command().run(ImageNormalizerIJ2Plugin.class,false, new Object[]{"input", img, "ij", ij});,"Normalisation (IJ2)", "");
// don't forget the IJ legacy dependency
Define plugins
public class ImageNormalizerPlugin implements PluginFilter {
Pluins>Filtering, "Normalisation", NormalizerPlugin
@Plugin(type = Command.class, menuPath = "Plugins>Normalization")
public class ImageNormalizerIJ2Plugin implements Command {

See also