![]() |
Leptonica
1.77.0
Image processing and image analysis suite
|
#include <string.h>#include "allheaders.h"Go to the source code of this file.
Functions | |
| BOX * | boxCreate (l_int32 x, l_int32 y, l_int32 w, l_int32 h) |
| BOX * | boxCreateValid (l_int32 x, l_int32 y, l_int32 w, l_int32 h) |
| BOX * | boxCopy (BOX *box) |
| BOX * | boxClone (BOX *box) |
| void | boxDestroy (BOX **pbox) |
| l_ok | boxGetGeometry (BOX *box, l_int32 *px, l_int32 *py, l_int32 *pw, l_int32 *ph) |
| l_ok | boxSetGeometry (BOX *box, l_int32 x, l_int32 y, l_int32 w, l_int32 h) |
| l_ok | boxGetSideLocations (BOX *box, l_int32 *pl, l_int32 *pr, l_int32 *pt, l_int32 *pb) |
| l_ok | boxSetSideLocations (BOX *box, l_int32 l, l_int32 r, l_int32 t, l_int32 b) |
| l_int32 | boxGetRefcount (BOX *box) |
| l_ok | boxChangeRefcount (BOX *box, l_int32 delta) |
| l_ok | boxIsValid (BOX *box, l_int32 *pvalid) |
| BOXA * | boxaCreate (l_int32 n) |
| BOXA * | boxaCopy (BOXA *boxa, l_int32 copyflag) |
| void | boxaDestroy (BOXA **pboxa) |
| l_ok | boxaAddBox (BOXA *boxa, BOX *box, l_int32 copyflag) |
| l_ok | boxaExtendArray (BOXA *boxa) |
| l_ok | boxaExtendArrayToSize (BOXA *boxa, l_int32 size) |
| l_int32 | boxaGetCount (BOXA *boxa) |
| l_int32 | boxaGetValidCount (BOXA *boxa) |
| BOX * | boxaGetBox (BOXA *boxa, l_int32 index, l_int32 accessflag) |
| BOX * | boxaGetValidBox (BOXA *boxa, l_int32 index, l_int32 accessflag) |
| NUMA * | boxaFindInvalidBoxes (BOXA *boxa) |
| l_ok | boxaGetBoxGeometry (BOXA *boxa, l_int32 index, l_int32 *px, l_int32 *py, l_int32 *pw, l_int32 *ph) |
| l_ok | boxaIsFull (BOXA *boxa, l_int32 *pfull) |
| l_ok | boxaReplaceBox (BOXA *boxa, l_int32 index, BOX *box) |
| l_ok | boxaInsertBox (BOXA *boxa, l_int32 index, BOX *box) |
| l_ok | boxaRemoveBox (BOXA *boxa, l_int32 index) |
| l_ok | boxaRemoveBoxAndSave (BOXA *boxa, l_int32 index, BOX **pbox) |
| BOXA * | boxaSaveValid (BOXA *boxas, l_int32 copyflag) |
| l_ok | boxaInitFull (BOXA *boxa, BOX *box) |
| l_ok | boxaClear (BOXA *boxa) |
| BOXAA * | boxaaCreate (l_int32 n) |
| BOXAA * | boxaaCopy (BOXAA *baas, l_int32 copyflag) |
| void | boxaaDestroy (BOXAA **pbaa) |
| l_ok | boxaaAddBoxa (BOXAA *baa, BOXA *ba, l_int32 copyflag) |
| l_ok | boxaaExtendArray (BOXAA *baa) |
| l_ok | boxaaExtendArrayToSize (BOXAA *baa, l_int32 size) |
| l_int32 | boxaaGetCount (BOXAA *baa) |
| l_int32 | boxaaGetBoxCount (BOXAA *baa) |
| BOXA * | boxaaGetBoxa (BOXAA *baa, l_int32 index, l_int32 accessflag) |
| BOX * | boxaaGetBox (BOXAA *baa, l_int32 iboxa, l_int32 ibox, l_int32 accessflag) |
| l_ok | boxaaInitFull (BOXAA *baa, BOXA *boxa) |
| l_ok | boxaaExtendWithInit (BOXAA *baa, l_int32 maxindex, BOXA *boxa) |
| l_ok | boxaaReplaceBoxa (BOXAA *baa, l_int32 index, BOXA *boxa) |
| l_ok | boxaaInsertBoxa (BOXAA *baa, l_int32 index, BOXA *boxa) |
| l_ok | boxaaRemoveBoxa (BOXAA *baa, l_int32 index) |
| l_ok | boxaaAddBox (BOXAA *baa, l_int32 index, BOX *box, l_int32 accessflag) |
| BOXAA * | boxaaReadFromFiles (const char *dirname, const char *substr, l_int32 first, l_int32 nfiles) |
| BOXAA * | boxaaRead (const char *filename) |
| BOXAA * | boxaaReadStream (FILE *fp) |
| BOXAA * | boxaaReadMem (const l_uint8 *data, size_t size) |
| l_ok | boxaaWrite (const char *filename, BOXAA *baa) |
| l_ok | boxaaWriteStream (FILE *fp, BOXAA *baa) |
| l_ok | boxaaWriteMem (l_uint8 **pdata, size_t *psize, BOXAA *baa) |
| BOXA * | boxaRead (const char *filename) |
| BOXA * | boxaReadStream (FILE *fp) |
| BOXA * | boxaReadMem (const l_uint8 *data, size_t size) |
| l_ok | boxaWriteDebug (const char *filename, BOXA *boxa) |
| l_ok | boxaWrite (const char *filename, BOXA *boxa) |
| l_ok | boxaWriteStream (FILE *fp, BOXA *boxa) |
| l_ok | boxaWriteMem (l_uint8 **pdata, size_t *psize, BOXA *boxa) |
| l_ok | boxPrintStreamInfo (FILE *fp, BOX *box) |
Variables | |
| static const l_int32 | INITIAL_PTR_ARRAYSIZE = 20 |
Basic 'class' functions for box, boxa and boxaa, including accessors and serialization.
Box creation, copy, clone, destruction BOX *boxCreate() BOX *boxCreateValid() BOX *boxCopy() BOX *boxClone() void boxDestroy()
Box accessors l_int32 boxGetGeometry() l_int32 boxSetGeometry() l_int32 boxGetSideLocations() l_int32 boxSetSideLocations() l_int32 boxGetRefcount() l_int32 boxChangeRefcount() l_int32 boxIsValid()
Boxa creation, copy, destruction BOXA *boxaCreate() BOXA *boxaCopy() void boxaDestroy()
Boxa array extension l_int32 boxaAddBox() l_int32 boxaExtendArray() l_int32 boxaExtendArrayToSize()
Boxa accessors l_int32 boxaGetCount() l_int32 boxaGetValidCount() BOX *boxaGetBox() BOX *boxaGetValidBox() NUMA *boxaFindInvalidBoxes() l_int32 boxaGetBoxGeometry() l_int32 boxaIsFull()
Boxa array modifiers l_int32 boxaReplaceBox() l_int32 boxaInsertBox() l_int32 boxaRemoveBox() l_int32 boxaRemoveBoxAndSave() BOXA *boxaSaveValid() l_int32 boxaInitFull() l_int32 boxaClear()
Boxaa creation, copy, destruction BOXAA *boxaaCreate() BOXAA *boxaaCopy() void boxaaDestroy()
Boxaa array extension l_int32 boxaaAddBoxa() l_int32 boxaaExtendArray() l_int32 boxaaExtendArrayToSize()
Boxaa accessors l_int32 boxaaGetCount() l_int32 boxaaGetBoxCount() BOXA *boxaaGetBoxa() BOX *boxaaGetBox()
Boxaa array modifiers l_int32 boxaaInitFull() l_int32 boxaaExtendWithInit() l_int32 boxaaReplaceBoxa() l_int32 boxaaInsertBoxa() l_int32 boxaaRemoveBoxa() l_int32 boxaaAddBox()
Boxaa serialized I/O BOXAA *boxaaReadFromFiles() BOXAA *boxaaRead() BOXAA *boxaaReadStream() BOXAA *boxaaReadMem() l_int32 boxaaWrite() l_int32 boxaaWriteStream() l_int32 boxaaWriteMem()
Boxa serialized I/O BOXA *boxaRead() BOXA *boxaReadStream() BOXA *boxaReadMem() l_int32 boxaWriteDebug() l_int32 boxaWrite() l_int32 boxaWriteStream() l_int32 boxaWriteMem()
Box print (for debug) l_int32 boxPrintStreamInfo()
Most functions use only valid boxes, which are boxes that have both width and height > 0. However, a few functions, such as boxaGetMedianVals() do not assume that all boxes are valid. For any function that can use a boxa with invalid boxes, it is convenient to use these accessors: boxaGetValidCount() : count of valid boxes boxaGetValidBox() : returns NULL for invalid boxes
Definition in file boxbasic.c.
| [in] | baa | |
| [in] | index | of boxa with boxaa |
| [in] | box | to be added |
| [in] | accessflag | L_INSERT, L_COPY or L_CLONE |
Notes:
(1) Adds to an existing boxa only.
Definition at line 1761 of file boxbasic.c.
References boxaAddBox(), boxaaGetBoxa(), boxaaGetCount(), boxaDestroy(), L_CLONE, L_COPY, and L_INSERT.
Referenced by boxaSort2d().
| [in] | baa | |
| [in] | ba | to be added |
| [in] | copyflag | L_INSERT, L_COPY, L_CLONE |
Definition at line 1327 of file boxbasic.c.
References Boxaa::boxa, boxaaExtendArray(), boxaaGetCount(), boxaCopy(), L_CLONE, L_COPY, L_INSERT, Boxaa::n, and Boxaa::nalloc.
Referenced by boxaaCopy(), boxaaExtendWithInit(), boxaaJoin(), boxaaQuadtreeRegions(), boxaaReadFromFiles(), boxaaReadStream(), boxaaSelectRange(), boxaaTranspose(), boxaEncapsulateAligned(), boxaSort2d(), boxaSort2dByIndex(), and recogExtractNumbers().
| [in] | baas | input boxaa to be copied |
| [in] | copyflag | L_COPY, L_CLONE |
Notes:
(1) L_COPY makes a copy of each boxa in baas.
L_CLONE makes a clone of each boxa in baas.
Definition at line 1258 of file boxbasic.c.
References boxaaAddBoxa(), boxaaCreate(), boxaaGetBoxa(), boxaaGetCount(), L_CLONE, L_COPY, and L_INSERT.
| BOXAA* boxaaCreate | ( | l_int32 | n | ) |
| [in] | n | size of boxa ptr array to be alloc'd; 0 for default |
Definition at line 1223 of file boxbasic.c.
References Boxaa::boxa, boxaaDestroy(), INITIAL_PTR_ARRAYSIZE, Boxaa::n, and Boxaa::nalloc.
Referenced by boxaaCopy(), boxaaQuadtreeRegions(), boxaaReadFromFiles(), boxaaReadStream(), boxaaSelectRange(), boxaaTranspose(), boxaEncapsulateAligned(), boxaSort2d(), boxaSort2dByIndex(), convertNumberedMasksToBoxaa(), and recogExtractNumbers().
| [in] | boxa | |
| [in] | box | to be added |
| [in] | copyflag | L_INSERT, L_COPY, L_CLONE |
Definition at line 618 of file boxbasic.c.
References Boxa::box, boxaExtendArray(), boxaGetCount(), boxClone(), boxCopy(), L_CLONE, L_COPY, L_INSERT, Boxa::n, and Boxa::nalloc.
Referenced by boxaaAddBox(), boxaAdjustSides(), boxaaFlattenAligned(), boxaaFlattenToBoxa(), boxaaGetExtent(), boxaaQuadtreeRegions(), boxaaTranspose(), boxaClipToBox(), boxaConstrainSize(), boxaContainedInBox(), boxaCopy(), boxaEncapsulateAligned(), boxaGenerateSubboxes(), boxaHandleOverlaps(), boxaIntersectsBox(), boxaJoin(), boxaLinearFit(), boxaMergeEvenOdd(), boxaModifyWithBoxa(), boxaPruneSortedOnOverlap(), boxaReadStream(), boxaReconcileSizeByMedian(), boxaRotateOrth(), boxaSaveValid(), boxaSelectLargeULBox(), boxaSelectRange(), boxaSelectWithIndicator(), boxaSizeConsistency2(), boxaSort2d(), boxaSort2dByIndex(), boxaSortByIndex(), boxaSplitEvenOdd(), boxaTransform(), boxaTransformOrdered(), boxaWindowedMedian(), ccbaReadStream(), generatePtaGrid(), makeMosaicStrips(), pixaaAddBox(), pixaAddBorderGeneral(), pixaAddBox(), pixaClipToForeground(), pixacompAddBox(), pixaSetFullSizeBoxa(), pixGetHoleBorder(), pixGetOuterBorder(), ptaConvertToBoxa(), and recogExtractNumbers().
| void boxaaDestroy | ( | BOXAA ** | pbaa | ) |
| [in,out] | pbaa | will be set to null before returning |
Definition at line 1289 of file boxbasic.c.
References Boxaa::boxa, boxaDestroy(), and Boxaa::n.
Referenced by boxaaCreate(), boxaaReadStream(), boxaSort2d(), pixGetWordBoxesInTextlines(), pixGetWordsInTextlines(), and recogExtractNumbers().
| l_ok boxaaExtendArray | ( | BOXAA * | baa | ) |
| [in] | baa |
Definition at line 1364 of file boxbasic.c.
References Boxaa::boxa, Boxaa::nalloc, and reallocNew().
Referenced by boxaaAddBoxa(), and boxaaInsertBoxa().
| l_ok boxaaExtendArrayToSize | ( | BOXAA * | baa, |
| l_int32 | size | ||
| ) |
| [in] | baa | |
| [in] | size | new size of boxa array |
Notes:
(1) If necessary, reallocs the boxa ptr array to size.
Definition at line 1395 of file boxbasic.c.
References Boxaa::boxa, Boxaa::nalloc, and reallocNew().
Referenced by boxaaExtendWithInit().
| [in] | baa | |
| [in] | maxindex | |
| [in] | boxa | to be replicated into the extended ptr array |
Notes:
(1) This should be used on an existing boxaa that has been
fully loaded with boxa. It then extends the boxaa,
loading all the additional ptrs with copies of boxa.
Typically, boxa will be empty.
Definition at line 1593 of file boxbasic.c.
References boxaaAddBoxa(), boxaaExtendArrayToSize(), boxaaGetCount(), and L_COPY.
Referenced by convertSegmentedFilesToPdf().
| [in] | baa | |
| [in] | iboxa | index into the boxa array in the boxaa |
| [in] | ibox | index into the box array in the boxa |
| [in] | accessflag | L_COPY or L_CLONE |
Definition at line 1501 of file boxbasic.c.
References boxaaGetBoxa(), boxaDestroy(), boxaGetBox(), and L_CLONE.
Referenced by boxaaTranspose().
| [in] | baa | |
| [in] | index | to the index-th boxa |
| [in] | accessflag | L_COPY or L_CLONE |
Definition at line 1471 of file boxbasic.c.
References Boxaa::boxa, boxaaGetCount(), boxaCopy(), L_CLONE, and L_COPY.
Referenced by boxaaAddBox(), boxaaAlignBox(), boxaaCopy(), boxaaFlattenAligned(), boxaaFlattenToBoxa(), boxaaGetBox(), boxaaGetBoxCount(), boxaaGetExtent(), boxaaJoin(), boxaaSelectRange(), boxaaSizeRange(), boxaaTranspose(), boxaaWriteStream(), boxaSort2d(), convertSegmentedFilesToPdf(), pixaDisplayBoxaa(), and showExtractNumbers().
| l_int32 boxaaGetBoxCount | ( | BOXAA * | baa | ) |
| [in] | baa |
Definition at line 1441 of file boxbasic.c.
References boxaaGetBoxa(), boxaaGetCount(), boxaDestroy(), boxaGetCount(), and L_CLONE.
| l_int32 boxaaGetCount | ( | BOXAA * | baa | ) |
| [in] | baa |
Definition at line 1424 of file boxbasic.c.
References Boxaa::n.
Referenced by boxaaAddBox(), boxaaAddBoxa(), boxaaAlignBox(), boxaaCopy(), boxaaExtendWithInit(), boxaaFlattenAligned(), boxaaFlattenToBoxa(), boxaaGetBoxa(), boxaaGetBoxCount(), boxaaGetExtent(), boxaaInsertBoxa(), boxaaJoin(), boxaaRemoveBoxa(), boxaaReplaceBoxa(), boxaaSelectRange(), boxaaSizeRange(), boxaaTranspose(), boxaaWriteStream(), boxaSort2d(), convertSegmentedFilesToPdf(), and pixaDisplayBoxaa().
| [in] | baa | typically empty |
| [in] | boxa | to be replicated into the entire ptr array |
Notes:
(1) This initializes a boxaa by filling up the entire boxa ptr array
with copies of boxa. Any existing boxa are destroyed.
After this operation, the number of boxa is equal to
the number of allocated ptrs.
(2) Note that we use boxaaReplaceBox() instead of boxaInsertBox().
They both have the same effect when inserting into a NULL ptr
in the boxa ptr array
(3) Example usage. This function is useful to prepare for a
random insertion (or replacement) of boxa into a boxaa.
To randomly insert boxa into a boxaa, up to some index "max":
Boxaa *baa = boxaaCreate(max);
// initialize the boxa
Boxa *boxa = boxaCreate(...);
... [optionally fix with boxes]
boxaaInitFull(baa, boxa);
A typical use is to initialize the array with empty boxa,
and to replace only a subset that must be aligned with
something else, such as a pixa.
Definition at line 1553 of file boxbasic.c.
References boxaaReplaceBoxa(), boxaCopy(), L_COPY, Boxaa::n, and Boxaa::nalloc.
Referenced by convertNumberedMasksToBoxaa().
| [in] | baa | |
| [in] | index | location in boxaa to insert new boxa |
| [in] | boxa | new boxa to be inserted |
Notes:
(1) This shifts boxa[i] –> boxa[i + 1] for all i >= index,
and then inserts boxa as boxa[index].
(2) To insert at the beginning of the array, set index = 0.
(3) To append to the array, it's easier to use boxaaAddBoxa().
(4) This should not be used repeatedly to insert into large arrays,
because the function is O(n).
Definition at line 1675 of file boxbasic.c.
References Boxaa::boxa, boxaaExtendArray(), boxaaGetCount(), Boxaa::n, and Boxaa::nalloc.
| BOXAA* boxaaRead | ( | const char * | filename | ) |
| [in] | filename |
Definition at line 1853 of file boxbasic.c.
References boxaaReadStream(), and fopenReadStream().
| BOXAA* boxaaReadFromFiles | ( | const char * | dirname, |
| const char * | substr, | ||
| l_int32 | first, | ||
| l_int32 | nfiles | ||
| ) |
| [in] | dirname | directory |
| [in] | substr | [optional] substring filter on filenames; can be NULL |
| [in] | first | 0-based |
| [in] | nfiles | use 0 for everything from first to the end |
Notes:
(1) The files must be serialized boxa files (e.g., *.ba).
If some files cannot be read, warnings are issued.
(2) Use substr to filter filenames in the directory. If
substr == NULL, this takes all files.
(3) After filtering, use first and nfiles to select
a contiguous set of files, that have been lexically
sorted in increasing order.
Definition at line 1809 of file boxbasic.c.
References boxaaAddBoxa(), boxaaCreate(), boxaRead(), getSortedPathnamesInDirectory(), L_INSERT, L_NOCOPY, sarrayDestroy(), sarrayGetCount(), and sarrayGetString().
| BOXAA* boxaaReadMem | ( | const l_uint8 * | data, |
| size_t | size | ||
| ) |
| [in] | data | serialization of boxaa; in ascii |
| [in] | size | of data in bytes; can use strlen to get it |
Definition at line 1925 of file boxbasic.c.
References boxaaReadStream(), and fopenReadFromMemory().
| BOXAA* boxaaReadStream | ( | FILE * | fp | ) |
| [in] | fp | input file stream |
Definition at line 1880 of file boxbasic.c.
References BOXAA_VERSION_NUMBER, boxaaAddBoxa(), boxaaCreate(), boxaaDestroy(), boxaReadStream(), and L_INSERT.
Referenced by boxaaRead(), and boxaaReadMem().
| l_ok boxaaRemoveBoxa | ( | BOXAA * | baa, |
| l_int32 | index | ||
| ) |
| [in] | baa | |
| [in] | index | of the boxa to be removed and destroyed |
Notes:
(1) This removes boxa[index] and then shifts
boxa[i] –> boxa[i - 1] for all i > index.
(2) The removed boxaa is destroyed.
(2) This should not be used repeatedly on large arrays,
because the function is O(n).
Definition at line 1721 of file boxbasic.c.
References Boxaa::boxa, boxaaGetCount(), boxaDestroy(), and Boxaa::n.
| [in] | baa | |
| [in] | index | to the index-th boxa |
| [in] | boxa | insert and replace any existing one |
Notes:
(1) Any existing boxa is destroyed, and the input one
is inserted in its place.
(2) If the index is invalid, return 1 (error)
Definition at line 1634 of file boxbasic.c.
References Boxaa::boxa, boxaaGetCount(), and boxaDestroy().
Referenced by boxaaInitFull(), boxaSort2d(), and convertNumberedMasksToBoxaa().
| l_ok boxaaWrite | ( | const char * | filename, |
| BOXAA * | baa | ||
| ) |
| [in] | filename | |
| [in] | baa |
Definition at line 1953 of file boxbasic.c.
References boxaaWriteStream(), and fopenWriteStream().
| l_ok boxaaWriteMem | ( | l_uint8 ** | pdata, |
| size_t * | psize, | ||
| BOXAA * | baa | ||
| ) |
| [out] | pdata | data of serialized boxaa; ascii |
| [out] | psize | size of returned data |
| [in] | baa |
Notes:
(1) Serializes a boxaa in memory and puts the result in a buffer.
Definition at line 2031 of file boxbasic.c.
References boxaaWriteStream(), fopenWriteWinTempfile(), and l_binaryReadStream().
| l_ok boxaaWriteStream | ( | FILE * | fp, |
| BOXAA * | baa | ||
| ) |
| [in] | fp | output file stream |
| [in] | baa |
Definition at line 1984 of file boxbasic.c.
References BOXAA_VERSION_NUMBER, boxaaGetBoxa(), boxaaGetCount(), boxaDestroy(), boxaGetExtent(), boxaWriteStream(), boxDestroy(), boxGetGeometry(), and L_CLONE.
Referenced by boxaaWrite(), and boxaaWriteMem().
| l_ok boxaClear | ( | BOXA * | boxa | ) |
| [in] | boxa |
Notes:
(1) This destroys all boxes in the boxa, setting the ptrs
to null. The number of allocated boxes, n, is set to 0.
Definition at line 1196 of file boxbasic.c.
References Boxa::box, boxaGetCount(), boxDestroy(), and Boxa::n.
Referenced by pixaClear().
| [in] | boxa | |
| [in] | copyflag | L_COPY, L_CLONE, L_COPY_CLONE |
Notes:
(1) See pix.h for description of the copyflag.
(2) The copy-clone makes a new boxa that holds clones of each box.
Definition at line 534 of file boxbasic.c.
References boxaAddBox(), boxaCreate(), boxaGetBox(), L_CLONE, L_COPY, L_COPY_CLONE, L_INSERT, Boxa::n, Boxa::nalloc, and Boxa::refcount.
Referenced by boxaaAddBoxa(), boxaAdjustHeightToTarget(), boxaAdjustWidthToTarget(), boxaaGetBoxa(), boxaaInitFull(), boxaBinSort(), boxaCombineOverlaps(), boxaCombineOverlapsInPair(), boxaConstrainSize(), boxaFillSequence(), boxaHandleOverlaps(), boxaModifyWithBoxa(), boxaPermuteRandom(), boxaPruneSortedOnOverlap(), boxaReconcileEvenOddHeight(), boxaReconcileSizeByMedian(), boxaRotateOrth(), boxaSelectByArea(), boxaSelectBySize(), boxaSelectByWHRatio(), boxaSelectRange(), boxaSelectWithIndicator(), boxaSetSide(), boxaSmoothSequenceLS(), boxaSmoothSequenceMedian(), boxaSort(), boxaSortByIndex(), boxaWindowedMedian(), dewarpaApplyDisparityBoxa(), pixaaGetBoxa(), pixacompGetBoxa(), pixaGetBoxa(), and pixaSetBoxa().
| BOXA* boxaCreate | ( | l_int32 | n | ) |
| [in] | n | initial number of ptrs; 0 for default |
Definition at line 499 of file boxbasic.c.
References Boxa::box, boxaDestroy(), INITIAL_PTR_ARRAYSIZE, Boxa::n, Boxa::nalloc, and Boxa::refcount.
Referenced by boxaAdjustSides(), boxaaFlattenAligned(), boxaaFlattenToBoxa(), boxaaGetExtent(), boxaaQuadtreeRegions(), boxaaTranspose(), boxaClipToBox(), boxaConstrainSize(), boxaContainedInBox(), boxaCopy(), boxaEncapsulateAligned(), boxaGenerateSubboxes(), boxaHandleOverlaps(), boxaIntersectsBox(), boxaLinearFit(), boxaMergeEvenOdd(), boxaModifyWithBoxa(), boxaPruneSortedOnOverlap(), boxaReadStream(), boxaReconcileSizeByMedian(), boxaRotateOrth(), boxaSaveValid(), boxaSelectLargeULBox(), boxaSelectRange(), boxaSelectWithIndicator(), boxaSizeConsistency2(), boxaSort2d(), boxaSort2dByIndex(), boxaSortByIndex(), boxaSplitEvenOdd(), boxaTransform(), boxaTransformOrdered(), boxaWindowedMedian(), convertNumberedMasksToBoxaa(), convertSegmentedFilesToPdf(), generatePtaGrid(), makeMosaicStrips(), pixaClipToForeground(), pixaDisplayOnLattice(), pixaDisplayTiledInRows(), pixaSetFullSizeBoxa(), ptaConvertToBoxa(), and recogExtractNumbers().
| void boxaDestroy | ( | BOXA ** | pboxa | ) |
| [in,out] | pboxa | will be set to null before returning |
Notes:
(1) Decrements the ref count and, if 0, destroys the boxa.
(2) Always nulls the input ptr.
Definition at line 580 of file boxbasic.c.
References Boxa::box, boxDestroy(), Boxa::n, and Boxa::refcount.
Referenced by boxaaAddBox(), boxaaAlignBox(), boxaaDestroy(), boxaaFlattenAligned(), boxaaFlattenToBoxa(), boxaaGetBox(), boxaaGetBoxCount(), boxaaGetExtent(), boxaaRemoveBoxa(), boxaaReplaceBoxa(), boxaaSizeRange(), boxaaTranspose(), boxaaWriteStream(), boxaCombineOverlaps(), boxaCombineOverlapsInPair(), boxaCompareRegions(), boxaCreate(), boxaDisplayTiled(), boxaFillSequence(), boxaHandleOverlaps(), boxaLinearFit(), boxaMedianDimensions(), boxaPlotSides(), boxaPlotSizes(), boxaReadStream(), boxaReconcileEvenOddHeight(), boxaReconcilePairWidth(), boxaReconcileSizeByMedian(), boxaRotateOrth(), boxaSelectLargeULBox(), boxaSizeConsistency2(), boxaSizeVariation(), boxaSmoothSequenceLS(), boxaSmoothSequenceMedian(), boxaSort2d(), boxaTransform(), boxaTransformOrdered(), boxaWindowedMedian(), ccbDestroy(), convertNumberedMasksToBoxaa(), convertSegmentedFilesToPdf(), generatePtaGrid(), partelDestroy(), pixaAddBorderGeneral(), pixaaDestroy(), pixaaDisplay(), pixaaReadStream(), pixacompDestroy(), pixacompJoin(), pixacompReadStream(), pixaCreateFromPixacomp(), pixaDestroy(), pixaDisplay(), pixaDisplayBoxaa(), pixaDisplayOnColor(), pixaDisplayRandomCmap(), pixaEqual(), pixaIsFull(), pixaJoin(), pixaReadStream(), pixaSetBoxa(), pixaTranslate(), pixGetWordBoxesInTextlines(), pixGetWordsInTextlines(), pixMorphSequenceByComponent(), pixSelectByAreaFraction(), pixSelectByPerimSizeRatio(), pixSelectByPerimToAreaRatio(), pixSelectBySize(), pixSelectByWidthHeightRatio(), pixSelectLargeULComp(), recogDestroyDid(), and showExtractNumbers().
| l_ok boxaExtendArray | ( | BOXA * | boxa | ) |
| [in] | boxa |
Notes:
(1) Reallocs with doubled size of ptr array.
Definition at line 665 of file boxbasic.c.
References boxaExtendArrayToSize(), and Boxa::nalloc.
Referenced by boxaAddBox(), boxaInsertBox(), pixacompExtendArray(), and pixaInsertPix().
| l_ok boxaExtendArrayToSize | ( | BOXA * | boxa, |
| l_int32 | size | ||
| ) |
| [in] | boxa | |
| [in] | size | new size of boxa array |
Notes:
(1) If necessary, reallocs new boxa ptr array to size.
Definition at line 689 of file boxbasic.c.
References Boxa::box, Boxa::nalloc, and reallocNew().
Referenced by boxaExtendArray(), and pixaExtendArrayToSize().
| [in] | boxa |
Definition at line 830 of file boxbasic.c.
References boxaGetBoxGeometry(), boxaGetCount(), boxaGetValidCount(), numaMakeConstant(), and numaSetValue().
| [in] | boxa | |
| [in] | index | to the index-th box |
| [in] | accessflag | L_COPY or L_CLONE |
Definition at line 763 of file boxbasic.c.
References Boxa::box, boxClone(), boxCopy(), L_CLONE, L_COPY, and Boxa::n.
Referenced by boxaAdjustHeightToTarget(), boxaAdjustSides(), boxaAdjustWidthToTarget(), boxaaFlattenAligned(), boxaaFlattenToBoxa(), boxaaGetBox(), boxaClipToBox(), boxaContainedInBox(), boxaContainedInBoxa(), boxaContainedInBoxCount(), boxaConvertToPta(), boxaCopy(), boxaDisplayTiled(), boxaEncapsulateAligned(), boxaEqual(), boxaExtractSortedPattern(), boxaFillAll(), boxaGetBoxGeometry(), boxaGetCoverage(), boxaGetNearestToLine(), boxaGetNearestToPt(), boxaGetValidBox(), boxaHandleOverlaps(), boxaIntersectsBox(), boxaIntersectsBoxCount(), boxaIsFull(), boxaJoin(), boxaMergeEvenOdd(), boxaPruneSortedOnOverlap(), boxaReconcilePairWidth(), boxaReconcileSizeByMedian(), boxaRemoveBoxAndSave(), boxaRotateOrth(), boxaSelectLargeULBox(), boxaSelectPivotBox(), boxaSelectRange(), boxaSelectWithIndicator(), boxaSetSide(), boxaSimilar(), boxaSort2d(), boxaSort2dByIndex(), boxaSortByIndex(), boxaSplitEvenOdd(), boxaTransform(), boxaTransformOrdered(), boxaWriteStream(), boxCheckIfOverlapIsBig(), ccbaDisplayImage1(), dewarpShowResults(), generatePtaaBoxa(), generatePtaaHashBoxa(), generatePtaBoxa(), generatePtaHashBoxa(), pixaCreateFromBoxa(), pixaDisplayBoxaa(), pixBlendBoxaRandom(), pixClipRectangles(), recogExtractNumbers(), and recogRescoreDidResult().
| l_ok boxaGetBoxGeometry | ( | BOXA * | boxa, |
| l_int32 | index, | ||
| l_int32 * | px, | ||
| l_int32 * | py, | ||
| l_int32 * | pw, | ||
| l_int32 * | ph | ||
| ) |
| [in] | boxa | |
| [in] | index | to the index-th box |
| [out] | px,py,pw,ph | [optional] each can be null |
Definition at line 863 of file boxbasic.c.
References boxaGetBox(), boxDestroy(), boxGetGeometry(), L_CLONE, and Boxa::n.
Referenced by boxaBinSort(), boxaExtractAsNuma(), boxaExtractAsPta(), boxaFindInvalidBoxes(), boxaGetArea(), boxaGetAverageSize(), boxaGetExtent(), boxaGetNearestByDirection(), boxaGetValidCount(), boxaLocationRange(), boxaMakeAreaIndicator(), boxaMakeSizeIndicator(), boxaMakeWHRatioIndicator(), boxaMedianDimensions(), boxaPlotSides(), boxaPlotSizes(), boxaSelectLargeULBox(), boxaSelectPivotBox(), boxaSizeConsistency1(), boxaSizeConsistency2(), boxaSizeRange(), boxaTestEvenOddHeight(), ccbaDisplayImage2(), ccbaGenerateGlobalLocs(), ccbaGenerateSPGlobalLocs(), and pixaBinSort().
| l_int32 boxaGetCount | ( | BOXA * | boxa | ) |
| [in] | boxa |
Definition at line 718 of file boxbasic.c.
References Boxa::n.
Referenced by boxaaAlignBox(), boxaAddBox(), boxaAdjustHeightToTarget(), boxaAdjustSides(), boxaAdjustWidthToTarget(), boxaaFlattenAligned(), boxaaFlattenToBoxa(), boxaaGetBoxCount(), boxaaTranspose(), boxaBinSort(), boxaClear(), boxaClipToBox(), boxaCombineOverlaps(), boxaCombineOverlapsInPair(), boxaCompareRegions(), boxaConstrainSize(), boxaContainedInBox(), boxaContainedInBoxa(), boxaContainedInBoxCount(), boxaConvertToPta(), boxaDisplayTiled(), boxaEncapsulateAligned(), boxaEqual(), boxaExtractAsNuma(), boxaExtractAsPta(), boxaExtractSortedPattern(), boxaFillAll(), boxaFillSequence(), boxaFindInvalidBoxes(), boxaFindNearestBoxes(), boxaGetArea(), boxaGetAverageSize(), boxaGetCoverage(), boxaGetExtent(), boxaGetNearestByDirection(), boxaGetNearestToLine(), boxaGetNearestToPt(), boxaGetValidCount(), boxaHandleOverlaps(), boxaInsertBox(), boxaIntersectsBox(), boxaIntersectsBoxCount(), boxaIsFull(), boxaJoin(), boxaLinearFit(), boxaLocationRange(), boxaMakeAreaIndicator(), boxaMakeSizeIndicator(), boxaMakeWHRatioIndicator(), boxaMedianDimensions(), boxaMergeEvenOdd(), boxaModifyWithBoxa(), boxaPermutePseudorandom(), boxaPermuteRandom(), boxaPlotSides(), boxaPlotSizes(), boxaPruneSortedOnOverlap(), boxaReconcilePairWidth(), boxaReconcileSizeByMedian(), boxaRemoveBoxAndSave(), boxaRotateOrth(), boxaSaveValid(), boxaSelectByArea(), boxaSelectBySize(), boxaSelectByWHRatio(), boxaSelectLargeULBox(), boxaSelectPivotBox(), boxaSelectRange(), boxaSetSide(), boxaSimilar(), boxaSizeConsistency1(), boxaSizeConsistency2(), boxaSizeRange(), boxaSizeVariation(), boxaSmoothSequenceLS(), boxaSmoothSequenceMedian(), boxaSort(), boxaSort2d(), boxaSort2dByIndex(), boxaSortByIndex(), boxaSplitEvenOdd(), boxaSwapBoxes(), boxaTestEvenOddHeight(), boxaTransform(), boxaTransformOrdered(), boxaWindowedMedian(), boxaWriteStream(), boxCheckIfOverlapIsBig(), convertSegmentedFilesToPdf(), generatePtaaBoxa(), generatePtaaHashBoxa(), generatePtaBoxa(), generatePtaHashBoxa(), pixaaDisplay(), pixaBinSort(), pixacompGetBoxaCount(), pixaCreateFromBoxa(), pixaDisplayBoxaa(), pixaEqual(), pixaGetBoxaCount(), pixaRemovePix(), pixaRemovePixAndSave(), pixaSort(), pixBlendBoxaRandom(), pixClipRectangles(), pixDrawBoxa(), pixDrawBoxaRandom(), pixPaintBoxa(), pixPaintBoxaRandom(), pixSelectLargeULComp(), and pixSetBlackOrWhiteBoxa().
| [in] | boxa | |
| [in] | index | to the index-th box |
| [in] | accessflag | L_COPY or L_CLONE |
Notes:
(1) This returns NULL for an invalid box in a boxa.
For a box to be valid, both the width and height must be > 0.
(2) We allow invalid boxes, with w = 0 or h = 0, as placeholders
in boxa for which the index of the box in the boxa is important.
This is an atypical situation; usually you want to put only
valid boxes in a boxa.
Definition at line 802 of file boxbasic.c.
References boxaGetBox(), boxDestroy(), and boxGetGeometry().
Referenced by boxaCombineOverlaps(), boxaCombineOverlapsInPair(), boxaConstrainSize(), boxaFillAll(), boxaGetSizes(), boxaLinearFit(), boxaModifyWithBoxa(), boxaReconcileSizeByMedian(), and boxaSaveValid().
| l_int32 boxaGetValidCount | ( | BOXA * | boxa | ) |
| [in] | boxa |
Definition at line 735 of file boxbasic.c.
References boxaGetBoxGeometry(), and boxaGetCount().
Referenced by boxaConstrainSize(), boxaExtractAsNuma(), boxaExtractAsPta(), boxaFillAll(), boxaFillSequence(), boxaFindInvalidBoxes(), boxaGetMedianVals(), boxaGetRankVals(), boxaGetSizes(), boxaMedianDimensions(), boxaReconcileEvenOddHeight(), boxaReconcileSizeByMedian(), and boxaSizeConsistency1().
| [in] | boxa | typically empty |
| [in] | box | [optional] to be replicated into the entire ptr array |
Notes:
(1) This initializes a boxa by filling up the entire box ptr array
with copies of box. If box == NULL, use a placeholder box
of zero size. Any existing boxes are destroyed.
After this opepration, the number of boxes is equal to
the number of allocated ptrs.
(2) Note that we use boxaReplaceBox() instead of boxaInsertBox().
They both have the same effect when inserting into a NULL ptr
in the boxa ptr array:
(3) Example usage. This function is useful to prepare for a
random insertion (or replacement) of boxes into a boxa.
To randomly insert boxes into a boxa, up to some index "max":
Boxa *boxa = boxaCreate(max);
boxaInitFull(boxa, NULL);
If you want placeholder boxes of non-zero size:
Boxa *boxa = boxaCreate(max);
Box *box = boxCreate(...);
boxaInitFull(boxa, box);
boxDestroy(&box);
If we have an existing boxa with a smaller ptr array, it can
be reused for up to max boxes:
boxaExtendArrayToSize(boxa, max);
boxaInitFull(boxa, NULL);
The initialization allows the boxa to always be properly
filled, even if all the boxes are not later replaced.
If you want to know which boxes have been replaced,
and you initialized with invalid zero-sized boxes,
use boxaGetValidBox() to return NULL for the invalid boxes.
Definition at line 1159 of file boxbasic.c.
References boxaReplaceBox(), boxCopy(), boxCreate(), Boxa::n, and Boxa::nalloc.
Referenced by pixaInitFull().
| [in] | boxa | |
| [in] | index | location in boxa to insert new value |
| [in] | box | new box to be inserted; the boxa now owns it |
Notes:
(1) This shifts box[i] –> box[i + 1] for all i >= index,
and then inserts box as box[index].
(2) To insert at the beginning of the array, set index = 0.
(3) To append to the array, it's easier to use boxaAddBox().
(4) This should not be used repeatedly to insert into large arrays,
because the function is O(n).
Definition at line 984 of file boxbasic.c.
References Boxa::box, boxaExtendArray(), boxaGetCount(), Boxa::n, and Boxa::nalloc.
Referenced by pixaInsertPix().
| l_ok boxaIsFull | ( | BOXA * | boxa, |
| l_int32 * | pfull | ||
| ) |
| [in] | boxa | |
| [out] | pfull | 1 if boxa is full; 0 otherwise |
Definition at line 899 of file boxbasic.c.
References boxaGetBox(), boxaGetCount(), boxDestroy(), and L_CLONE.
Referenced by pixaIsFull().
| BOXA* boxaRead | ( | const char * | filename | ) |
| [in] | filename |
Definition at line 2081 of file boxbasic.c.
References boxaReadStream(), and fopenReadStream().
Referenced by boxaaReadFromFiles().
| BOXA* boxaReadMem | ( | const l_uint8 * | data, |
| size_t | size | ||
| ) |
| [in] | data | serialization of boxa; in ascii |
| [in] | size | of data in bytes; can use strlen to get it |
Definition at line 2151 of file boxbasic.c.
References boxaReadStream(), and fopenReadFromMemory().
| BOXA* boxaReadStream | ( | FILE * | fp | ) |
| [in] | fp | input file stream |
Definition at line 2108 of file boxbasic.c.
References BOXA_VERSION_NUMBER, boxaAddBox(), boxaCreate(), boxaDestroy(), boxCreate(), and L_INSERT.
Referenced by boxaaReadStream(), boxaRead(), boxaReadMem(), pixaaReadStream(), pixacompReadStream(), and pixaReadStream().
| l_ok boxaRemoveBox | ( | BOXA * | boxa, |
| l_int32 | index | ||
| ) |
| [in] | boxa | |
| [in] | index | of box to be removed and destroyed |
Notes:
(1) This removes box[index] and then shifts
box[i] –> box[i - 1] for all i > index.
(2) It should not be used repeatedly to remove boxes from
large arrays, because the function is O(n).
Definition at line 1029 of file boxbasic.c.
References boxaRemoveBoxAndSave().
Referenced by pixaRemovePix().
| [in] | boxa | |
| [in] | index | of box to be removed |
| [out] | pbox | [optional] removed box |
Notes:
(1) This removes box[index] and then shifts
box[i] –> box[i - 1] for all i > index.
(2) It should not be used repeatedly to remove boxes from
large arrays, because the function is O(n).
Definition at line 1053 of file boxbasic.c.
References Boxa::box, boxaGetBox(), boxaGetCount(), boxDestroy(), L_CLONE, and Boxa::n.
Referenced by boxaRemoveBox(), and pixaRemovePixAndSave().
| [in] | boxa | |
| [in] | index | to the index-th box |
| [in] | box | insert this box to replace existing one |
Notes:
(1) In-place replacement of one box; the input box is now
owned by the boxa.
(2) The previous box at that location, if any, is destroyed.
Definition at line 946 of file boxbasic.c.
References Boxa::box, boxDestroy(), and Boxa::n.
Referenced by boxaCombineOverlaps(), boxaCombineOverlapsInPair(), boxaFillAll(), boxaHandleOverlaps(), boxaInitFull(), pixaAddBorderGeneral(), and pixaReplacePix().
| [in] | boxas | |
| [in] | copyflag | L_COPY or L_CLONE |
Notes:
(1) This makes a copy/clone of each valid box.
Definition at line 1095 of file boxbasic.c.
References boxaAddBox(), boxaCreate(), boxaGetCount(), boxaGetValidBox(), L_CLONE, L_COPY, and L_INSERT.
Referenced by boxaCombineOverlaps(), boxaCombineOverlapsInPair(), and boxaDisplayTiled().
| l_ok boxaWrite | ( | const char * | filename, |
| BOXA * | boxa | ||
| ) |
| [in] | filename | |
| [in] | boxa |
Definition at line 2210 of file boxbasic.c.
References boxaWriteStream(), and fopenWriteStream().
Referenced by boxaWriteDebug().
| l_ok boxaWriteDebug | ( | const char * | filename, |
| BOXA * | boxa | ||
| ) |
| [in] | filename | |
| [in] | boxa |
Notes:
(1) Debug version, intended for use in the library when writing
to files in a temp directory with names that are compiled in.
This is used instead of boxaWrite() for all such library calls.
(2) The global variable LeptDebugOK defaults to 0, and can be set
or cleared by the function setLeptDebugOK().
Definition at line 2188 of file boxbasic.c.
References boxaWrite().
Referenced by boxaLinearFit(), boxaSmoothSequenceLS(), and boxaSmoothSequenceMedian().
| l_ok boxaWriteMem | ( | l_uint8 ** | pdata, |
| size_t * | psize, | ||
| BOXA * | boxa | ||
| ) |
| [out] | pdata | data of serialized boxa; ascii |
| [out] | psize | size of returned data |
| [in] | boxa |
Notes:
(1) Serializes a boxa in memory and puts the result in a buffer.
Definition at line 2283 of file boxbasic.c.
References boxaWriteStream(), fopenWriteWinTempfile(), and l_binaryReadStream().
| l_ok boxaWriteStream | ( | FILE * | fp, |
| BOXA * | boxa | ||
| ) |
| [in] | fp | output file stream |
| [in] | boxa |
Definition at line 2242 of file boxbasic.c.
References BOXA_VERSION_NUMBER, boxaGetBox(), boxaGetCount(), boxDestroy(), Box::h, L_CLONE, Box::w, Box::x, and Box::y.
Referenced by boxaaWriteStream(), boxaWrite(), boxaWriteMem(), pixaaWriteStream(), pixacompWriteStream(), and pixaWriteStream().
| l_ok boxChangeRefcount | ( | BOX * | box, |
| l_int32 | delta | ||
| ) |
Adjust the current references count of box by delta.
| [in] | box | ptr to box |
| [in] | delta | adjustment, usually -1 or 1 |
Definition at line 451 of file boxbasic.c.
References Box::refcount.
Referenced by boxClone(), and boxDestroy().
| [in] | box |
Definition at line 252 of file boxbasic.c.
References boxChangeRefcount().
Referenced by boxaAddBox(), boxaGetBox(), pixacompGetBox(), and pixaGetBox().
| [in] | box |
Definition at line 230 of file boxbasic.c.
References boxCreate(), Box::h, Box::w, Box::x, and Box::y.
Referenced by boxaAddBox(), boxaCombineOverlaps(), boxaCombineOverlapsInPair(), boxaConstrainSize(), boxaGetBox(), boxaInitFull(), boxClipToRectangle(), boxRelocateOneSide(), boxRotateOrth(), partelCreate(), pixacompGetBox(), and pixaGetBox().
| BOX* boxCreate | ( | l_int32 | x, |
| l_int32 | y, | ||
| l_int32 | w, | ||
| l_int32 | h | ||
| ) |
| [in] | x,y,w,h |
Notes:
(1) This clips the box to the +quad. If no part of the
box is in the +quad, this returns NULL.
(2) We allow you to make a box with w = 0 and/or h = 0.
This does not represent a valid region, but it is useful
as a placeholder in a boxa for which the index of the
box in the boxa is important. This is an atypical
situation; usually you want to put only valid boxes with
nonzero width and height in a boxa. If you have a boxa
with invalid boxes, the accessor boxaGetValidBox()
will return NULL on each invalid box.
(3) If you want to create only valid boxes, use boxCreateValid(),
which returns NULL if either w or h is 0.
Definition at line 165 of file boxbasic.c.
References boxSetGeometry(), and Box::refcount.
Referenced by boxaAdjustSides(), boxaaFlattenAligned(), boxaaFlattenToBoxa(), boxaaGetExtent(), boxaaQuadtreeRegions(), boxaCombineOverlaps(), boxaCombineOverlapsInPair(), boxaConstrainSize(), boxAdjustSides(), boxaGenerateSubboxes(), boxaGetExtent(), boxaInitFull(), boxaLinearFit(), boxaModifyWithBoxa(), boxaReadStream(), boxaSizeConsistency2(), boxaSplitEvenOdd(), boxaWindowedMedian(), boxBoundingRegion(), boxCopy(), boxCreateValid(), boxOverlapRegion(), boxRotateOrth(), boxTransform(), boxTransformOrdered(), ccbaReadStream(), generatePtaGrid(), ioFormatTest(), makeMosaicStrips(), pixaDisplayTiledByIndex(), pixaSetFullSizeBoxa(), pixCropAlignedToCentroid(), pixPrepare1bpp(), pixTilingGetTile(), pixWarpStereoscopic(), ptaConvertToBox(), ptaConvertToBoxa(), and ptaGetBoundingRegion().
| BOX* boxCreateValid | ( | l_int32 | x, |
| l_int32 | y, | ||
| l_int32 | w, | ||
| l_int32 | h | ||
| ) |
| [in] | x,y,w,h |
Notes:
(1) This returns NULL if either w = 0 or h = 0.
Definition at line 210 of file boxbasic.c.
References boxCreate().
| void boxDestroy | ( | BOX ** | pbox | ) |
| [in,out] | pbox | will be set to null before returning |
Notes:
(1) Decrements the ref count and, if 0, destroys the box.
(2) Always nulls the input ptr.
Definition at line 278 of file boxbasic.c.
References boxChangeRefcount(), and boxGetRefcount().
Referenced by boxaaAlignBox(), boxaAdjustHeightToTarget(), boxaAdjustSides(), boxaAdjustWidthToTarget(), boxaaWriteStream(), boxaClear(), boxaClipToBox(), boxaCombineOverlaps(), boxaCombineOverlapsInPair(), boxaCompareRegions(), boxaConstrainSize(), boxaContainedInBox(), boxaContainedInBoxa(), boxaContainedInBoxCount(), boxaConvertToPta(), boxaDestroy(), boxaDisplayTiled(), boxaEqual(), boxaExtractSortedPattern(), boxaFillAll(), boxaGenerateSubboxes(), boxaGetBoxGeometry(), boxaGetCoverage(), boxaGetNearestToLine(), boxaGetNearestToPt(), boxaGetSizes(), boxaGetValidBox(), boxaHandleOverlaps(), boxaIntersectsBox(), boxaIntersectsBoxCount(), boxaIsFull(), boxaLinearFit(), boxaModifyWithBoxa(), boxaPruneSortedOnOverlap(), boxaReconcilePairWidth(), boxaReconcileSizeByMedian(), boxaRemoveBoxAndSave(), boxaReplaceBox(), boxaRotateOrth(), boxaSelectPivotBox(), boxaSetSide(), boxaSimilar(), boxaTransform(), boxaTransformOrdered(), boxaWriteStream(), boxCheckIfOverlapIsBig(), boxClipToRectangleParams(), boxOverlapArea(), boxOverlapFraction(), ccbaDisplayImage1(), dewarpShowResults(), generatePtaaBoxa(), generatePtaaHashBoxa(), generatePtaBoxa(), generatePtaHashBoxa(), ioFormatTest(), partelDestroy(), pixaClipToForeground(), pixacompGetBoxGeometry(), pixaCreateFromBoxa(), pixAddWithIndicator(), pixaDisplayBoxaa(), pixaGetBoxGeometry(), pixaRotateOrth(), pixBlendBoxaRandom(), pixClipRectangle(), pixClipRectangles(), pixCompareGrayByHisto(), pixPrepare1bpp(), pixRemoveWithIndicator(), pixTilingGetTile(), recogAverageSamples(), recogExtractNumbers(), recogRescoreDidResult(), selCreateFromPta(), and showExtractNumbers().
| l_ok boxGetGeometry | ( | BOX * | box, |
| l_int32 * | px, | ||
| l_int32 * | py, | ||
| l_int32 * | pw, | ||
| l_int32 * | ph | ||
| ) |
| [in] | box | |
| [out] | px,py,pw,ph | [optional] each can be null |
Definition at line 310 of file boxbasic.c.
References Box::h, Box::w, Box::x, and Box::y.
Referenced by boxaaAlignBox(), boxaAdjustHeightToTarget(), boxaAdjustSides(), boxaAdjustWidthToTarget(), boxaaGetExtent(), boxaaWriteStream(), boxaCompareRegions(), boxaConstrainSize(), boxAdjustSides(), boxaExtractSortedPattern(), boxaGenerateSubboxes(), boxaGetBoxGeometry(), boxaGetCoverage(), boxaGetSizes(), boxaGetValidBox(), boxaHandleOverlaps(), boxaLinearFit(), boxaModifyWithBoxa(), boxaReconcilePairWidth(), boxaReconcileSizeByMedian(), boxaSelectPivotBox(), boxaSort2d(), boxBoundingRegion(), boxClipToRectangleParams(), boxCompareSize(), boxContains(), boxContainsPt(), boxConvertToPta(), boxGetCenter(), boxGetSideLocations(), boxIntersectByLine(), boxIntersects(), boxOverlapArea(), boxOverlapFraction(), boxOverlapRegion(), boxRelocateOneSide(), boxRotateOrth(), boxSeparationDistance(), boxSetSide(), boxTransformOrdered(), ccbaDisplayImage1(), findTileRegionsForSearch(), generatePtaaBoxa(), generatePtaBox(), generatePtaHashBox(), partelSetSize(), pixacompGetBoxGeometry(), pixAddWithIndicator(), pixaGetBoxGeometry(), pixClearInRect(), pixClipRectangle(), pixCompareGrayByHisto(), pixComparePhotoRegionsByHisto(), pixRemoveWithIndicator(), recogAverageSamples(), recogExtractNumbers(), recogRescoreDidResult(), and selCreateFromPta().
| l_int32 boxGetRefcount | ( | BOX * | box | ) |
Return the current reference count of box.
| [in] | box |
Definition at line 433 of file boxbasic.c.
References Box::refcount.
Referenced by boxDestroy().
| l_ok boxGetSideLocations | ( | BOX * | box, |
| l_int32 * | pl, | ||
| l_int32 * | pr, | ||
| l_int32 * | pt, | ||
| l_int32 * | pb | ||
| ) |
| [in] | box | |
| [out] | pl,pt,pr,pb | [optional] each can be null |
Notes:
(1) All returned values are within the box.
Definition at line 371 of file boxbasic.c.
References boxGetGeometry().
Referenced by boxaReconcileSizeByMedian(), and boxSimilar().
| l_ok boxIsValid | ( | BOX * | box, |
| l_int32 * | pvalid | ||
| ) |
| [in] | box | |
| [out] | pvalid | 1 if valid; 0 otherwise |
Definition at line 472 of file boxbasic.c.
References Box::h, and Box::w.
Referenced by boxaReconcileSizeByMedian().
| l_ok boxPrintStreamInfo | ( | FILE * | fp, |
| BOX * | box | ||
| ) |
| [in] | fp | output file stream |
| [in] | box |
Notes:
(1) This outputs debug info. Use serialization functions to
write to file if you want to read the data back.
Definition at line 2340 of file boxbasic.c.
| l_ok boxSetGeometry | ( | BOX * | box, |
| l_int32 | x, | ||
| l_int32 | y, | ||
| l_int32 | w, | ||
| l_int32 | h | ||
| ) |
| [in] | box | |
| [in] | x,y,w,h | [optional] use -1 to leave unchanged |
Definition at line 340 of file boxbasic.c.
References Box::h, Box::w, Box::x, and Box::y.
Referenced by boxaAdjustHeightToTarget(), boxaAdjustWidthToTarget(), boxAdjustSides(), boxaReconcilePairWidth(), boxCreate(), boxRelocateOneSide(), boxSetSide(), and boxSetSideLocations().
| l_ok boxSetSideLocations | ( | BOX * | box, |
| l_int32 | l, | ||
| l_int32 | r, | ||
| l_int32 | t, | ||
| l_int32 | b | ||
| ) |
| [in] | box | |
| [in] | l,r,t,b | [optional] use -1 to leave unchanged |
Definition at line 405 of file boxbasic.c.
References boxSetGeometry(), Box::h, Box::w, Box::x, and Box::y.
|
static |
n'import quoi
Definition at line 136 of file boxbasic.c.
Referenced by boxaaCreate(), and boxaCreate().