mork 0.8.1 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +3 -1
- data/README.md +107 -35
- data/lib/mork/coord.rb +1 -1
- data/lib/mork/extensions.rb +3 -0
- data/lib/mork/grid.rb +13 -6
- data/lib/mork/grid_const.rb +11 -9
- data/lib/mork/grid_omr.rb +15 -5
- data/lib/mork/grid_pdf.rb +1 -0
- data/lib/mork/magicko.rb +46 -28
- data/lib/mork/mimage.rb +113 -52
- data/lib/mork/mimage_list.rb +6 -5
- data/lib/mork/npatch.rb +16 -18
- data/lib/mork/sheet_omr.rb +210 -125
- data/lib/mork/sheet_pdf.rb +15 -8
- data/lib/mork/version.rb +1 -1
- data/mork.gemspec +2 -0
- data/mork.sublime-project +1 -1
- data/spec/mork/extensions_spec.rb +3 -3
- data/spec/mork/grid_omr_spec.rb +2 -1
- data/spec/mork/grid_spec.rb +34 -35
- data/spec/mork/magicko_spec.rb +2 -2
- data/spec/mork/mimage_spec.rb +22 -63
- data/spec/mork/sheet_omr_spec.rb +96 -201
- data/spec/mork/sheet_pdf_spec.rb +9 -10
- data/spec/out/{.gitignore → barcode/.gitignore} +0 -0
- data/spec/out/highlight/.gitignore +4 -0
- data/spec/out/mark/.gitignore +4 -0
- data/spec/out/outline/.gitignore +4 -0
- data/spec/out/pdf/.gitignore +4 -0
- data/spec/out/registration/.gitignore +4 -0
- data/spec/out/text/.gitignore +4 -0
- data/spec/samples/angolo.jpg +0 -0
- data/spec/samples/angolo2.jpg +0 -0
- data/spec/samples/angolo3.jpg +0 -0
- data/spec/samples/boxy.yml +0 -0
- data/spec/samples/grid.yml +0 -0
- data/spec/samples/grid160.yml +0 -0
- data/spec/samples/grid_omr_layout.yml +56 -0
- data/spec/samples/info.yml +15 -39
- data/spec/samples/jdoe/JohnDoe1.jpeg +0 -0
- data/spec/samples/jdoe/JohnDoe2.jpeg +0 -0
- data/spec/samples/jdoe/JohnDoe3.jpeg +0 -0
- data/spec/samples/jdoe/layout.yml +58 -0
- data/spec/samples/layout.yml +2 -2
- data/spec/samples/lucrezia/border1.pdf +0 -0
- data/spec/samples/lucrezia/border2.pdf +0 -0
- data/spec/samples/lucrezia/bw1.pdf +0 -0
- data/spec/samples/lucrezia/bw2.pdf +0 -0
- data/spec/samples/lucrezia/gray1.pdf +0 -0
- data/spec/samples/lucrezia/gray2.pdf +0 -0
- data/spec/samples/{syst/IMG_20150104_0004.jpg → marisol/marisol1.jpg} +0 -0
- data/spec/samples/{syst/IMG_20150104_0009.jpg → marisol/marisol2.jpg} +0 -0
- data/spec/samples/{syst/IMG_20150104_0011.jpg → marisol/marisol3.jpg} +0 -0
- data/spec/samples/reg_mark.jpg +0 -0
- data/spec/samples/rm00.jpeg +0 -0
- data/spec/samples/rm01.jpeg +0 -0
- data/spec/samples/rm02.jpeg +0 -0
- data/spec/samples/rm03.jpeg +0 -0
- data/spec/samples/rm04.jpeg +0 -0
- data/spec/samples/rm05.jpeg +0 -0
- data/spec/samples/syst/barr0.jpg +0 -0
- data/spec/samples/syst/barr1.jpg +0 -0
- data/spec/samples/syst/barr2.jpg +0 -0
- data/spec/samples/syst/bell0.jpg +0 -0
- data/spec/samples/syst/bell1.jpg +0 -0
- data/spec/samples/syst/bell2.jpg +0 -0
- data/spec/samples/syst/bila0.jpg +0 -0
- data/spec/samples/syst/bila1.jpg +0 -0
- data/spec/samples/syst/bila2.jpg +0 -0
- data/spec/samples/syst/bila3.jpg +0 -0
- data/spec/samples/syst/bila4.jpg +0 -0
- data/spec/samples/syst/bone0.jpg +0 -0
- data/spec/samples/syst/bone1.jpg +0 -0
- data/spec/samples/syst/bone2.jpg +0 -0
- data/spec/samples/syst/cost0.jpg +0 -0
- data/spec/samples/syst/cost1.jpg +0 -0
- data/spec/samples/syst/cost2.jpg +0 -0
- data/spec/samples/syst/cost3.jpg +0 -0
- data/spec/samples/syst/cost4.jpg +0 -0
- data/spec/samples/syst/dald0.jpg +0 -0
- data/spec/samples/syst/dald1.jpg +0 -0
- data/spec/samples/syst/dald2.jpg +0 -0
- data/spec/samples/syst/dald3.jpg +0 -0
- data/spec/samples/syst/dald4.jpg +0 -0
- data/spec/samples/syst/dign0.jpg +0 -0
- data/spec/samples/syst/dign1.jpg +0 -0
- data/spec/samples/syst/dign2.jpg +0 -0
- data/spec/samples/syst/dive0.jpg +0 -0
- data/spec/samples/syst/dive1.jpg +0 -0
- data/spec/samples/syst/dive2.jpg +0 -0
- data/spec/samples/syst/histo.m +0 -0
- data/spec/samples/{syst_grid.yml → syst/layout.yml} +0 -0
- data/spec/spec_helper.rb +29 -29
- metadata +49 -62
- data/auto.txt +0 -0
- data/spec/samples/out-1.jpg +0 -0
- data/spec/samples/qzc013.jpg +0 -0
- data/spec/samples/sample02.jpg +0 -0
- data/spec/samples/sample_gray.jpg +0 -0
- data/spec/samples/sheet.jpg +0 -0
- data/spec/samples/sheet666.jpg +0 -0
- data/spec/samples/slanted.jpg +0 -0
- data/spec/samples/slanted.yml +0 -54
- data/spec/samples/syst/IMG_20150104_0004.txt +0 -4955
- data/spec/samples/syst/IMG_20150104_0009.txt +0 -4955
- data/spec/samples/syst/IMG_20150104_0011.txt +0 -4955
- data/spec/samples/syst/SCN_0001.jpg +0 -0
- data/spec/samples/syst/SCN_0001.txt +0 -4955
- data/spec/samples/syst/barr0.txt +0 -4955
- data/spec/samples/syst/barr1.txt +0 -4955
- data/spec/samples/syst/barr2.txt +0 -4955
- data/spec/samples/syst/bell0.txt +0 -4955
- data/spec/samples/syst/bell1.txt +0 -4955
- data/spec/samples/syst/bell2.txt +0 -4955
- data/spec/samples/syst/bila0.txt +0 -4955
- data/spec/samples/syst/bila1.txt +0 -4955
- data/spec/samples/syst/bila2.txt +0 -4955
- data/spec/samples/syst/bila3.txt +0 -4955
- data/spec/samples/syst/bila4.txt +0 -4955
- data/spec/samples/syst/bone0.txt +0 -4955
- data/spec/samples/syst/bone1.txt +0 -4955
- data/spec/samples/syst/bone2.txt +0 -4955
- data/spec/samples/syst/cost0.txt +0 -4955
- data/spec/samples/syst/cost1.txt +0 -4955
- data/spec/samples/syst/cost2.txt +0 -4955
- data/spec/samples/syst/cost3.txt +0 -4955
- data/spec/samples/syst/cost4.txt +0 -4955
- data/spec/samples/syst/dald0.txt +0 -4955
- data/spec/samples/syst/dald1.txt +0 -4955
- data/spec/samples/syst/dald2.txt +0 -4955
- data/spec/samples/syst/dald3.txt +0 -4955
- data/spec/samples/syst/dald4.txt +0 -4955
- data/spec/samples/syst/dign0.txt +0 -4955
- data/spec/samples/syst/dign1.txt +0 -4955
- data/spec/samples/syst/dign2.txt +0 -4955
- data/spec/samples/syst/dive0.txt +0 -4955
- data/spec/samples/syst/dive1.txt +0 -4955
- data/spec/samples/syst/dive2.txt +0 -4955
- data/spec/samples/syst/out0000.jpg +0 -0
- data/spec/samples/syst/out0000.txt +0 -4955
- data/spec/samples/syst/out0001.jpg +0 -0
- data/spec/samples/syst/out0001.txt +0 -4955
- data/spec/samples/syst/out0002.jpg +0 -0
- data/spec/samples/syst/out0002.txt +0 -4955
- data/spec/samples/syst/qzc013.jpg +0 -0
- data/spec/samples/syst/qzc013.txt +0 -4955
- data/spec/samples/syst/sample_gray.jpg +0 -0
- data/spec/samples/syst/sample_gray.txt +0 -4955
- data/spec/samples/two_pages.pdf +0 -0
data/spec/samples/info.yml
CHANGED
|
@@ -1,45 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
silvia:
|
|
17
|
-
filename: spec/samples/qzc013.jpg
|
|
18
|
-
grid-file: spec/samples/layout.yml
|
|
19
|
-
|
|
20
|
-
sample-gray:
|
|
21
|
-
filename: spec/samples/sample_gray.jpg
|
|
22
|
-
grid-file: spec/samples/layout.yml
|
|
23
|
-
width: 1654
|
|
24
|
-
height: 2339
|
|
1
|
+
jdoe1:
|
|
2
|
+
image_path: spec/samples/jdoe/JohnDoe1.jpeg
|
|
3
|
+
grid_path: spec/samples/jdoe/layout.yml
|
|
4
|
+
nchoices: 5
|
|
5
|
+
nitems: 120
|
|
6
|
+
barcode_int: 1234566
|
|
7
|
+
barcode_str: '0000000000000000000100101101011010000110'
|
|
8
|
+
width: 1240
|
|
9
|
+
height: 1754
|
|
10
|
+
mark_array: [[0],[1],[2],[3],[4],[0],[1],[2],[3],[4],[0],[1],[2],[3],[4],[0],[1],[2],[3],[4],[0],[1],[2],[3],[4],[0],[1],[2],[3],[4],[0],[1],[2],[3],[4],[0],[1],[2],[3],[4],[0],[1],[2],[3],[4],[0],[1],[2],[3],[4],[0],[1],[2],[3],[4],[0],[1],[2],[3],[4],[0],[1],[2],[3],[4],[0],[1],[2],[3],[4],[0],[1],[2],[3],[4],[0],[1],[2],[3],[4],[0],[1],[2],[3],[4],[0],[1],[2],[3],[4],[0],[1],[2],[3],[4],[0],[1],[2],[3],[4],[0],[1],[2],[3],[4],[0],[1],[2],[3],[4],[0],[1],[2],[3],[4],[0],[1],[2],[3],[4]]
|
|
11
|
+
tl: [63, 67]
|
|
12
|
+
tr: [1182, 68]
|
|
13
|
+
br: [1178, 1704]
|
|
14
|
+
bl: [55, 1702]
|
|
25
15
|
|
|
26
16
|
reg-mark:
|
|
27
|
-
|
|
17
|
+
image_path: spec/samples/reg_mark.jpg
|
|
28
18
|
centroid-x: 92
|
|
29
19
|
centroid-y: 91
|
|
30
20
|
|
|
31
|
-
small:
|
|
32
|
-
filename: spec/samples/small.jpg
|
|
33
|
-
|
|
34
|
-
code-sample:
|
|
35
|
-
filename: spec/samples/code_sample.png
|
|
36
|
-
code-string: "0000000000000000000000000000000000000000000000000001110001010001"
|
|
37
|
-
code-int: 7249
|
|
38
|
-
|
|
39
|
-
code-zero:
|
|
40
|
-
filename: spec/samples/code_zero.png
|
|
41
|
-
|
|
42
|
-
two-pages:
|
|
43
|
-
filename: spec/samples/two_pages.pdf
|
|
44
|
-
code-int: 17382938642823887837
|
|
45
21
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
page_size:
|
|
2
|
+
width: 210
|
|
3
|
+
height: 297
|
|
4
|
+
reg_marks:
|
|
5
|
+
margin: 10
|
|
6
|
+
radius: 3
|
|
7
|
+
crop: 20
|
|
8
|
+
offset: 3
|
|
9
|
+
blur: 2
|
|
10
|
+
dilate: 5
|
|
11
|
+
header:
|
|
12
|
+
name:
|
|
13
|
+
top: 5
|
|
14
|
+
left: 15
|
|
15
|
+
width: 160
|
|
16
|
+
height: 7
|
|
17
|
+
size: 14
|
|
18
|
+
title:
|
|
19
|
+
top: 15
|
|
20
|
+
left: 15
|
|
21
|
+
width: 160
|
|
22
|
+
height: 12
|
|
23
|
+
size: 12
|
|
24
|
+
code:
|
|
25
|
+
top: 35
|
|
26
|
+
left: 130
|
|
27
|
+
width: 57
|
|
28
|
+
height: 10
|
|
29
|
+
size: 14
|
|
30
|
+
align: right
|
|
31
|
+
signature:
|
|
32
|
+
top: 30
|
|
33
|
+
left: 15
|
|
34
|
+
width: 120
|
|
35
|
+
height: 15
|
|
36
|
+
size: 7
|
|
37
|
+
box: true
|
|
38
|
+
items:
|
|
39
|
+
# threshold: 0.75
|
|
40
|
+
top: 55
|
|
41
|
+
left: 11
|
|
42
|
+
columns: 4
|
|
43
|
+
column_width: 44
|
|
44
|
+
rows: 30
|
|
45
|
+
x_spacing: 7
|
|
46
|
+
y_spacing: 7
|
|
47
|
+
cell_width: 6
|
|
48
|
+
cell_height: 5
|
|
49
|
+
max_cells: 5
|
|
50
|
+
font_size: 9
|
|
51
|
+
number_width: 8
|
|
52
|
+
number_margin: 2
|
|
53
|
+
barcode:
|
|
54
|
+
bits: 40
|
|
55
|
+
left: 15
|
|
56
|
+
width: 3
|
|
57
|
+
height: 2.5
|
|
58
|
+
spacing: 4
|
data/spec/samples/layout.yml
CHANGED
|
@@ -4,7 +4,7 @@ page_size: # all measurements in mm
|
|
|
4
4
|
reg_marks:
|
|
5
5
|
margin: 10 # distance from each page border to registration mark center
|
|
6
6
|
radius: 2.5 # registration mark radius
|
|
7
|
-
offset:
|
|
7
|
+
offset: 6 # distance between the search area and each page border (*)
|
|
8
8
|
crop: 20
|
|
9
9
|
blur: 2
|
|
10
10
|
dilate: 5
|
|
@@ -52,5 +52,5 @@ barcode:
|
|
|
52
52
|
bits: 40 # the maximum sheet identifier is 2 to the power or bits
|
|
53
53
|
left: 15 # distance between registration frame side and the first barcode bit
|
|
54
54
|
width: 3 # width of each barcode bit
|
|
55
|
-
height:
|
|
55
|
+
height: 3 # height of each barcode bit from the registration frame bottom side
|
|
56
56
|
spacing: 4 # horizontal distance between adjacent barcode bit centers
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/spec/samples/reg_mark.jpg
CHANGED
|
File without changes
|
data/spec/samples/rm00.jpeg
CHANGED
|
File without changes
|
data/spec/samples/rm01.jpeg
CHANGED
|
File without changes
|
data/spec/samples/rm02.jpeg
CHANGED
|
File without changes
|
data/spec/samples/rm03.jpeg
CHANGED
|
File without changes
|
data/spec/samples/rm04.jpeg
CHANGED
|
File without changes
|
data/spec/samples/rm05.jpeg
CHANGED
|
File without changes
|
data/spec/samples/syst/barr0.jpg
CHANGED
|
File without changes
|
data/spec/samples/syst/barr1.jpg
CHANGED
|
File without changes
|
data/spec/samples/syst/barr2.jpg
CHANGED
|
File without changes
|
data/spec/samples/syst/bell0.jpg
CHANGED
|
File without changes
|
data/spec/samples/syst/bell1.jpg
CHANGED
|
File without changes
|
data/spec/samples/syst/bell2.jpg
CHANGED
|
File without changes
|
data/spec/samples/syst/bila0.jpg
CHANGED
|
File without changes
|
data/spec/samples/syst/bila1.jpg
CHANGED
|
File without changes
|
data/spec/samples/syst/bila2.jpg
CHANGED
|
File without changes
|
data/spec/samples/syst/bila3.jpg
CHANGED
|
File without changes
|
data/spec/samples/syst/bila4.jpg
CHANGED
|
File without changes
|
data/spec/samples/syst/bone0.jpg
CHANGED
|
File without changes
|
data/spec/samples/syst/bone1.jpg
CHANGED
|
File without changes
|
data/spec/samples/syst/bone2.jpg
CHANGED
|
File without changes
|
data/spec/samples/syst/cost0.jpg
CHANGED
|
File without changes
|
data/spec/samples/syst/cost1.jpg
CHANGED
|
File without changes
|
data/spec/samples/syst/cost2.jpg
CHANGED
|
File without changes
|
data/spec/samples/syst/cost3.jpg
CHANGED
|
File without changes
|
data/spec/samples/syst/cost4.jpg
CHANGED
|
File without changes
|
data/spec/samples/syst/dald0.jpg
CHANGED
|
File without changes
|
data/spec/samples/syst/dald1.jpg
CHANGED
|
File without changes
|
data/spec/samples/syst/dald2.jpg
CHANGED
|
File without changes
|
data/spec/samples/syst/dald3.jpg
CHANGED
|
File without changes
|
data/spec/samples/syst/dald4.jpg
CHANGED
|
File without changes
|
data/spec/samples/syst/dign0.jpg
CHANGED
|
File without changes
|
data/spec/samples/syst/dign1.jpg
CHANGED
|
File without changes
|
data/spec/samples/syst/dign2.jpg
CHANGED
|
File without changes
|
data/spec/samples/syst/dive0.jpg
CHANGED
|
File without changes
|
data/spec/samples/syst/dive1.jpg
CHANGED
|
File without changes
|
data/spec/samples/syst/dive2.jpg
CHANGED
|
File without changes
|
data/spec/samples/syst/histo.m
CHANGED
|
File without changes
|
|
File without changes
|
data/spec/spec_helper.rb
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
require 'mork'
|
|
2
|
+
require 'byebug'
|
|
2
3
|
|
|
3
4
|
RSpec.configure do |config|
|
|
4
5
|
config.filter_run focus: true
|
|
@@ -23,42 +24,41 @@ class SampleImager
|
|
|
23
24
|
@info = ya[which.to_s]
|
|
24
25
|
end
|
|
25
26
|
|
|
26
|
-
def
|
|
27
|
-
@info["
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
def reg_marks
|
|
31
|
-
@info["reg-marks"]
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
def q_boxes
|
|
35
|
-
@info["q-boxes"]
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
def barcode_string
|
|
39
|
-
@info["barcode-string"]
|
|
27
|
+
def method_missing(name)
|
|
28
|
+
@info[name.to_s] || raise("non existing sample key: #{name}")
|
|
40
29
|
end
|
|
30
|
+
end
|
|
41
31
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
32
|
+
###################
|
|
33
|
+
# UTILITY FUNCTIONS
|
|
34
|
+
###################
|
|
45
35
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
36
|
+
# this is how I manually score a sample sheet, usually;
|
|
37
|
+
# see images in /spec/samples/jdoe
|
|
38
|
+
def standard_mark_array(n)
|
|
39
|
+
standard_array n, [[0],[1],[2],[3],[4]]
|
|
40
|
+
end
|
|
49
41
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
42
|
+
def standard_mark_logical_array(n)
|
|
43
|
+
standard_array n, [
|
|
44
|
+
[true, false, false, false, false],
|
|
45
|
+
[false, true, false, false, false],
|
|
46
|
+
[false, false, true, false, false],
|
|
47
|
+
[false, false, false, true, false],
|
|
48
|
+
[false, false, false, false, true],
|
|
49
|
+
]
|
|
50
|
+
end
|
|
53
51
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
52
|
+
def standard_mark_char_array(n)
|
|
53
|
+
standard_array n, [['A'],['B'],['C'],['D'],['E']]
|
|
54
|
+
end
|
|
57
55
|
|
|
58
|
-
|
|
59
|
-
|
|
56
|
+
def standard_array(n, what)
|
|
57
|
+
[].tap do |a|
|
|
58
|
+
n.times do
|
|
59
|
+
a.concat what
|
|
60
|
+
end
|
|
60
61
|
end
|
|
61
|
-
|
|
62
62
|
end
|
|
63
63
|
|
|
64
64
|
def sample_img(which)
|
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.
|
|
4
|
+
version: 0.9.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Giuseppe Bertini
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-
|
|
11
|
+
date: 2016-06-14 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: narray
|
|
@@ -52,6 +52,20 @@ dependencies:
|
|
|
52
52
|
- - "~>"
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
54
|
version: '2.1'
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
56
|
+
name: deep_merge
|
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - "~>"
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: '1.0'
|
|
62
|
+
type: :runtime
|
|
63
|
+
prerelease: false
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - "~>"
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: '1.0'
|
|
55
69
|
- !ruby/object:Gem::Dependency
|
|
56
70
|
name: rake
|
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -136,6 +150,20 @@ dependencies:
|
|
|
136
150
|
- - "~>"
|
|
137
151
|
- !ruby/object:Gem::Version
|
|
138
152
|
version: '1.2'
|
|
153
|
+
- !ruby/object:Gem::Dependency
|
|
154
|
+
name: byebug
|
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
|
156
|
+
requirements:
|
|
157
|
+
- - "~>"
|
|
158
|
+
- !ruby/object:Gem::Version
|
|
159
|
+
version: '9.0'
|
|
160
|
+
type: :development
|
|
161
|
+
prerelease: false
|
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
163
|
+
requirements:
|
|
164
|
+
- - "~>"
|
|
165
|
+
- !ruby/object:Gem::Version
|
|
166
|
+
version: '9.0'
|
|
139
167
|
description: Optical mark recognition of multiple-choice tests and surveys. Low-level
|
|
140
168
|
ruby library to generate response sheets in PDF form and to automatically score
|
|
141
169
|
manually filled-out forms.
|
|
@@ -151,7 +179,6 @@ files:
|
|
|
151
179
|
- LICENSE
|
|
152
180
|
- README.md
|
|
153
181
|
- Rakefile
|
|
154
|
-
- auto.txt
|
|
155
182
|
- lib/mork.rb
|
|
156
183
|
- lib/mork/coord.rb
|
|
157
184
|
- lib/mork/extensions.rb
|
|
@@ -178,12 +205,25 @@ files:
|
|
|
178
205
|
- spec/mork/npatch_spec.rb
|
|
179
206
|
- spec/mork/sheet_omr_spec.rb
|
|
180
207
|
- spec/mork/sheet_pdf_spec.rb
|
|
181
|
-
- spec/out/.gitignore
|
|
208
|
+
- spec/out/barcode/.gitignore
|
|
209
|
+
- spec/out/highlight/.gitignore
|
|
210
|
+
- spec/out/mark/.gitignore
|
|
211
|
+
- spec/out/outline/.gitignore
|
|
212
|
+
- spec/out/pdf/.gitignore
|
|
213
|
+
- spec/out/registration/.gitignore
|
|
214
|
+
- spec/out/text/.gitignore
|
|
182
215
|
- spec/samples/angolo.jpg
|
|
216
|
+
- spec/samples/angolo2.jpg
|
|
217
|
+
- spec/samples/angolo3.jpg
|
|
183
218
|
- spec/samples/boxy.yml
|
|
184
219
|
- spec/samples/grid.yml
|
|
185
220
|
- spec/samples/grid160.yml
|
|
221
|
+
- spec/samples/grid_omr_layout.yml
|
|
186
222
|
- spec/samples/info.yml
|
|
223
|
+
- spec/samples/jdoe/JohnDoe1.jpeg
|
|
224
|
+
- spec/samples/jdoe/JohnDoe2.jpeg
|
|
225
|
+
- spec/samples/jdoe/JohnDoe3.jpeg
|
|
226
|
+
- spec/samples/jdoe/layout.yml
|
|
187
227
|
- spec/samples/layout.yml
|
|
188
228
|
- spec/samples/lucrezia/border1.pdf
|
|
189
229
|
- spec/samples/lucrezia/border2.pdf
|
|
@@ -191,8 +231,9 @@ files:
|
|
|
191
231
|
- spec/samples/lucrezia/bw2.pdf
|
|
192
232
|
- spec/samples/lucrezia/gray1.pdf
|
|
193
233
|
- spec/samples/lucrezia/gray2.pdf
|
|
194
|
-
- spec/samples/
|
|
195
|
-
- spec/samples/
|
|
234
|
+
- spec/samples/marisol/marisol1.jpg
|
|
235
|
+
- spec/samples/marisol/marisol2.jpg
|
|
236
|
+
- spec/samples/marisol/marisol3.jpg
|
|
196
237
|
- spec/samples/reg_mark.jpg
|
|
197
238
|
- spec/samples/rm00.jpeg
|
|
198
239
|
- spec/samples/rm01.jpeg
|
|
@@ -200,93 +241,38 @@ files:
|
|
|
200
241
|
- spec/samples/rm03.jpeg
|
|
201
242
|
- spec/samples/rm04.jpeg
|
|
202
243
|
- spec/samples/rm05.jpeg
|
|
203
|
-
- spec/samples/sample02.jpg
|
|
204
|
-
- spec/samples/sample_gray.jpg
|
|
205
|
-
- spec/samples/sheet.jpg
|
|
206
|
-
- spec/samples/sheet666.jpg
|
|
207
|
-
- spec/samples/slanted.jpg
|
|
208
|
-
- spec/samples/slanted.yml
|
|
209
|
-
- spec/samples/syst/IMG_20150104_0004.jpg
|
|
210
|
-
- spec/samples/syst/IMG_20150104_0004.txt
|
|
211
|
-
- spec/samples/syst/IMG_20150104_0009.jpg
|
|
212
|
-
- spec/samples/syst/IMG_20150104_0009.txt
|
|
213
|
-
- spec/samples/syst/IMG_20150104_0011.jpg
|
|
214
|
-
- spec/samples/syst/IMG_20150104_0011.txt
|
|
215
|
-
- spec/samples/syst/SCN_0001.jpg
|
|
216
|
-
- spec/samples/syst/SCN_0001.txt
|
|
217
244
|
- spec/samples/syst/barr0.jpg
|
|
218
|
-
- spec/samples/syst/barr0.txt
|
|
219
245
|
- spec/samples/syst/barr1.jpg
|
|
220
|
-
- spec/samples/syst/barr1.txt
|
|
221
246
|
- spec/samples/syst/barr2.jpg
|
|
222
|
-
- spec/samples/syst/barr2.txt
|
|
223
247
|
- spec/samples/syst/bell0.jpg
|
|
224
|
-
- spec/samples/syst/bell0.txt
|
|
225
248
|
- spec/samples/syst/bell1.jpg
|
|
226
|
-
- spec/samples/syst/bell1.txt
|
|
227
249
|
- spec/samples/syst/bell2.jpg
|
|
228
|
-
- spec/samples/syst/bell2.txt
|
|
229
250
|
- spec/samples/syst/bila0.jpg
|
|
230
|
-
- spec/samples/syst/bila0.txt
|
|
231
251
|
- spec/samples/syst/bila1.jpg
|
|
232
|
-
- spec/samples/syst/bila1.txt
|
|
233
252
|
- spec/samples/syst/bila2.jpg
|
|
234
|
-
- spec/samples/syst/bila2.txt
|
|
235
253
|
- spec/samples/syst/bila3.jpg
|
|
236
|
-
- spec/samples/syst/bila3.txt
|
|
237
254
|
- spec/samples/syst/bila4.jpg
|
|
238
|
-
- spec/samples/syst/bila4.txt
|
|
239
255
|
- spec/samples/syst/bone0.jpg
|
|
240
|
-
- spec/samples/syst/bone0.txt
|
|
241
256
|
- spec/samples/syst/bone1.jpg
|
|
242
|
-
- spec/samples/syst/bone1.txt
|
|
243
257
|
- spec/samples/syst/bone2.jpg
|
|
244
|
-
- spec/samples/syst/bone2.txt
|
|
245
258
|
- spec/samples/syst/cost0.jpg
|
|
246
|
-
- spec/samples/syst/cost0.txt
|
|
247
259
|
- spec/samples/syst/cost1.jpg
|
|
248
|
-
- spec/samples/syst/cost1.txt
|
|
249
260
|
- spec/samples/syst/cost2.jpg
|
|
250
|
-
- spec/samples/syst/cost2.txt
|
|
251
261
|
- spec/samples/syst/cost3.jpg
|
|
252
|
-
- spec/samples/syst/cost3.txt
|
|
253
262
|
- spec/samples/syst/cost4.jpg
|
|
254
|
-
- spec/samples/syst/cost4.txt
|
|
255
263
|
- spec/samples/syst/dald0.jpg
|
|
256
|
-
- spec/samples/syst/dald0.txt
|
|
257
264
|
- spec/samples/syst/dald1.jpg
|
|
258
|
-
- spec/samples/syst/dald1.txt
|
|
259
265
|
- spec/samples/syst/dald2.jpg
|
|
260
|
-
- spec/samples/syst/dald2.txt
|
|
261
266
|
- spec/samples/syst/dald3.jpg
|
|
262
|
-
- spec/samples/syst/dald3.txt
|
|
263
267
|
- spec/samples/syst/dald4.jpg
|
|
264
|
-
- spec/samples/syst/dald4.txt
|
|
265
268
|
- spec/samples/syst/dign0.jpg
|
|
266
|
-
- spec/samples/syst/dign0.txt
|
|
267
269
|
- spec/samples/syst/dign1.jpg
|
|
268
|
-
- spec/samples/syst/dign1.txt
|
|
269
270
|
- spec/samples/syst/dign2.jpg
|
|
270
|
-
- spec/samples/syst/dign2.txt
|
|
271
271
|
- spec/samples/syst/dive0.jpg
|
|
272
|
-
- spec/samples/syst/dive0.txt
|
|
273
272
|
- spec/samples/syst/dive1.jpg
|
|
274
|
-
- spec/samples/syst/dive1.txt
|
|
275
273
|
- spec/samples/syst/dive2.jpg
|
|
276
|
-
- spec/samples/syst/dive2.txt
|
|
277
274
|
- spec/samples/syst/histo.m
|
|
278
|
-
- spec/samples/syst/
|
|
279
|
-
- spec/samples/syst/out0000.txt
|
|
280
|
-
- spec/samples/syst/out0001.jpg
|
|
281
|
-
- spec/samples/syst/out0001.txt
|
|
282
|
-
- spec/samples/syst/out0002.jpg
|
|
283
|
-
- spec/samples/syst/out0002.txt
|
|
284
|
-
- spec/samples/syst/qzc013.jpg
|
|
285
|
-
- spec/samples/syst/qzc013.txt
|
|
286
|
-
- spec/samples/syst/sample_gray.jpg
|
|
287
|
-
- spec/samples/syst/sample_gray.txt
|
|
288
|
-
- spec/samples/syst_grid.yml
|
|
289
|
-
- spec/samples/two_pages.pdf
|
|
275
|
+
- spec/samples/syst/layout.yml
|
|
290
276
|
- spec/spec_helper.rb
|
|
291
277
|
- test_reg.m
|
|
292
278
|
homepage: https://github.com/giuseb/mork
|
|
@@ -314,3 +300,4 @@ signing_key:
|
|
|
314
300
|
specification_version: 4
|
|
315
301
|
summary: Optical mark recognition of multiple-choice tests and surveys
|
|
316
302
|
test_files: []
|
|
303
|
+
has_rdoc:
|
data/auto.txt
DELETED
|
File without changes
|
data/spec/samples/out-1.jpg
DELETED
|
Binary file
|
data/spec/samples/qzc013.jpg
DELETED
|
Binary file
|
data/spec/samples/sample02.jpg
DELETED
|
Binary file
|
|
Binary file
|
data/spec/samples/sheet.jpg
DELETED
|
Binary file
|
data/spec/samples/sheet666.jpg
DELETED
|
Binary file
|
data/spec/samples/slanted.jpg
DELETED
|
Binary file
|
data/spec/samples/slanted.yml
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
page_size:
|
|
2
|
-
width: 210
|
|
3
|
-
height: 297
|
|
4
|
-
reg_marks:
|
|
5
|
-
margin: 10
|
|
6
|
-
radius: 2.5
|
|
7
|
-
crop: 20
|
|
8
|
-
offset: 2
|
|
9
|
-
blur: 2
|
|
10
|
-
dilate: 5
|
|
11
|
-
|
|
12
|
-
header:
|
|
13
|
-
name:
|
|
14
|
-
top: 5
|
|
15
|
-
left: 7.5
|
|
16
|
-
width: 170
|
|
17
|
-
size: 14
|
|
18
|
-
title:
|
|
19
|
-
top: 15
|
|
20
|
-
left: 7.5
|
|
21
|
-
width: 180
|
|
22
|
-
size: 12
|
|
23
|
-
code:
|
|
24
|
-
top: 5
|
|
25
|
-
left: 165
|
|
26
|
-
width: 20
|
|
27
|
-
size: 14
|
|
28
|
-
signature:
|
|
29
|
-
top: 30
|
|
30
|
-
left: 7.5
|
|
31
|
-
width: 120
|
|
32
|
-
height: 15
|
|
33
|
-
size: 7
|
|
34
|
-
box: true
|
|
35
|
-
items:
|
|
36
|
-
top: 55.5
|
|
37
|
-
left: 10.5
|
|
38
|
-
columns: 4
|
|
39
|
-
column_width: 44
|
|
40
|
-
rows: 30
|
|
41
|
-
x_spacing: 7
|
|
42
|
-
y_spacing: 7
|
|
43
|
-
cell_width: 6
|
|
44
|
-
cell_height: 5
|
|
45
|
-
max_cells: 5
|
|
46
|
-
font_size: 9
|
|
47
|
-
number_width: 8
|
|
48
|
-
number_margin: 2
|
|
49
|
-
barcode:
|
|
50
|
-
bits: 40
|
|
51
|
-
left: 15
|
|
52
|
-
width: 3
|
|
53
|
-
height: 2.5
|
|
54
|
-
spacing: 4
|