Module: Mindee::Extraction

Defined in:
lib/mindee.rb,
lib/mindee/extraction/multi_receipts_extractor.rb

Overview

Custom extraction module

Class Method Summary collapse

Class Method Details

.extract_receipts(input_source, inference) ⇒ Array<ExtractedImage>

Multi-receipts extraction Extracts individual receipts from multi-receipts documents.

Parameters:

  • input_source (LocalInputSource)

    Local Input Source to extract sub-receipts from.

  • inference (Inference)

    Results of the inference.

Returns:

  • (Array<ExtractedImage>)

    Individual extracted receipts as an array of ExtractedMultiReceiptsImage.



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/mindee/extraction/multi_receipts_extractor.rb', line 12

def self.extract_receipts(input_source, inference)
  images = []
  unless inference.prediction.receipts
    raise Errors::MindeeInputError,
          'No possible receipts candidates found for Multi-Receipts extraction.'
  end

  (0...input_source.count_pages).each do |page_id|
    receipt_positions = inference.pages[page_id].prediction.receipts.map(&:bounding_box)
    images.concat(
      Mindee::Image::ImageExtractor.extract_multiple_images_from_source(input_source, page_id + 1,
                                                                        receipt_positions)
    )
  end

  images
end