Woolz Image Processing
Version 1.7.5
|
Files | |
file | AlgRank.c |
Rank selection algorithms which provide fast rank selection from an array of values. This is the general case of mimimum, median and maximum value rank selection. | |
Functions | |
void | AlgRankSelectI (int *elm, int nElm, int rank) |
Performs the minimum of sorting on an array of integers such that the n'th value in the array has rank n. That is all values before the n'th are less than or equal to it and all values after the n'th are greater than or equal to it. More... | |
void | AlgRankSelectUB (unsigned char *elm, int nElm, int rank) |
Performs the minimum of sorting on an array of unsigned bytes such that the n'th value in the array has rank n. That is all values before the n'th are less than or equal to it and all values after the n'th are greater than or equal to it. More... | |
void | AlgRankSelectS (short *elm, int nElm, int rank) |
Performs the minimum of sorting on an array of shorts such that the n'th value in the array has rank n. That is all values before the n'th are less than or equal to it and all values after the n'th are greater than or equal to it. More... | |
void | AlgRankSelectF (float *elm, int nElm, int rank) |
Performs the minimum of sorting on an array of floats such that the n'th value in the array has rank n. That is all values before the n'th are less than or equal to it and all values after the n'th are greater than or equal to it. More... | |
void | AlgRankSelectD (double *elm, int nElm, int rank) |
Performs the minimum of sorting on an array of doubles such that the n'th value in the array has rank n. That is all values before the n'th are less than or equal to it and all values after the n'th are greater than or equal to it. More... | |
void | AlgRankSelectV (void *elm, int nElm, unsigned int elmSz, int rank, void *buf, int(*compFn)(void *, void *)) |
Performs the minimum of sorting on an array of values such that the n'th value in the array has rank n. That is all values before the n'th are less than or equal to it and all values after the n'th are greater than or equal to it. More... | |
void AlgRankSelectI | ( | int * | elm, |
int | nElm, | ||
int | rank | ||
) |
Performs the minimum of sorting on an array of integers such that the n'th value in the array has rank n. That is all values before the n'th are less than or equal to it and all values after the n'th are greater than or equal to it.
elm | Array of elements. |
nElm | Number of elements. |
rank | Required rank in the range [0 - (nElm - 1)]. |
Referenced by WlzFilterNObjValues(), and WlzRankFilter().
void AlgRankSelectUB | ( | unsigned char * | elm, |
int | nElm, | ||
int | rank | ||
) |
Performs the minimum of sorting on an array of unsigned bytes such that the n'th value in the array has rank n. That is all values before the n'th are less than or equal to it and all values after the n'th are greater than or equal to it.
elm | Array of elements. |
nElm | Number of elements. |
rank | Required rank in the range [0 - (nElm - 1)]. |
Referenced by WlzFilterNObjValues(), and WlzRankFilter().
void AlgRankSelectS | ( | short * | elm, |
int | nElm, | ||
int | rank | ||
) |
Performs the minimum of sorting on an array of shorts such that the n'th value in the array has rank n. That is all values before the n'th are less than or equal to it and all values after the n'th are greater than or equal to it.
elm | Array of elements. |
nElm | Number of elements. |
rank | Required rank in the range [0 - (nElm - 1)]. |
Referenced by WlzFilterNObjValues(), and WlzRankFilter().
void AlgRankSelectF | ( | float * | elm, |
int | nElm, | ||
int | rank | ||
) |
Performs the minimum of sorting on an array of floats such that the n'th value in the array has rank n. That is all values before the n'th are less than or equal to it and all values after the n'th are greater than or equal to it.
elm | Array of elements. |
nElm | Number of elements. |
rank | Required rank in the range [0 - (nElm - 1)]. |
Referenced by WlzFilterNObjValues(), and WlzRankFilter().
void AlgRankSelectD | ( | double * | elm, |
int | nElm, | ||
int | rank | ||
) |
Performs the minimum of sorting on an array of doubles such that the n'th value in the array has rank n. That is all values before the n'th are less than or equal to it and all values after the n'th are greater than or equal to it.
elm | Array of elements. |
nElm | Number of elements. |
rank | Required rank in the range [0 - (nElm - 1)]. |
Referenced by WlzCMeshCmpElmFeat2D(), WlzCMeshCmpElmFeat3D(), WlzDistMetricDirVertex2D(), WlzDistMetricDirVertex3D(), WlzFilterNObjValues(), and WlzRankFilter().
void AlgRankSelectV | ( | void * | elm, |
int | nElm, | ||
unsigned int | elmSz, | ||
int | rank, | ||
void * | buf, | ||
int(*)(void *, void *) | compFn | ||
) |
Performs the minimum of sorting on an array of values such that the n'th value in the array has rank n. That is all values before the n'th are less than or equal to it and all values after the n'th are greater than or equal to it.
elm | Array of values. |
nElm | Number of values. |
elmSz | Size of each value. |
rank | Required rank in the range [0 - (nElm - 1)]. |
buf | A pointer to a single value to be used as a workspace. |
compFn | A value comparison function in the same form as qsort(3). |