$Id$

Copyright (c) 1988-1997 Sam Leffler
Copyright (c) 1991-1997 Silicon Graphics, Inc.

Permission to use, copy, modify, distribute, and sell this software and
its documentation for any purpose is hereby granted without fee, provided
that (i) the above copyright notices and this permission notice appear in
all copies of the software and related documentation, and (ii) the names of
Sam Leffler and Silicon Graphics may not be used in any advertising or
publicity relating to the software without the specific, prior written
permission of Sam Leffler and Silicon Graphics.

THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
OF THIS SOFTWARE.

TIFFTILE 3TIFF "February 14, 1992" "libtiff"
NAME
TIFFTileSize, TIFFTileRowSize, TIFFVTileSize, TIFFDefaultTileSize, TIFFComputeTile, TIFFCheckTile, TIFFNumberOfTiles - tile-related utility routines
SYNOPSIS
"#include <tiffio.h>" "void TIFFDefaultTileSize(TIFF *" tif ", uint32 *" tw ", uint32 *" th ")"

"tsize_t TIFFTileSize(TIFF *" tif ")"

"tsize_t TIFFTileRowSize(TIFF *" tif ")"

"tsize_t TIFFVTileSize(TIFF *" tif ", uint32 " nrows ")"

"ttile_t TIFFComputeTile(TIFF *" tif ", uint32 " x ", uint32 " y ", uint32 " z ", tsample_t " sample ")"

"int TIFFCheckTile(TIFF *" tif ", uint32 " x ", uint32 " y ", uint32 " z ", tsample_t " sample ")"

"ttile_t TIFFNumberOfTiles(TIFF *" tif ")"

DESCRIPTION
TIFFDefaultTileSize returns the pixel width and height of a reasonable-sized tile; suitable for setting up the TileWidth and TileLength tags. If the tw and th values passed in are non-zero, then they are adjusted to reflect any compression-specific requirements. The returned width and height are constrained to be a multiple of 16 pixels to conform with the TIFF specification.

TIFFTileSize returns the equivalent size for a tile of data as it would be returned in a call to TIFFReadTile or as it would be expected in a call to TIFFWriteTile .

TIFFVTileSize returns the number of bytes in a row-aligned tile with nrows of data.

TIFFTileRowSize returns the number of bytes of a row of data in a tile.

TIFFComputeTile returns the tile that contains the specified coordinates. A valid tile is always returned; out-of-range coordinate values are clamped to the bounds of the image. The x and y parameters are always used in calculating a tile. The z parameter is used if the image is deeper than 1 slice (\c ImageDepth >1). The sample parameter is used only if data are organized in separate planes (\c PlanarConfiguration =2).

TIFFCheckTile returns a non-zero value if the supplied coordinates are within the bounds of the image and zero otherwise. The x parameter is checked against the value of the ImageWidth tag. The y parameter is checked against the value of the ImageLength tag. The z parameter is checked against the value of the ImageDepth tag (if defined). The sample parameter is checked against the value of the SamplesPerPixel parameter if the data are organized in separate planes.

TIFFNumberOfTiles returns the number of tiles in the image.

DIAGNOSTICS
None.
"SEE ALSO"
TIFFReadEncodedTile (3TIFF), TIFFReadRawTile (3TIFF), TIFFReadTile (3TIFF), TIFFWriteEncodedTile (3TIFF), TIFFWriteRawTile (3TIFF), TIFFWriteTile (3TIFF), libtiff (3TIFF)

Libtiff library home page: http://www.remotesensing.org/libtiff/