mork 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 77cd220a9af15fb52c434ad78e5436e922a92d9b
4
- data.tar.gz: 7ec01ec5ef0fe665822dbcf2da5b4c59682db51c
3
+ metadata.gz: e1d8680deb48b3f4cfa54e859ecc4070513a4c7c
4
+ data.tar.gz: f7f0e1946eb795913a3460ddda3222fe5a706193
5
5
  SHA512:
6
- metadata.gz: 4f59e836632c2cb223193480692b52631b09a7739b61e8b839f36babdd77ccef7785a0515c54cc670327547b9ca1f26e99bc8a389914b2864d51547de249e575
7
- data.tar.gz: 29829dc19f2217b4beadd263f181290c585f5e54f0463b6b62d10b489b517deac42ffdf76d3c543a5942d84dbad364f0e7b4db871bb3fde87d7ce9a0ff5d0e30
6
+ metadata.gz: 23fb14992bb44471554dc8c27b0bf5f28a2109848fd4e4c51c791969dccf32e4e34ead8c67a40b4c4a768f096a087e96818ec6f3adad43612b23971c31a7f231
7
+ data.tar.gz: c7c205813250d74ce995cd212c1eb37dca022269a17b2965e0bf6e1db81c93f4c3edb6fac964848cff5902c2ab16a4611ab1db25d0de5f92ce557aad4489475c
data/lib/mork/grid.rb CHANGED
@@ -6,12 +6,17 @@ module Mork
6
6
  # All returned values are in the arbitrary units given in the configuration file
7
7
  class Grid
8
8
 
9
- def initialize(options = {})
9
+ def initialize(options=nil)
10
+ @params = DGRID
10
11
  case options.class.to_s
12
+ when 'NilClass'
13
+ if File.exists? 'config/grid.yml'
14
+ @params.merge! symbolize YAML.load_file('config/grid.yml')
15
+ end
11
16
  when "Hash"
12
- @params = DGRID.merge symbolize options
17
+ @params.merge! symbolize options
13
18
  when "String"
14
- @params = DGRID.merge symbolize YAML.load_file(options)
19
+ @params.merge! symbolize YAML.load_file(options)
15
20
  else
16
21
  raise "Invalid options parameter: #{options.class.inspect}"
17
22
  end
data/lib/mork/sheet.rb CHANGED
@@ -14,10 +14,19 @@ module Mork
14
14
  # grid itself; this method assumes a 'stretch' strategy, i.e. where the image
15
15
  # after registration has the same size in pixels as the original scanned file
16
16
  @grid.set_page_size @raw.width, @raw.height
17
+ @rm = {}
17
18
  @rmsa = {}
18
19
  @ok_reg = register @raw
19
20
  end
20
21
 
22
+ def valid?
23
+ @ok_reg
24
+ end
25
+
26
+ def status
27
+ @rm
28
+ end
29
+
21
30
  # code
22
31
  #
23
32
  # returns the sheet code as an integer
@@ -191,20 +200,18 @@ module Mork
191
200
  # ================
192
201
 
193
202
  def register(img)
194
- @rm = []
195
- @reg_status = []
196
203
  # find the XY coordinates of the 4 registration marks
197
- @reg_status[0], @rm[0], @rm[1] = reg_centroid_on(img, :tl)
198
- @reg_status[1], @rm[2], @rm[3] = reg_centroid_on(img, :tr)
199
- @reg_status[2], @rm[4], @rm[5] = reg_centroid_on(img, :br)
200
- @reg_status[3], @rm[6], @rm[7] = reg_centroid_on(img, :bl)
201
- return false if @reg_status.any? { |c| c != :ok }
204
+ @rm[:tl] = reg_centroid_on(img, :tl)
205
+ @rm[:tr] = reg_centroid_on(img, :tr)
206
+ @rm[:br] = reg_centroid_on(img, :br)
207
+ @rm[:bl] = reg_centroid_on(img, :bl)
208
+ return false if @rm.any? { |k,v| v[:status] != :ok }
202
209
  # stretch the 4 points to fit the original size and return the resulting image
203
210
  @crop = img.stretch [
204
- @rm[0], @rm[1], 0, 0,
205
- @rm[2], @rm[3], img.width, 0,
206
- @rm[4], @rm[5], img.width, img.height,
207
- @rm[6], @rm[7], 0, img.height
211
+ @rm[:tl][:x], @rm[:tl][:y], 0, 0,
212
+ @rm[:tr][:x], @rm[:tr][:y], img.width, 0,
213
+ @rm[:br][:x], @rm[:br][:y], img.width, img.height,
214
+ @rm[:bl][:x], @rm[:bl][:y], 0, img.height
208
215
  ]
209
216
  true
210
217
  end
@@ -223,9 +230,9 @@ module Mork
223
230
  (cx > @rmsa[corner][:w] - @grid.rm_edgy_x)
224
231
  status = :edgy
225
232
  else
226
- return :ok, cx + @rmsa[corner][:x], cy + @rmsa[corner][:y]
233
+ return {status: :ok, x: cx + @rmsa[corner][:x], y: cy + @rmsa[corner][:y]}
227
234
  end
228
- return status if @rmsa[corner][:w] > @grid.rm_max_search_area_side
235
+ return {status: status, x: nil, y: nil} if @rmsa[corner][:w] > @grid.rm_max_search_area_side
229
236
  end
230
237
  end
231
238
 
@@ -235,7 +242,7 @@ module Mork
235
242
 
236
243
  def not_registered
237
244
  unless @ok_reg
238
- puts "---=={ Unregistered image. Reason: '#{@reg_status.inspect}' }==---"
245
+ puts "---=={ Unregistered image. Reason: '#{@rm.inspect}' }==---"
239
246
  true
240
247
  end
241
248
  end
data/lib/mork/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Mork
2
- VERSION = "0.0.7"
2
+ VERSION = "0.0.8"
3
3
  end
@@ -32,6 +32,23 @@ module Mork
32
32
  before(:all) do
33
33
  @sheet = Sheet.new('spec/samples/sample01.jpg', Grid.new('spec/samples/grid01.yml'))
34
34
  end
35
+
36
+ describe '#valid?' do
37
+ it 'returns true' do
38
+ @sheet.valid?.should be_truthy
39
+ end
40
+ end
41
+
42
+ describe '#status' do
43
+ it 'returns :ok' do
44
+ @sheet.status.should == {
45
+ tl: { status: :ok, x: 54, y: 49},
46
+ tr: { status: :ok, x: 1543, y: 43},
47
+ br: { status: :ok, x: 1548, y: 2224},
48
+ bl: { status: :ok, x: 59, y: 2230}
49
+ }
50
+ end
51
+ end
35
52
 
36
53
  describe "#marked?" do
37
54
  it "should return true for some darkened choices" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mork
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Giuseppe Bertini
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-07 00:00:00.000000000 Z
11
+ date: 2014-09-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: narray