|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object nom.tam.image.ImageTiler
public class ImageTiler
This class provides a subset of an N-dimensional image. Modified May 2, 2000 by T. McGlynn to permit tiles that go off the edge of the image.
Constructor Summary | |
---|---|
ImageTiler(RandomAccess f,
long fileOffset,
int[] dims,
java.lang.Class base)
Create a tiler. |
Method Summary | |
---|---|
protected void |
fillFileData(java.lang.Object output,
int delta,
int outputOffset,
int segment)
File a tile segment from a file. |
protected void |
fillMemData(java.lang.Object data,
int[] posits,
int length,
java.lang.Object output,
int outputOffset,
int dim)
Fill a single segment from memory. |
protected void |
fillTile(java.lang.Object data,
java.lang.Object o,
int[] dims,
int[] corners,
int[] lengths)
Fill the subset. |
java.lang.Object |
getCompleteImage()
Read the entire image into a multidimensional array. |
java.lang.Object |
getMemoryImage()
See if we can get the image data from memory. |
static int |
getOffset(int[] dims,
int[] pos)
Get the offset of a given position. |
java.lang.Object |
getTile(int[] corners,
int[] lengths)
Get a subset of the image. |
void |
getTile(java.lang.Object outArray,
int[] corners,
int[] lengths)
Get a tile, filling in a prespecified array. |
protected static boolean |
incrementPosition(int[] start,
int[] current,
int[] lengths)
Increment the offset within the position array. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ImageTiler(RandomAccess f, long fileOffset, int[] dims, java.lang.Class base)
f
- The random access device from which image data may be read.
This may be null if the tile information is available from
memory.fileOffset
- The file offset within the RandomAccess device at which
the data begins.dims
- The actual dimensions of the image.base
- The base class (should be a primitive type) of the image.Method Detail |
---|
public java.lang.Object getMemoryImage()
public java.lang.Object getTile(int[] corners, int[] lengths) throws java.io.IOException
The
- starting corner (using 0 as the start) for the image.The
- length requested in each dimension.
java.io.IOException
public void getTile(java.lang.Object outArray, int[] corners, int[] lengths) throws java.io.IOException
outArray
- The output tile array. A one-dimensional
array.
Data not within the valid limits of the image will
be left unchanged. The length of this
array should be the product of lengths.corners
- The corners of the tile.lengths
- The dimensions of the tile.
java.io.IOException
protected void fillTile(java.lang.Object data, java.lang.Object o, int[] dims, int[] corners, int[] lengths) throws java.io.IOException
data
- The memory-resident data image.
This may be null if the image is to
be read from a file. This should
be a multi-dimensional primitive array.o
- The tile to be filled. This is a
simple primitive array.dims
- The dimensions of the full image.corners
- The indices of the corner of the image.lengths
- The dimensions of the subset.
java.io.IOException
protected void fillMemData(java.lang.Object data, int[] posits, int length, java.lang.Object output, int outputOffset, int dim)
data
- The in-memory image data.posits
- The current position for which data is requested.length
- The size of the segments.output
- The output tile.outputOffset
- The current offset into the output tile.dim
- The current dimension beingprotected void fillFileData(java.lang.Object output, int delta, int outputOffset, int segment) throws java.io.IOException
output
- The output tile.delta
- The offset from the beginning of the image in bytes.outputOffset
- The index into the output array.segment
- The number of elements to be read for this segment.
java.io.IOException
protected static boolean incrementPosition(int[] start, int[] current, int[] lengths)
start
- The starting corner values.current
- The current offsets.lengths
- The desired dimensions of the subset.public static final int getOffset(int[] dims, int[] pos)
dims
- The dimensions of the array.pos
- The index requested.public java.lang.Object getCompleteImage() throws java.io.IOException
java.io.IOException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |