regionPerform
[ XITE Reference Manual | XITE home ]
Name
regionPerform - perform any procedure for each point in region
Syntax
#include <xite/region.h>
BiffStatus regionPerform( void* data,
region* reg, int loop,
regionfunc performproc, void* performdata );
Description
regionPerform calls the specified procedure performproc
for every point (x,y) in the region reg. The procedure
call syntax is
performproc(data, x, y, performdata)
void *data;
int x, y;
void *performdata;
The specified procedure should thus match this syntax.
data is typically, but need not be, a band or an image.
performdata is pointer to any other data structure needed
by performproc. data and/or performdata may be nil.
See also
regionAnalyse(1), regionArea(3),
regionConvexHull(3), regionCreate(3), regionDraw(3),
regionFree(3), regionHisto(3), regionHistoUpdate(3),
regionImoment(3), regionInsertYline(3), regionDeleteYline(3)
regionEndInsert(3), regionXmean(3), regionYmean(3),
regionMean(3), regionXmin(3), regionXmax(3), regionYmin(3),
regionYmax(3), regionMinMax(3), regionCMoment(3),
regionPMoment(3), regionMoment(3),
regionPerimeter(3), regionIsPoint(3), regionPoint(3),
regionSearch(3), regionSort(3), regionCopy(3), regionUnion(3),
regionOverlap(3), regionNeighbor(3), regionVolume(3),
regionYline(3)
Return value
Status, 0 => ok. See below for error numbers and messages.
Diagnostics
Warning 2: region argument nil
Warning 3: performproc argument nil
Example
To measure the "volume" under a region:
int volumeproc(band, x, y, vol)
IBAND band;
int x, y;
int *vol;
{
*vol += band[y][x];
return(0);
}
region *reg;
int volume=0;
<create reg>
regionPerform(band, reg, 0, volumeproc, &volume);
Author
Tor L|nnestad, BLAB, ifi, UiO
Id
$Id: regionPerform.c,v 1.18 1995/10/27 10:49:44 svein Exp $