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

Declares helpers for the statement parsing workflow. More...

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

Go to the source code of this file.

Namespaces

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

Functions

core::application::importing::transaction::internal::OcrLine core::application::importing::statement::internal::rawToOcrLine (const core::application::importing::statement::internal::RawLine &line)
 Converts a raw OCR line into a parser line model.
bool core::application::importing::statement::internal::isLikelyTransactionMainRowGeom (const core::application::importing::statement::internal::RawLine &line, const core::application::importing::statement::internal::ColumnModel &cols)
 Checks whether a raw line likely contains a main transaction row.
bool core::application::importing::statement::internal::isLikelyTransactionHeaderLine (const core::application::importing::transaction::internal::OcrLine &line, const core::application::importing::statement::internal::ColumnModel &cols)
 Checks whether an OCR line likely represents a transaction header row.
std::pair< int, bool > core::application::importing::statement::internal::detectHeaderRegion (const std::vector< core::application::importing::transaction::internal::OcrLine > &lines, size_t scanLines)
 Detects the most likely header region in the supplied OCR lines.
std::optional< std::string > core::application::importing::statement::internal::findDefaultBookingDate (const std::vector< core::application::importing::transaction::internal::OcrLine > &lines, size_t scanLines) noexcept
 Finds a default booking date near the top of the parsed page.
std::optional< std::string > core::application::importing::statement::internal::findBookingDateInHeader (const std::string &line) noexcept
 Extracts a booking date from a header line.
bool core::application::importing::statement::internal::detectEarlyEmptyPage (const std::vector< core::application::importing::transaction::internal::OcrLine > &lines, std::string &outDebug) noexcept
 Detects whether a page is effectively empty before parsing continues.
std::vector< core::application::importing::internal::RawLineLite > core::application::importing::statement::internal::selectiveGroupMergeLinesRaw (const std::vector< core::application::importing::internal::RawLineLite > &lines, int maxGapPx, const core::application::importing::internal::ColumnGuess &seedCols)
 Merges nearby raw lines using the parser's selective grouping heuristic.
std::optional< std::pair< core::application::importing::transaction::internal::TransactionMainRow, int > > core::application::importing::statement::internal::tryVerticalStart (const std::vector< core::application::importing::transaction::internal::OcrLine > &lines, size_t li, const core::application::importing::internal::ColumnGuess &cols) noexcept
 Attempts to start a transaction block from a vertically aligned line.
std::optional< std::pair< core::application::importing::transaction::internal::TransactionMainRow, int > > core::application::importing::statement::internal::tryCombinedStart (const std::vector< core::application::importing::transaction::internal::OcrLine > &lines, size_t li, const core::application::importing::internal::ColumnGuess &cols) noexcept
 Attempts to start a transaction block from a combined text pattern.
void core::application::importing::statement::internal::appendDetailLine (core::application::importing::transaction::internal::TransactionBlock &cur, const core::application::importing::transaction::internal::OcrLine &line, const core::application::importing::internal::ColumnGuess &cols, std::vector< std::string > *debugOut=nullptr) noexcept
 Appends a detail line to the current transaction block.
core::application::importing::transaction::internal::TransactionMainRow core::application::importing::statement::internal::handleMainRow (const core::application::importing::transaction::internal::OcrLine &line, const core::application::importing::internal::ColumnGuess &cols, bool isGeom, std::vector< std::string > &debugOut) noexcept
 Converts one OCR line into a transaction main row.
void core::application::importing::statement::internal::attachOrphansToBlocks (std::vector< core::application::importing::transaction::internal::TransactionBlock > &blocks, const std::vector< core::application::importing::transaction::internal::OcrLine > &orphans, int maxGapPx, int valutaX, std::vector< std::string > *debugOut=nullptr) noexcept
 Attaches orphan OCR lines to existing transaction blocks.
HeaderAnalysis core::application::importing::statement::internal::analyzeHeaderWindow (const std::vector< core::application::importing::transaction::internal::OcrLine > &ocrLines, const std::vector< core::application::importing::statement::internal::RawLine > &lines, const core::application::importing::statement::internal::ColumnModel &seedCols, core::application::importing::statement::DefaultStatementParser::ParseResult &out)
 Analyzes the page header window and updates parser output state.
void core::application::importing::statement::internal::rescueOrphanBlocks (std::vector< core::application::importing::transaction::internal::TransactionBlock > &blocks, const std::vector< core::application::importing::transaction::internal::OcrLine > &orphanLines, const core::application::importing::statement::internal::ColumnModel &cols, const std::string &currentBookingDate, core::application::importing::statement::DefaultStatementParser::ParseResult &out)
 Reprocesses orphan transaction blocks against the current booking date and column model.
void core::application::importing::statement::internal::appendPageSummary (const std::vector< core::application::importing::statement::internal::RawLine > &lines, int headerBottomY, const std::vector< core::application::importing::transaction::internal::TransactionBlock > &blocks, int txStartLooseCount, core::application::importing::statement::DefaultStatementParser::ParseResult &out)
 Appends a page-level summary to the parser result.
void core::application::importing::statement::internal::appendTransactionsFromBlocks (const std::vector< core::application::importing::transaction::internal::TransactionBlock > &blocks, const core::application::importing::statement::internal::ColumnModel &cols, const core::ports::text_recognition::ExtractResult &ocr, const std::shared_ptr< core::ports::document_image_processing::IDocumentImageProcessor > &documentImageProcessor, const std::string &pageCropImagePath, const std::vector< uint8_t > &pageCropImageBytes, int &txIndex, core::application::importing::statement::DefaultStatementParser::ParseResult &out)
 Converts parsed transaction blocks into drafts and extraction artifacts.

Detailed Description

Declares helpers for the statement parsing workflow.

Definition in file StatementParseHelpers.h.