net.sourceforge.jiu.data

Interface IntegerImage

All Superinterfaces:
PixelImage
Known Subinterfaces:
BilevelImage, ByteChannelImage, Gray16Image, Gray8Image, GrayIntegerImage, Paletted8Image, PalettedIntegerImage, RGB24Image, RGB48Image, RGBIntegerImage, ShortChannelImage
Known Implementing Classes:
BufferedRGB24Image, MemoryBilevelImage, MemoryByteChannelImage, MemoryGray16Image, MemoryGray8Image, MemoryPaletted8Image, MemoryRGB24Image, MemoryRGB48Image, MemoryShortChannelImage

public interface IntegerImage
extends PixelImage

Extends the PixelImage interface to access image data as int values. Image types based on byte, char, short and int will work with this interface. long will not.

Using this interface provides a nice way of accessing a large variety of image types, but for performance reasons it might be preferable to use one of the class-specific access methods that get or put several values at a time, e.g. getByteSamples in ByteChannelImage.

Author:
Marco Schmidt

Method Summary

void
clear(int newValue)
Sets all samples in the first channel to the argument value.
void
clear(int channelIndex, int newValue)
Sets all samples of the channelIndex'th channel to newValue.
int
getMaxSample(int channel)
Returns the maximum value for one of the image's channels.
int
getSample(int x, int y)
Returns one sample of the first channel (index 0).
int
getSample(int channel, int x, int y)
Returns one sample, specified by its channel index and location.
void
getSamples(int channelIndex, int x, int y, int w, int h, int[] dest, int destOffs)
Copies a number of samples from this image to an int[] object.
void
putSample(int x, int y, int newValue)
This method sets one sample of the first channel (index 0) to a new value.
void
putSample(int channel, int x, int y, int newValue)
This method sets one sample to a new value.
void
putSamples(int channel, int x, int y, int w, int h, int[] src, int srcOffset)
Copies a number of samples from an int[] array to this image.

Methods inherited from interface net.sourceforge.jiu.data.PixelImage

createCompatibleImage, createCopy, getAllocatedMemory, getBitsPerPixel, getHeight, getImageType, getNumChannels, getWidth

Method Details

clear

public void clear(int newValue)
Sets all samples in the first channel to the argument value. Equal to clear(0, newValue);:

clear

public void clear(int channelIndex,
                  int newValue)
Sets all samples of the channelIndex'th channel to newValue.

getMaxSample

public int getMaxSample(int channel)
Returns the maximum value for one of the image's channels. The minimum value is always 0.
Parameters:
channel - zero-based index of the channel, from 0 to getNumChannels() - 1
Returns:
maximum allowed sample value

getSample

public int getSample(int x,
                     int y)
Returns one sample of the first channel (index 0). A call to this method must have the same result as the call getSample(0, x, y);.
Parameters:
x - the horizontal position of the sample, from 0 to IntegerImage - 1
y - the vertical position of the sample, from 0 to IntegerImage - 1
Returns:
the desired sample

getSample

public int getSample(int channel,
                     int x,
                     int y)
Returns one sample, specified by its channel index and location.
Parameters:
channel - the number of the channel, from 0 to IntegerImage - 1
x - the horizontal position of the sample, from 0 to IntegerImage - 1
y - the vertical position of the sample, from 0 to IntegerImage - 1
Returns:
the desired sample

getSamples

public void getSamples(int channelIndex,
                       int x,
                       int y,
                       int w,
                       int h,
                       int[] dest,
                       int destOffs)
Copies a number of samples from this image to an int[] object. A rectangular part of one channel is copied. The channel index is given by - the upper left corner of that rectangle is given by the point x / y. Width and height of that rectangle are given by w and h. Each sample will be stored as one int value dest, starting at index destOffs.
Parameters:
channelIndex - zero-based index of the channel from which data is to be copied (valid values: 0 to getNumChannels() - 1)
x - horizontal position of upper left corner of the rectangle to be copied
y - vertical position of upper left corner of the rectangle to be copied
w - width of rectangle to be copied
h - height of rectangle to be copied
dest - int array to which the samples will be copied
destOffs - int index into the dest array for the position to which the samples will be copied

putSample

public void putSample(int x,
                      int y,
                      int newValue)
This method sets one sample of the first channel (index 0) to a new value. This call must have the same result as the call putSample(0, x, y). The sample location is given by the spatial coordinates, x and y.
Parameters:
x - the horizontal position of the sample, from 0 to IntegerImage - 1
y - the vertical position of the sample, from 0 to IntegerImage - 1
newValue - the new value of the sample

putSample

public void putSample(int channel,
                      int x,
                      int y,
                      int newValue)
This method sets one sample to a new value. The sample location is given by the channel index and the spatial coordinates, x and y.
Parameters:
channel - the number of the channel, from 0 to IntegerImage - 1
x - the horizontal position of the sample, from 0 to IntegerImage - 1
y - the vertical position of the sample, from 0 to IntegerImage - 1
newValue - the new value of the sample

putSamples

public void putSamples(int channel,
                       int x,
                       int y,
                       int w,
                       int h,
                       int[] src,
                       int srcOffset)
Copies a number of samples from an int[] array to this image. A rectangular part of one channel is copied - the upper left corner of that rectangle is given by the point x / y. Width and height of that rectangle are given by w and h. Each sample will be stored as one int value src, starting at index srcOffset.
Parameters:
channel - int (from 0 to getNumChannels() - 1) to indicate the channel to which data is copied
x - horizontal position of upper left corner of the rectangle to be copied
y - vertical position of upper left corner of the rectangle to be copied
w - width of rectangle to be copied
h - height of rectangle to be copied
src - int array from which the samples will be copied
srcOffset - int index into the src array for the position from which the samples will be copied