org.geotools.image
Class TransfertRectIter

Object
  extended by TransfertRectIter
All Implemented Interfaces:
RectIter, WritableRectIter

public final class TransfertRectIter
extends Object
implements WritableRectIter

A writable iterator that read pixel values from an image, and write pixel values to a different image. All get methods read values from the source image specified at creation time. All set methods write values to the destination image specified at creation time, which may or may not be the same than the source image. This is different than the usual WritableRectIter contract, which read and write values in the same image. This TransfertRectIter is convenient for the implementation of some image operations.

Since:
2.3
Author:
Martin Desruisseaux (IRD)
Module:
modules/library/coverage (gt-coverage.jar)

Method Summary
static WritableRectIter create(RectIter src, WritableRectIter dst)
          Creates a WritableRectIter for the specified source and destination iterator.
 boolean finishedBands()
          Returns true if the max band in the image has been exceeded.
 boolean finishedLines()
          Returns true if the bottom row of the bounding rectangle has been passed.
 boolean finishedPixels()
          Returns true if the right edge of the bounding rectangle has been passed.
 double[] getPixel(double[] array)
          Returns the samples of the current pixel from the image in an array of double.
 float[] getPixel(float[] array)
          Returns the samples of the current pixel from the image in an array of float.
 int[] getPixel(int[] array)
          Returns the samples of the current pixel from the image in an array of int.
 int getSample()
          Returns the current sample as an integer.
 int getSample(int b)
          Returns the specified sample of the current pixel as an integer.
 double getSampleDouble()
          Returns the current sample as a double.
 double getSampleDouble(int b)
          Returns the specified sample of the current pixel as a double.
 float getSampleFloat()
          Returns the current sample as a float.
 float getSampleFloat(int b)
          Returns the specified sample of the current pixel as a float.
 void jumpLines(int num)
          Jumps downward num lines from the current position.
 void jumpPixels(int num)
          Jumps rightward num pixels from the current position.
 void nextBand()
          Sets the iterator to the next band in the image.
 boolean nextBandDone()
          Sets the iterator to the next band in the image, and returns true if the max band has been exceeded.
 void nextLine()
          Sets the iterator to the next line of the image.
 boolean nextLineDone()
          Sets the iterator to the next line in the image, and returns true if the bottom row of the bounding rectangle has been passed.
 void nextPixel()
          Sets the iterator to the next pixel in image (that is, move rightward).
 boolean nextPixelDone()
          Sets the iterator to the next pixel in the image (that is, move rightward).
 void setPixel(double[] array)
          Sets all samples of the current pixel to a set of double values.
 void setPixel(float[] array)
          Sets all samples of the current pixel to a set of float values.
 void setPixel(int[] array)
          Sets all samples of the current pixel to a set of int values.
 void setSample(double s)
          Sets the current sample to a double value.
 void setSample(float s)
          Sets the current sample to a float value.
 void setSample(int s)
          Sets the current sample to an integral value.
 void setSample(int b, double s)
          Sets the specified sample of the current pixel to a double value.
 void setSample(int b, float s)
          Sets the specified sample of the current pixel to a float value.
 void setSample(int b, int s)
          Sets the specified sample of the current pixel to an integral value.
 void startBands()
          Sets the iterator to the first band of the image.
 void startLines()
          Sets the iterator to the first line of its bounding rectangle.
 void startPixels()
          Sets the iterator to the leftmost pixel of its bounding rectangle.
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

create

public static WritableRectIter create(RectIter src,
                                      WritableRectIter dst)
Creates a WritableRectIter for the specified source and destination iterator. The two iterators must iterate over a rectangle of the same size, otherwise a RasterFormatException may be thrown during the iteration.

Parameters:
src - The source iterator.
dst - The destination iterator.
Returns:
An iterator that read sample from src and write sample to dst. If src == dst, then the destination iterator itself is returned.

startLines

public void startLines()
Sets the iterator to the first line of its bounding rectangle.

Specified by:
startLines in interface RectIter

startPixels

public void startPixels()
Sets the iterator to the leftmost pixel of its bounding rectangle.

Specified by:
startPixels in interface RectIter

startBands

public void startBands()
Sets the iterator to the first band of the image.

Specified by:
startBands in interface RectIter

jumpLines

public void jumpLines(int num)
Jumps downward num lines from the current position.

Specified by:
jumpLines in interface RectIter

jumpPixels

public void jumpPixels(int num)
Jumps rightward num pixels from the current position.

Specified by:
jumpPixels in interface RectIter

nextLine

public void nextLine()
Sets the iterator to the next line of the image.

Specified by:
nextLine in interface RectIter

nextPixel

public void nextPixel()
Sets the iterator to the next pixel in image (that is, move rightward).

Specified by:
nextPixel in interface RectIter

nextBand

public void nextBand()
Sets the iterator to the next band in the image.

Specified by:
nextBand in interface RectIter

nextLineDone

public boolean nextLineDone()
Sets the iterator to the next line in the image, and returns true if the bottom row of the bounding rectangle has been passed.

Specified by:
nextLineDone in interface RectIter

nextPixelDone

public boolean nextPixelDone()
Sets the iterator to the next pixel in the image (that is, move rightward).

Specified by:
nextPixelDone in interface RectIter

nextBandDone

public boolean nextBandDone()
Sets the iterator to the next band in the image, and returns true if the max band has been exceeded.

Specified by:
nextBandDone in interface RectIter

finishedLines

public boolean finishedLines()
Returns true if the bottom row of the bounding rectangle has been passed.

Specified by:
finishedLines in interface RectIter

finishedPixels

public boolean finishedPixels()
Returns true if the right edge of the bounding rectangle has been passed.

Specified by:
finishedPixels in interface RectIter

finishedBands

public boolean finishedBands()
Returns true if the max band in the image has been exceeded.

Specified by:
finishedBands in interface RectIter

getPixel

public int[] getPixel(int[] array)
Returns the samples of the current pixel from the image in an array of int.

Specified by:
getPixel in interface RectIter

getPixel

public float[] getPixel(float[] array)
Returns the samples of the current pixel from the image in an array of float.

Specified by:
getPixel in interface RectIter

getPixel

public double[] getPixel(double[] array)
Returns the samples of the current pixel from the image in an array of double.

Specified by:
getPixel in interface RectIter

getSample

public int getSample()
Returns the current sample as an integer.

Specified by:
getSample in interface RectIter

getSample

public int getSample(int b)
Returns the specified sample of the current pixel as an integer.

Specified by:
getSample in interface RectIter

getSampleFloat

public float getSampleFloat()
Returns the current sample as a float.

Specified by:
getSampleFloat in interface RectIter

getSampleFloat

public float getSampleFloat(int b)
Returns the specified sample of the current pixel as a float.

Specified by:
getSampleFloat in interface RectIter

getSampleDouble

public double getSampleDouble()
Returns the current sample as a double.

Specified by:
getSampleDouble in interface RectIter

getSampleDouble

public double getSampleDouble(int b)
Returns the specified sample of the current pixel as a double.

Specified by:
getSampleDouble in interface RectIter

setPixel

public void setPixel(int[] array)
Sets all samples of the current pixel to a set of int values.

Specified by:
setPixel in interface WritableRectIter

setPixel

public void setPixel(float[] array)
Sets all samples of the current pixel to a set of float values.

Specified by:
setPixel in interface WritableRectIter

setPixel

public void setPixel(double[] array)
Sets all samples of the current pixel to a set of double values.

Specified by:
setPixel in interface WritableRectIter

setSample

public void setSample(int s)
Sets the current sample to an integral value.

Specified by:
setSample in interface WritableRectIter

setSample

public void setSample(float s)
Sets the current sample to a float value.

Specified by:
setSample in interface WritableRectIter

setSample

public void setSample(double s)
Sets the current sample to a double value.

Specified by:
setSample in interface WritableRectIter

setSample

public void setSample(int b,
                      int s)
Sets the specified sample of the current pixel to an integral value.

Specified by:
setSample in interface WritableRectIter

setSample

public void setSample(int b,
                      float s)
Sets the specified sample of the current pixel to a float value.

Specified by:
setSample in interface WritableRectIter

setSample

public void setSample(int b,
                      double s)
Sets the specified sample of the current pixel to a double value.

Specified by:
setSample in interface WritableRectIter


Copyright © 1996-2009 Geotools. All Rights Reserved.