Graphic STI
logo EPFL
text EPFL
english only
Biomedical Imaging Group
MIJ
BIG > Download Algorithms > Daniel Sage > MIJ
CONTENTS

BIG Home page

News

People

Research

Publications

Demos

Download Algorithms

Teaching

Student Projects

DOWNLOAD

mij.jar
ImageJ Distribution
miji.m
Fiji Distribution

Matlab Central Distribution
Open Comments

MIJ

A Java package for running ImageJ and Fiji within Matlab

Daniel Sage, Biomedical Image Group, EPFL, Switzerland

Dimiter Prodanov, Bio-Nano Electronics Department, Imec, Leuven, Belgium

Carlos Ortiz, Department of Physics, North Carolina State University, Raleigh, NC, USA

Jean-Yves Tinevez, Imagopole, Institut Pasteur, Paris, France

Outline

MIJ offers the missing link between two imaging software: ImageJ/Fiji and Matlab. The goal of the package mij.jar is to provide static methods to exchange images and volumes. MIJ allows also to access to all built-in functions of ImageJ and to third-part plugins of ImageJ. MIJ is integrated in Fiji with a super-easy script to use it.

Thanks to the Fiji team, MIJ is now super-easy to use using a Matlab script Miji.m which is integrated in Fiji. ImageJ/Fiji becomes a image-processing librairie of Matlab.

Reference

Daniel Sage, Dimiter Prodanov, Jean-Yves Tinevez and Johannes Schindelin, MIJ: Making Interoperability Between ImageJ and Matlab Possible ImageJ User & Developer Conference, 24-26 October 2012, Luxembourg. Poster [PDF, 1.9 Mb]

splash image

Software

Some interesting features

Matlab prerequirements

The package requires a proper installation of ImageJ and Matlab. The package was tested since Matlab 7.9.0 (R2009b) on different plateforms a Windows XP, Mac OSX 10.6, and Linux Ubuntu.

Download and install

Download mij.jar and place it into the java directory of Matlab (e.g for Window Machine 'C:\Program Files\MATLAB\R2009b\java\'). Copy also the ij.jar of ImageJ in the java directory of Matlab.

Set up the path (with a ImageJ already installed and configured):

Set up the paths (without any ImageJ yet installed):

Set up the memory:

Source Code and Documentation

Supported methods in the version 1.3.9

MethodDescription
MIJ.closeAllWindowsClose all windows
MIJ.createColorexports RGB image
MIJ.createImageexports other images
MIJ.errordisplay a error message in a dialog box
MIJ.exitexists MIJ
MIJ.getCurrentImagereturns a 2D array representing the current image
MIJ.getImagereturns a 2D array representing the image specified by the title
MIJ.getColumnimports column of the ResultsTable
MIJ.getCurrentTitleimports the title of the current image
MIJ.getHistogramimports the histogram of the current image
MIJ.getLogreturns the contents of the window log of ImageJ
MIJ.getListImagesreturns the list of opened images
MIJ.getListColumnsreturns the list of columns currently used in the ResultsTable
MIJ.getResultsTableimports the ResultsTable
MIJ.getRoiimports the current ROI
MIJ.helpgives a brief description of the MIJ methods
MIJ.logprint a message in the window console of ImageJ
MIJ.selectWindowselect a window
MIJ.setRoiexports the current ROI
MIJ.setColumnexports contents to a column in the ResultsTable
MIJ.setSliceset the slice of a stack of image
MIJ.setThresholdsets the threshods of the image
MIJ.setupExtpoints to the folder containing ij.jar and plugins and macros folder
MIJ.showStatusdisplay a message in the status bar of ImageJ
MIJ.startstarts MIJ
MIJ.runruns command or macro
MIJ.versionreturn the MIJ version

Mapping the Matlab numeric type to ImageJ type

MatlabImageJ image type
uint8Grayscale 8-bit
int8Grayscale 8-bit
uint16Grayscale 16-bit
int16Grayscale 16-bit
uint32Grayscale 16-bit (Possible loss of precision)
int32Grayscale 16-bit (Possible loss of precision)
uint64Not allowed
int64Not allowed
singleGrayscale 32-bit
doubleGrayscale 32-bit (Possible loss of precision)

Script examples

Screenshot

Using fast Matlab routines and display resulting images on ImageJ

screenshot

Reading image files using Bio-Formats on Matlab

screenshot

Image-analysis on ImageJ, statistics on Matlab

screenshot

Conditions of use

You'll be free to use this software for research purposes, but you must not transmit and distribute it without our consent. In addition, you undertake to include a citation whenever you present or publish results that are based on it. EPFL makes no warranties of any kind on this software and shall in no event be liable for damages of any kind in connection with the use and exploitation of this technology.

daniel.sage@epfl.ch • 09.11.2018