Class: Mindee::V1::Parsing::Standard::AbstractField
- Inherits:
-
Object
- Object
- Mindee::V1::Parsing::Standard::AbstractField
- Defined in:
- lib/mindee/v1/parsing/standard/abstract_field.rb
Overview
Base BaseField object, upon which fields and feature fields are built
Direct Known Subclasses
Instance Attribute Summary collapse
- #bounding_box ⇒ Mindee::Geometry::Quadrilateral? readonly
-
#confidence ⇒ Float?
The confidence score, value will be between 0.0 and 1.0.
- #page_id ⇒ Integer? readonly
- #polygon ⇒ Mindee::Geometry::Polygon? readonly
Class Method Summary collapse
-
.array_confidence(field_array) ⇒ Float
Multiply all the Mindee::V1::Parsing::Standard::BaseField confidences in the array.
-
.array_sum(field_array) ⇒ Float
Add all the Mindee::V1::Parsing::Standard::BaseField values in the array.
- .float_to_string(value, min_precision = 2) ⇒ String
Instance Method Summary collapse
-
#initialize(prediction, page_id) ⇒ AbstractField
constructor
A new instance of AbstractField.
- #to_s ⇒ String
Constructor Details
#initialize(prediction, page_id) ⇒ AbstractField
Returns a new instance of AbstractField.
23 24 25 26 27 28 |
# File 'lib/mindee/v1/parsing/standard/abstract_field.rb', line 23 def initialize(prediction, page_id) @confidence = prediction['confidence'] if prediction.key?('confidence') @polygon = Mindee::Geometry::Polygon.new(prediction['polygon']) if prediction.key?('polygon') @bounding_box = Geometry.get_bounding_box(@polygon) unless @polygon.nil? || @polygon.empty? @page_id = page_id || prediction['page_id'] end |
Instance Attribute Details
#bounding_box ⇒ Mindee::Geometry::Quadrilateral? (readonly)
12 13 14 |
# File 'lib/mindee/v1/parsing/standard/abstract_field.rb', line 12 def bounding_box @bounding_box end |
#confidence ⇒ Float?
The confidence score, value will be between 0.0 and 1.0
19 20 21 |
# File 'lib/mindee/v1/parsing/standard/abstract_field.rb', line 19 def confidence @confidence end |
#page_id ⇒ Integer? (readonly)
16 17 18 |
# File 'lib/mindee/v1/parsing/standard/abstract_field.rb', line 16 def page_id @page_id end |
#polygon ⇒ Mindee::Geometry::Polygon? (readonly)
14 15 16 |
# File 'lib/mindee/v1/parsing/standard/abstract_field.rb', line 14 def polygon @polygon end |
Class Method Details
.array_confidence(field_array) ⇒ Float
Multiply all the Mindee::V1::Parsing::Standard::BaseField confidences in the array.
37 38 39 40 41 42 43 44 45 |
# File 'lib/mindee/v1/parsing/standard/abstract_field.rb', line 37 def self.array_confidence(field_array) product = 1 field_array.each do |field| return 0.0 if field.confidence.nil? product *= field.confidence end product.to_f end |
.array_sum(field_array) ⇒ Float
Add all the Mindee::V1::Parsing::Standard::BaseField values in the array.
49 50 51 52 53 54 55 56 57 |
# File 'lib/mindee/v1/parsing/standard/abstract_field.rb', line 49 def self.array_sum(field_array) arr_sum = 0 field_array.each do |field| return 0.0 if field.value.nil? arr_sum += field.value end arr_sum.to_f end |
.float_to_string(value, min_precision = 2) ⇒ String
62 63 64 65 66 67 68 69 |
# File 'lib/mindee/v1/parsing/standard/abstract_field.rb', line 62 def self.float_to_string(value, min_precision = 2) return String.new if value.nil? precision = value.to_f.to_s.split('.')[1].size precision = [precision, min_precision].max format_string = "%.#{precision}f" format(format_string, value) end |
Instance Method Details
#to_s ⇒ String
31 32 33 |
# File 'lib/mindee/v1/parsing/standard/abstract_field.rb', line 31 def to_s @value ? @value.to_s : '' end |