Class: NonStructuralFeature::Map

Inherits:
Object
  • Object
show all
Defined in:
lib/kvg_character_recognition/non_structural_feature.rb

Overview

This class can be used for storing heatmap count and directional feature densities basically it is a nxm matrix with an initial value in each cell

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(n, m, initial_value) ⇒ Map

Make a new map with Params:

n

row length

m

column length

initial_value

for heatmap initial_value = 0 and for directional feature densities initial_value = [0, 0, 0, 0] <= [weight in e1, weight in e2, …]



11
12
13
14
15
16
# File 'lib/kvg_character_recognition/non_structural_feature.rb', line 11

def initialize n, m, initial_value
  @array = Array.new(n * m, initial_value)
  @n = n
  @m = m
  @initial_value = initial_value
end

Instance Attribute Details

#initial_valueObject

Returns the value of attribute initial_value.



5
6
7
# File 'lib/kvg_character_recognition/non_structural_feature.rb', line 5

def initial_value
  @initial_value
end

Instance Method Details

#[](i, j) ⇒ Object

Access value in the cell of i-th row and j-th column e.g. map



20
21
22
# File 'lib/kvg_character_recognition/non_structural_feature.rb', line 20

def [](i, j)
  @array[j*@n + i]
end

#[]=(i, j, value) ⇒ Object

Store value in the cell of i-th row and j-th column e.g. map = value



26
27
28
# File 'lib/kvg_character_recognition/non_structural_feature.rb', line 26

def []=(i, j, value)
  @array[j*@n + i] = value
end

#sizeObject

Normaly n is the same as m



35
36
37
# File 'lib/kvg_character_recognition/non_structural_feature.rb', line 35

def size
  @n
end

#to_aObject



30
31
32
# File 'lib/kvg_character_recognition/non_structural_feature.rb', line 30

def to_a
  @array
end