JNA API 4.0.0

com.sun.jna.platform
Class RasterRangesUtils

java.lang.Object
  extended by com.sun.jna.platform.RasterRangesUtils

public class RasterRangesUtils
extends Object

Methods that are useful to decompose a raster into a set of rectangles. An occupied pixel has two possible meanings, depending on the raster :

Author:
Olivier Chafik

Nested Class Summary
static interface RasterRangesUtils.RangesOutput
          Abstraction of a sink for ranges.
 
Constructor Summary
RasterRangesUtils()
           
 
Method Summary
static boolean outputOccupiedRanges(int[] pixels, int w, int h, int occupationMask, RasterRangesUtils.RangesOutput out)
          Output the occupied values of an integer-pixels image as ranges of contiguous values.
static boolean outputOccupiedRanges(Raster raster, RasterRangesUtils.RangesOutput out)
          Outputs ranges of occupied pixels.
static boolean outputOccupiedRangesOfBinaryPixels(byte[] binaryBits, int w, int h, RasterRangesUtils.RangesOutput out)
          Output the non-null values of a binary image as ranges of contiguous values.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RasterRangesUtils

public RasterRangesUtils()
Method Detail

outputOccupiedRanges

public static boolean outputOccupiedRanges(Raster raster,
                                           RasterRangesUtils.RangesOutput out)
Outputs ranges of occupied pixels. In a raster that has an alpha layer, a pixel is occupied if its alpha value is not null. In a raster without alpha layer, a pixel is occupied if it is not completely black.

Parameters:
raster - image to be segmented in non black or non-transparent ranges
out - destination of the non null ranges
Returns:
true if the output succeeded, false otherwise

outputOccupiedRangesOfBinaryPixels

public static boolean outputOccupiedRangesOfBinaryPixels(byte[] binaryBits,
                                                         int w,
                                                         int h,
                                                         RasterRangesUtils.RangesOutput out)
Output the non-null values of a binary image as ranges of contiguous values.

Parameters:
binaryBits - byte-packed binary bits of an image
w - width of the image (in pixels)
h - height of the image
out -
Returns:
true if the output succeeded, false otherwise

outputOccupiedRanges

public static boolean outputOccupiedRanges(int[] pixels,
                                           int w,
                                           int h,
                                           int occupationMask,
                                           RasterRangesUtils.RangesOutput out)
Output the occupied values of an integer-pixels image as ranges of contiguous values. A pixel is considered occupied if the bitwise AND of its integer value with the provided occupationMask is not null.

Parameters:
pixels - integer values of the pixels of an image
w - width of the image (in pixels)
h - height of the image
occupationMask - mask used to select which bits are used in a pixel to check its occupied status. 0xff000000 would only take the alpha layer into account, for instance.
out - where to output all the contiguous ranges of non occupied pixels
Returns:
true if the output succeeded, false otherwise

JNA API 4.0.0

Copyright © 2007-2013 Timothy Wall. All Rights Reserved.