FOSSredder 0.5.0
Loading...
Searching...
No Matches
ParserHelpers.h File Reference

Declares low-level OCR helper routines for statement parsing. More...

Include dependency graph for ParserHelpers.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  core::application::importing::internal::RawLineLite
 Lightweight raw-line representation used during grouping and splitting. More...
struct  core::application::importing::internal::ColumnGuess
 Stores the inferred column positions for an OCR page. More...

Namespaces

namespace  core
namespace  core::application
namespace  core::application::importing
namespace  core::application::importing::internal

Functions

std::vector< size_t > core::application::importing::internal::findAmountTokenIndices (const core::application::importing::transaction::internal::OcrLine &line, int valutaX=-1, int bandPx=0) noexcept
 Finds the indices of amount-like tokens in an OCR line.
std::string core::application::importing::internal::normalizeAlnumLower (const std::string &s) noexcept
 Normalizes alphanumeric text to lower-case ASCII for matching.
std::optional< int > core::application::importing::internal::findTokenCenterX (const core::application::importing::transaction::internal::OcrLine &line, const std::string &tokenLower) noexcept
 Locates the horizontal center of a token inside an OCR line.
std::optional< int > core::application::importing::internal::findPhraseCenterX (const core::application::importing::transaction::internal::OcrLine &line, std::initializer_list< const char * > phraseLower) noexcept
 Locates the horizontal center of a multi-token phrase in an OCR line.
bool core::application::importing::internal::hasTokenNearX (const core::application::importing::transaction::internal::OcrLine &line, int x, int bandPx) noexcept
 Checks whether any token in the line is close to a horizontal position.
bool core::application::importing::internal::hasAmountLikeTokenInLine (const core::application::importing::transaction::internal::OcrLine &line, int valutaX) noexcept
 Checks whether the line contains amount-like tokens near the valuta column.
bool core::application::importing::internal::hasLeftDescriptiveText (const core::application::importing::transaction::internal::OcrLine &line, int valutaX) noexcept
 Checks whether the line contains descriptive text to the left of the valuta column.
bool core::application::importing::internal::hasAmountNearValuta (const core::application::importing::transaction::internal::OcrLine &line, int valutaX, int bandPx) noexcept
 Checks whether an amount appears close to the valuta reference.
bool core::application::importing::internal::isLooseTransactionLine (const core::application::importing::transaction::internal::OcrLine &line, int valutaX) noexcept
 Checks whether the line looks like a loosely formatted transaction row.
std::optional< double > core::application::importing::internal::findAndParseAmountInLine (const core::application::importing::transaction::internal::OcrLine &line, int valutaX=-1, std::vector< std::string > *debugOut=nullptr) noexcept
 Finds and parses an amount token inside an OCR line.
std::vector< core::application::importing::transaction::internal::OcrLine > core::application::importing::internal::buildOcrLinesFromWords (const std::vector< core::ports::text_recognition::Word > &words)
 Builds OCR lines from raw Tesseract word output.
ColumnGuess core::application::importing::internal::inferColumnModelFromLines (const std::vector< core::application::importing::transaction::internal::OcrLine > &lines, size_t scanN=16) noexcept
 Infers a column layout from a set of OCR lines.
std::vector< RawLineLite > core::application::importing::internal::groupMergeLinesRaw (const std::vector< RawLineLite > &lines, int maxGapPx)
 Merges raw lines using a gap-based heuristic.
core::application::importing::transaction::internal::OcrLine core::application::importing::internal::toOcrLineFromRawWords (const RawLineLite &src, size_t i0, size_t i1) noexcept
 Converts a range of raw words into one OCR line.
core::application::importing::transaction::internal::TransactionMainRow core::application::importing::internal::splitMainRowFromRaw (const RawLineLite &src, int valutaX, int debitX, int creditX) noexcept
 Splits a raw line into the main transaction row representation.
core::application::importing::transaction::internal::TransactionMainRow core::application::importing::internal::splitMainRowFromOcrLine (const core::application::importing::transaction::internal::OcrLine &src, int valutaX, int debitX, int creditX) noexcept
 Splits an OCR line into the main transaction row representation.

Detailed Description

Declares low-level OCR helper routines for statement parsing.

Definition in file ParserHelpers.h.