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

Implements helper types and routines shared by statement parsing stages. More...

Include dependency graph for StatementParseHelpers.cpp:

Go to the source code of this file.

Classes

class  core::application::importing::statement::internal::DefaultStatementParser
struct  core::application::importing::statement::internal::DefaultTransactionParser
 Represents the parsed fields of a single transaction. More...
struct  core::application::importing::statement::internal::ColumnGuess
 Stores the inferred column positions for an OCR page. More...
struct  core::application::importing::statement::internal::RawLineLite
 Lightweight raw-line representation used during grouping and splitting. More...
struct  core::application::importing::statement::internal::OcrLine
 Represents one OCR line with its bounding box and recognized text. More...
struct  core::application::importing::statement::internal::TransactionBlock
 Groups the main row and detail rows of one parsed transaction block. More...
struct  core::application::importing::statement::internal::TransactionMainRow
 Represents the parsed main row of a transaction block. More...

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< OcrLine > &lines, size_t scanLines)
std::optional< std::string > core::application::importing::statement::internal::findDefaultBookingDate (const std::vector< OcrLine > &lines, size_t scanLines) noexcept
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< OcrLine > &lines, std::string &outDebug) noexcept
std::vector< helpers::RawLineLite > core::application::importing::statement::internal::selectiveGroupMergeLinesRaw (const std::vector< helpers::RawLineLite > &lines, int maxGapPx, const helpers::ColumnGuess &seedCols)
HeaderAnalysis core::application::importing::statement::internal::analyzeHeaderWindow (const std::vector< OcrLine > &ocrLines, const std::vector< RawLine > &lines, const ColumnModel &seedCols, DefaultStatementParser::ParseResult &out)
static bool core::application::importing::statement::internal::looksLikeRescuedMainLine (const OcrLine &line, const ColumnModel &cols)
void core::application::importing::statement::internal::rescueOrphanBlocks (std::vector< TransactionBlock > &blocks, const std::vector< OcrLine > &orphanLines, const ColumnModel &cols, const std::string &currentBookingDate, DefaultStatementParser::ParseResult &out)
std::optional< std::pair< TransactionMainRow, int > > core::application::importing::statement::internal::tryVerticalStart (const std::vector< OcrLine > &lines, size_t li, const helpers::ColumnGuess &cols) noexcept
std::optional< std::pair< TransactionMainRow, int > > core::application::importing::statement::internal::tryCombinedStart (const std::vector< OcrLine > &lines, size_t li, const helpers::ColumnGuess &cols) noexcept
void core::application::importing::statement::internal::appendDetailLine (TransactionBlock &cur, const OcrLine &line, const helpers::ColumnGuess &cols, std::vector< std::string > *debugOut) noexcept
TransactionMainRow core::application::importing::statement::internal::handleMainRow (const OcrLine &line, const helpers::ColumnGuess &cols, bool isGeom, std::vector< std::string > &debugOut) noexcept
void core::application::importing::statement::internal::attachOrphansToBlocks (std::vector< TransactionBlock > &blocks, const std::vector< OcrLine > &orphans, int maxGapPx, int valutaX, std::vector< std::string > *debugOut) noexcept
void core::application::importing::statement::internal::appendPageSummary (const std::vector< RawLine > &lines, int headerBottomY, const std::vector< TransactionBlock > &blocks, int txStartLooseCount, DefaultStatementParser::ParseResult &out)
static void core::application::importing::statement::internal::appendBlockDebug (const TransactionBlock &block, const ColumnModel &cols, DefaultStatementParser::ParseResult &out)
static void core::application::importing::statement::internal::applyCellAmountOverride (core::application::importing::draft::TransactionDraft &tx, const TransactionBlock &block, const ColumnModel &cols, const core::ports::text_recognition::ExtractResult &ocr, DefaultStatementParser::ParseResult &out)
static void core::application::importing::statement::internal::attachProofCrop (core::application::importing::draft::TransactionDraft &tx, const TransactionBlock &block, int txIndex, const std::shared_ptr< core::ports::document_image_processing::IDocumentImageProcessor > &documentImageProcessor, const std::string &pageCropImagePath, const std::vector< uint8_t > &pageCropImageBytes, DefaultStatementParser::ParseResult &out)
void core::application::importing::statement::internal::appendTransactionsFromBlocks (const std::vector< TransactionBlock > &blocks, const 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, DefaultStatementParser::ParseResult &out)

Detailed Description

Implements helper types and routines shared by statement parsing stages.

Definition in file StatementParseHelpers.cpp.