# maskEllipse

## PURPOSE

Creates a binary image of an ellipse.

## SYNOPSIS

function mask = maskEllipse( mRows, nCols, varargin )

## DESCRIPTION

     Creates a binary image of an ellipse.

     Creates a binary image of size (mRows x nCols), with all pixels set to 0
     outside the ellipse and 1 inside.  The ellipse is given by 5 parameters,
     a semimajor axis of ra, a semminor axis of radius rb, angle phi (in
     radians), and center (cRow,cCol). An alternative method of specifying the
     ellipse parameters is in terms of a 2D Gaussian. For more info on how a
     Gaussian relates to an ellipse see gauss2ellipse.

     USAGE
      mask = maskEllipse( mRows, nCols, cRow, cCol, ra, rb, phi )
      mask = maskEllipse( mRows, nCols, mu, C, [rad] )

     INPUTS [version 1]
      mRows   - number of rows in mask
      nCols   - number of columns in mask
      cRow    - the row location of the center of the ellipse
      cCol    - the column location of the center of the ellipse
      ra      - semi-major axis length (in pixels) of the ellipse
      rb      - semi-minor axis length (in pixels) of the ellipse
      phi     - rotation angle (in radians) of semimajor axis to x-axis

     INPUTS [version 2]
      mRows   - number of rows in mask
      nCols   - number of columns in mask
      mu      - 1x2 vector representing the center of the ellipse
      C       - 2x2 cov matrix
      rad     - [2] Number of std to create the ellipse to

     OUTPUTS
      mask    - created image mask

     EXAMPLE
      mask = maskEllipse(  200, 200, 40, 100,  20, 15, pi/4 );
      figure(1); im(mask); [mu,C] = imMlGauss( mask, 0, 2 );

     See also PLOTELLIPSE, GAUSS2ELLIPSE, MASKCIRCLE, MASKGAUSSIANS, IMMLGAUSS

     Piotr's Image&Video Toolbox      Version 2.40
     Copyright 2012 Piotr Dollar.  [pdollar-at-caltech.edu]
     Please email me if you find bugs, or have suggestions or questions!
     Licensed under the Simplified BSD License [see external/bsd.txt]