Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Problem 908. AVIRIS Inscribed Rectangle Bit Mask - Speed Test

Created by Richard Zapor

The AVIRIS data sometimes is provided uncropped. This creates edge regions with values of "-50". Shown is AVIRIS Moffett Field image Layer 1 (400nm) and a zoom of the top-right corner. The dark blue on the edges is non-imaged ground.

To expedite compression the unused mask can be created with an interior excluded rectangle of no Zeros and maximum pixels. The challenge is to quickly and accurately determine the maximum non-zero inscribed rectangle for this image and some other test cases.

Input: m ( 2-D array with zero and non-zero values )

Output: [idxtlc rmnr rmnc]

  • idxtlc : array index of top left corner
  • rmnr : numer of rows of the non-zero rectangle mask
  • rmnc : number of columns of the non-zero rectangle mask

Score: Time ( msec ) Based upon time to process the 1924x753 AVIRIS image.

(If time-out occurs I suggest downloading the mat file using the test suite code and then optimize with profiler.)

Passing: Minimum number of pixels in rectangle

Example:

  • m=[ 1 1 0 1 1......idxtlc = 3 ( index of TLC row 3, col 1)
  • ........1 0 1 1 1......rmnr = 3 ( rectangle mask number rows )
  • ........1 1 1 1 1......rmnc = 5 ( rectangle mask number columns )
  • ........1 1 1 1 1......Maximum rectangle pixels of 15
  • ........1 1 1 1 1 ]

For the AVIRIS image the zero edge bit mask encoding can be reduced 89% using an inscribed rectangle.

Note: Additional test cases may be invoked if hard coded solution achieves best score.

Problem Group

Solution Statistics

2 correct solutions 8 incorrect solutions
Last solution submitted on Oct 29, 2013