This is an archive of the old MediaWiki-based ImageJ wiki. The current website can be found at imagej.net.
ImageJ1-ImageJ2 cheat sheet
This page summarizes translation of basic operations of ImageJ1 and ImageJ2 API. Based on the work of Robert Haase, Scientific Computing Facility, MPI-CBG Dresden.
| Task | ImageJ1 | ImageJ2 |
|---|---|---|
| Starting ImageJ | new ij.ImageJ(); |
ImageJ ij = new net.imagej.ImageJ(); ij.ui().showUI(); |
| Show images | imp is an ImagePlus object
imp.show() |
ij.ui().show(imp); ImageJFunctions.show(imp); ImageJFunctions.wrap(imp,"Image").show(); |
| Retrieve an active image object | ImagePlus imp = IJ.getImage(); |
Script parameter (the same for Dataset, ImagePlus, etc.):
#@ Img image In Java code: @Parameter private Img image; Using Dataset image = ij.imageDisplay().getActiveDataset(); |
| Open an image file | IJ.openImage() returns an ImagePlus object without showing.
ImagePlus imp = IJ.openImage(urlOrFilePath); imp.show();
IJ.open(urlOrFilePath); ImagePlus imp = IJ.getImage(); |
Using IOService:
Object image = ij.io().open(urlOrFilePath); Using Dataset image = ij.scifio().datasetIO().open(urlOrFilePath); |
| Save an image file | IJ.saveasTiff(imp, "/path/to/image.tif") |
Using IOService:
ij.io().save(dataset, "/path/to/image.tif"); Using ij.scifio().datasetIO().save(dataset, "/path/to/image.tif"); |
| Convert image types | Convert from ImageJ2 Img object to ImageJ1 ImagePlus object: ImagePlus imp = ImageJFunctions.wrap(img,"Title"); |
Convert from ImageJ1 ImagePlus object to ImgLib2 Img object: Img<T> realImg = ImageJFunctions.wrapReal(imp); Img<FloatType> floatImg = ImageJFunctions.convertFloat(imp); Img<FloatType> realImg2 = ImageJFunctions.wrap(imp); |
| Show regions | imagePlus.setRoi(roi) |
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); imagePlus.setRoi(roi); |
| Run plugins | IJ.run(imagePlus,"Normalisation",""); |
ij.command().run(ImageNormalizerIJ2Plugin.class, true, "input", img, "ij", ij); |
| Define plugins |
public class ImageNormalizerPlugin implements PluginFilter {
...
}
In Plugins>Filtering, "Normalisation", NormalizerPlugin |
@Plugin(type = Command.class, menuPath = "Plugins>Normalization")
public class ImageNormalizerIJ2Plugin implements Command {
...
}
|
See also
https://github.com/mpicbg-scicomp/ij2course-images/blob/master/slides/ij_legacy_cheetsheet.pdf