Create a new Polygon representing the convex hull of a 2D data grid
A basic 2-dimensional Frame is used to represent the pixel coordinate system in the
returned Polygon. The Domain attribute is set to "
PIXEL"
, the Title attribute is set
to "
Pixel coordinates"
, and the Unit attribute for each axis is set to "
pixel"
. All
other attributes are left unset. The nature of the pixel coordinate system is
determined by parameter "
starpix"
.
You should use a function which matches the numerical type of the data you are processing by replacing
<X>
in the generic function name astConvex<X>
by an appropriate 1- or 2-character type code. For example, if you are procesing data
with type "
float"
, you should use the function astConvexF (see the "
Data Type Codes"
section below for the codes appropriate to other numerical types).
"
value"
parameter is used to select the required pixels. It can have
any of the following values: AST__LT: include pixels with value less than "
value"
.
AST__LE: include pixels with value less than or equal to "
value"
.
AST__EQ: include pixels with value equal to "
value"
.
AST__NE: include pixels with value not equal to "
value"
.
AST__GE: include pixels with value greater than or equal to "
value"
.
AST__GT: include pixels with value greater than "
value"
.
"
float"
).
The storage order of data within this array should be such that the index of the first grid dimension varies most rapidly and that of the second dimension least rapidly (i.e. Fortran array indexing is used).
Note that "
lbnd"
and "
ubnd"
together define the shape and size of
the input grid, its extent along a particular (j’
th) dimension being
ubnd[j]-lbnd[j]+1
(assuming the index "
j"
to be zero-based). They also define the input grid’
s
coordinate system, each pixel having unit extent along each dimension with integral
coordinate values at its centre or upper corner, as selected by parameter "
starpix"
.
"
value"
and "
oper"
. NULL will be returned if this function is invoked with the global error status set, or if it should fail for any reason.
D: double
F: float
L: long int
UL: unsigned long int
I: int
UI: unsigned int
S: short int
US: unsigned short int
B: byte (signed char)
UB: unsigned byte (unsigned char)
For example, astConvexD would be used to process "
double"
data, while astConvexS would
be used to process "
short int"
data, etc.
"
8-byte"
interface for this function should be used. This alternative interface uses 8
byte integer arguments (instead of 4-byte) to hold pixel indices and pixel counts.
Specifically, the arguments "
lbnd"
and "
ubnd"
are changed from type "
int"
to type "
int64_t"
(defined in header file stdint.h). The function name is
changed by inserting the digit "
8"
before the trailing data type code. Thus,
astConvex<X>
becomes astConvex8<X>.