/mip

Matlab image processing (alternative to Image processing toolbox)

Primary LanguageMATLAB

MIP - Matlab Image Processing

About

MIP is a Matlab class provided for basic image processing and a few optical calculations based on Fourier optics. It is primarily meant to deal with black and white data (not color) and complex data (electric field.)

It does not require any Matlab toolbox to run (most importantly, a few function equivalent to those in Image Procesing Toolbox are implemented; it comes handy in cases where your are porting some of your code to a computer that does not have this toolbox and need some basic functions, but it is by no means intended to replace the toolbox itself.)

If you are interested in using open programming languages, check out JLo, an equivalent for Julia, a really powerful language with a syntax very similar to Matlab.

Usage

To use it, download MIP.m git clone https://github.com/awojdyla/mip

Make sure MIP.m is in your current folder (or add them to your path, e.g. addpath(/Users/awojdyla/Documents/MATLAB/mip)).

Then you can start using it by calling functions like this:

img_rot = MIP.rotate(img, angle_deg)

rotates an image img by an angle angle_deg in degree.

The code should be reasonably documented, and you can help for most functions by typing in the Command Window (e.g. if you need help on MIP.extract_ler):

>>help MIP.extract_ler

Full documentation is available by typing:

>>doc MIP

Things to know

MIP can be used to process images stacks. The image stacks are 1D-cells.

Some functions are not implemented for image stacks, but they can be batch processed using MIP.batch, e.g.:

img_rot = MIP.batch(img,sprintf('MIP.rotate(x,%c)',angle_deg));

where img is a cell of images, and angle_deg is an angle in degree.

Examples

(Please refere to test_mip.m for many other examples)

  • Rotate and rescale an image
  • Crop and pad an image
  • Cell manipulation for display
  • Background subtraction and detrending
  • Cross-section, centroids
  • Displaying and saving complex data (.kif format)
  • Optical propagation using Fourier optics
  • Zernike polynomials and projection
  • Measuring the line edge roughess
  • Fourier ptychography reconstruction
  • Fourier Ring Coefficients (FRC)

Helper functions

There are a bunch of functions that can be useful: Fourier ring coefficients, display phase and amplitude

Disclaimer

The software is provided "as is", without warranty of any kind, express or implied.