sqed 0.5.8 → 0.7.1

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.
@@ -2,7 +2,10 @@ require 'spec_helper'
2
2
 
3
3
  describe Sqed do
4
4
 
5
- let(:s) { Sqed.new }
5
+ let(:s) { Sqed.new(
6
+ pattern: :cross
7
+ )
8
+ }
6
9
 
7
10
  context 'attributes' do
8
11
 
@@ -41,19 +44,14 @@ describe Sqed do
41
44
  specify '#use_thumbnail defaults to `true`' do
42
45
  expect(s.use_thumbnail).to eq(true)
43
46
  end
44
-
45
47
  end
46
48
 
47
- context 'initialization' do
48
- specify 'without providing a pattern assigns nil' do
49
- expect(s.pattern).to eq(nil)
50
- end
49
+ specify 'raises without pattern or boundary_finder provided' do
50
+ expect{Sqed.new}.to raise_error Sqed::Error
51
51
  end
52
52
 
53
- context '#result' do
54
- specify 'without providing an image returns false' do
55
- expect(s.result).to eq(false)
56
- end
53
+ specify '#result without image returns false' do
54
+ expect(s.result).to eq(false)
57
55
  end
58
56
 
59
57
  # Intent is to just test wrapping functionality, see
@@ -30,7 +30,9 @@ describe 'handling 7 slot stages' do
30
30
  end
31
31
 
32
32
  context 'simple boundaries - without thumbnail' do
33
- let(:s) { Sqed.new(image: image, metadata_map: m, use_thumbnail: false, layout: :horizontal_offset_cross, boundary_color: :red, has_border: false ) }
33
+ let(:s) { Sqed.new(image: image, metadata_map: m, use_thumbnail: false, layout: :horizontal_offset_cross,
34
+ boundary_finder: Sqed::BoundaryFinder::ColorLineFinder,
35
+ boundary_color: :red, has_border: false ) }
34
36
 
35
37
  specify 'boundaries are reasonable' do
36
38
  s.result
@@ -0,0 +1,61 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'handling inverted T stage images' do
4
+
5
+ let(:image) { ImageHelpers.inverted_t_stage }
6
+ let(:sqed) do
7
+ Sqed.new(
8
+ image: image,
9
+ pattern: :inverted_t,
10
+ boundary_color: :red,
11
+ has_border: false )
12
+ end
13
+
14
+ let(:m) do
15
+ { 0 => 'identifier',
16
+ 1 => 'image_registration',
17
+ 2 => 'annotated_specimen',
18
+ }
19
+ end
20
+
21
+ context 'simple boundaries - without thumbnail' do
22
+ let(:s) { Sqed.new(
23
+ image: image, metadata_map: m, use_thumbnail: false,
24
+ layout: :inverted_t,
25
+ boundary_finder: Sqed::BoundaryFinder::ColorLineFinder,
26
+ boundary_color: :red,
27
+ has_border: false ) }
28
+
29
+ specify 'boundaries are reasonable' do
30
+ s.result
31
+ c = s.boundaries.coordinates
32
+ c.each do |section, values|
33
+ c[section].each_with_index do |v, i|
34
+ msg = "section #{section}, index #{i} has a bad value '#{v}'"
35
+ expect(v > -1).to be_truthy, msg
36
+ end
37
+ end
38
+ end
39
+ end
40
+
41
+ context 'boundaries - with_thumbnail' do
42
+ let(:s) { Sqed.new(
43
+ image: image,
44
+ use_thumbnail: true,
45
+ pattern: :inverted_t,
46
+ boundary_color: :red,
47
+ has_border: false ) }
48
+
49
+ specify 'boundaries are reasonable' do
50
+ s.result
51
+ # s.result.write_images
52
+ c = s.boundaries.coordinates
53
+ c.each do |section, values|
54
+ c[section].each_with_index do |v, i|
55
+ msg = "section #{section}, index #{i} has a bad value '#{v}'"
56
+ expect(v > -1).to be_truthy, msg
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,64 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'handling lep stage images' do
4
+
5
+ let(:image) { ImageHelpers.lep_stage2 }
6
+ let(:sqed) do
7
+ Sqed.new(
8
+ image: image,
9
+ pattern: :lep_stage,
10
+ boundary_color: :red,
11
+ has_border: false )
12
+ end
13
+
14
+ let(:m) do
15
+ { 0 => :curator_metadata,
16
+ 1 => :collecting_event_labels,
17
+ 2 => :image_registration,
18
+ 3 => :identifier,
19
+ 4 => :other_labels,
20
+ 5 => :determination_labels,
21
+ 6 => :specimen
22
+ }
23
+ end
24
+
25
+ context 'parses' do
26
+ specify 'new() without errors' do
27
+ expect(sqed).to be_truthy
28
+ end
29
+
30
+ specify 'get result without errors' do
31
+ expect(sqed.result).to be_truthy
32
+ end
33
+ end
34
+
35
+ context 'trickier boundaries - without thumbnail' do
36
+ let(:s) { Sqed.new(image: ImageHelpers.lep_stage2, use_thumbnail: false, pattern: :lep_stage2, boundary_color: :red, has_border: false ) }
37
+
38
+ specify 'boundaries are reasonable' do
39
+ s.result
40
+ c = s.boundaries.coordinates
41
+ c.each do |section, values|
42
+ c[section].each_with_index do |v, i|
43
+ msg = "section #{section}, index #{i} has a bad value '#{v}'"
44
+ expect(v > -1).to be_truthy, msg
45
+ end
46
+ end
47
+ end
48
+ end
49
+
50
+ context 'trickier boundaries - with_thumbnail' do
51
+ let(:s) { Sqed.new(image: ImageHelpers.lep_stage2, use_thumbnail: true, pattern: :lep_stage2, boundary_color: :red, has_border: false ) }
52
+
53
+ specify 'boundaries are reasonable' do
54
+ s.result
55
+ c = s.boundaries.coordinates
56
+ c.each do |section, values|
57
+ c[section].each_with_index do |v, i|
58
+ msg = "section #{section}, index #{i} has a bad value '#{v}'"
59
+ expect(v > -1).to be_truthy, msg
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
@@ -12,15 +12,65 @@ describe 'handling 7 slot stages' do
12
12
  end
13
13
 
14
14
  let(:m) do
15
- { 0 => 'collecting_event_labels',
16
- 1 => 'determination_labels',
17
- 2 => 'other_labels',
18
- 3 => 'image_registration',
19
- 4 => 'curator_metadata',
20
- 5 => 'identifier',
21
- 6 => 'specimen' }
15
+ { 0 => :collecting_event_labels,
16
+ 1 => :determination_labels,
17
+ 2 => :other_labels,
18
+ 3 => :image_registration,
19
+ 4 => :curator_metadata,
20
+ 5 => :identifier,
21
+ 6 => :specimen }
22
22
  end
23
23
 
24
+
25
+ let(:w) {22.5} # 1/2 width red "tape"
26
+
27
+ let(:coords) {
28
+ {
29
+ 0 => [
30
+ 0,
31
+ 0,
32
+ 1674,
33
+ 1280
34
+ ],
35
+ 1 => [
36
+ 1820,
37
+ 0,
38
+ 1773,
39
+ 1280
40
+ ],
41
+ 2 => [
42
+ 3746,
43
+ 0,
44
+ 1726,
45
+ 1280
46
+ ],
47
+ 3 => [
48
+ 3746,
49
+ 1422,
50
+ 3746,
51
+ 836
52
+ ],
53
+ 4 => [
54
+ 1820,
55
+ 2382,
56
+ 3652,
57
+ 2226
58
+ ],
59
+ 5 => [
60
+ 1820,
61
+ 1422,
62
+ 1773,
63
+ 836
64
+ ],
65
+ 6 => [
66
+ 0,
67
+ 1422,
68
+ 1674,
69
+ 2226
70
+ ]
71
+ }
72
+ }
73
+
24
74
  context 'parses' do
25
75
  specify 'new() without errors' do
26
76
  expect(sqed).to be_truthy
@@ -32,33 +82,58 @@ describe 'handling 7 slot stages' do
32
82
  end
33
83
 
34
84
  context 'trickier boundaries - without thumbnail' do
35
- let(:s) { Sqed.new(image: ImageHelpers.inhs_stage_7_slot2, metadata_map: m, use_thumbnail: false, layout: :seven_slot, boundary_color: :red, has_border: false ) }
85
+ # perfect parsing currently
86
+ let(:s) { Sqed.new(
87
+ image: ImageHelpers.inhs_stage_7_slot2,
88
+ layout: :seven_slot, # layout + metadata map + boundary_finder signature
89
+ metadata_map: m,
90
+ boundary_finder: Sqed::BoundaryFinder::ColorLineFinder,
91
+ use_thumbnail: false,
92
+ boundary_color: :red,
93
+ has_border: false ) }
36
94
 
37
95
  specify 'boundaries are reasonable' do
38
96
  s.result
39
97
  c = s.boundaries.coordinates
98
+
40
99
  c.each do |section, values|
41
100
  c[section].each_with_index do |v, i|
42
- msg = "section #{section}, index #{i} has a bad value '#{v}'"
43
- expect(v > -1).to be_truthy, msg
101
+ min = coords[section][i] - w
102
+ max = coords[section][i] + w
103
+ msg = "section #{section}, index #{i}, '#{v}' is out of range #{min}-#{max} "
104
+ expect((v > min) && (v < max)).to be_truthy, msg
44
105
  end
45
106
  end
46
107
  end
47
108
  end
48
109
 
110
+ # image size is a failure here
49
111
  context 'trickier boundaries - with_thumbnail' do
50
- let(:s) { Sqed.new(image: ImageHelpers.inhs_stage_7_slot2, use_thumbnail: true, pattern: :seven_slot, boundary_color: :red, has_border: false ) }
112
+ let(:s) { Sqed.new(
113
+ image: ImageHelpers.inhs_stage_7_slot2,
114
+ use_thumbnail: true,
115
+ pattern: :seven_slot, # pattern signature
116
+ boundary_color: :red, has_border: false ) }
51
117
 
52
-
53
- specify 'boundaries are reasonable' do
118
+ xspecify 'boundaries are reasonable' do
54
119
  s.result
55
120
  c = s.boundaries.coordinates
121
+ errors = []
122
+
56
123
  c.each do |section, values|
57
124
  c[section].each_with_index do |v, i|
58
- msg = "section #{section}, index #{i} has a bad value '#{v}'"
59
- expect(v > -1).to be_truthy, msg
125
+ min = coords[section][i] - w
126
+ max = coords[section][i] + w
127
+
128
+ msg = "section #{section}, index #{i}, '#{v}' is #{(v - coords[section][i]).abs } out of range #{min}-#{max}"
129
+ if !((v > min) && (v < max))
130
+ errors.push msg
131
+ else
132
+ errors.push "section #{section} (#{v}) is OK"
133
+ end
60
134
  end
61
135
  end
136
+ expect(errors).to be_empty, errors.join("\n")
62
137
  end
63
138
  end
64
139
 
@@ -68,6 +143,6 @@ describe 'handling 7 slot stages' do
68
143
  specify '#result' do
69
144
  expect(s.result).to be_truthy
70
145
  end
71
- end
146
+ end
72
147
 
73
148
  end
@@ -0,0 +1,61 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'handling T stage images' do
4
+
5
+ let(:image) { ImageHelpers.t_stage }
6
+ let(:sqed) do
7
+ Sqed.new(
8
+ image: image,
9
+ pattern: :t,
10
+ boundary_color: :red,
11
+ has_border: false )
12
+ end
13
+
14
+ let(:m) do
15
+ { 0 => 'annotated_specimen',
16
+ 1 => 'identifier',
17
+ 2 => 'image_registration'
18
+ }
19
+ end
20
+
21
+ context 'simple boundaries - without thumbnail' do
22
+ let(:s) { Sqed.new(
23
+ image: image, metadata_map: m, use_thumbnail: false,
24
+ layout: :t,
25
+ boundary_finder: Sqed::BoundaryFinder::ColorLineFinder,
26
+ boundary_color: :red,
27
+ has_border: false ) }
28
+
29
+ specify 'boundaries are reasonable' do
30
+ s.result
31
+ c = s.boundaries.coordinates
32
+ c.each do |section, values|
33
+ c[section].each_with_index do |v, i|
34
+ msg = "section #{section}, index #{i} has a bad value '#{v}'"
35
+ expect(v > -1).to be_truthy, msg
36
+ end
37
+ end
38
+ end
39
+ end
40
+
41
+ context 'boundaries - with_thumbnail' do
42
+ let(:s) { Sqed.new(
43
+ image: image,
44
+ use_thumbnail: true,
45
+ pattern: :t,
46
+ boundary_color: :red,
47
+ has_border: false ) }
48
+
49
+ specify 'boundaries are reasonable' do
50
+ s.result
51
+ c = s.boundaries.coordinates
52
+ c.each do |section, values|
53
+ c[section].each_with_index do |v, i|
54
+ msg = "section #{section}, index #{i} has a bad value '#{v}'"
55
+ expect(v > -1).to be_truthy, msg
56
+ end
57
+ end
58
+ end
59
+ end
60
+
61
+ end
data/spec/spec_helper.rb CHANGED
@@ -5,7 +5,7 @@ Bundler.setup
5
5
  require 'sqed'
6
6
  require 'support/image_helpers'
7
7
  require 'byebug'
8
- require 'awesome_print'
8
+ require 'amazing_print'
9
9
  require 'fileutils'
10
10
  require 'rmagick'
11
11
 
@@ -9,12 +9,21 @@ module ImageHelpers
9
9
  end
10
10
 
11
11
  def of_size(width = 1024, height = 768)
12
- Magick::Image.new(width, height) {
13
- self.background_color = 'white'
12
+ Magick::Image.new(width, height) { |i|
13
+ i.background_color = 'white'
14
14
  }
15
15
  end
16
16
 
17
- # Stage images
17
+ # Stage images
18
+
19
+ def t_stage
20
+ get_image 'stage_images/t_stage.png'
21
+ end
22
+
23
+ def inverted_t_stage
24
+ get_image 'stage_images/inverted_t_stage.png'
25
+ end
26
+
18
27
  def cross_green
19
28
  get_image 'stage_images/boundary_cross_green.jpg'
20
29
  end
@@ -36,15 +45,23 @@ module ImageHelpers
36
45
  end
37
46
 
38
47
  def inhs_stage_7_slot
39
- get_image 'stage_images/inhs_7_slot.jpg'
48
+ get_image 'stage_images/inhs_7_slot3.jpg'
49
+ end
50
+
51
+ def inhs_stage_7_slot2
52
+ get_image 'stage_images/inhs_7_slot2.jpg'
40
53
  end
41
54
 
42
55
  def lep_stage
43
56
  get_image 'stage_images/lep_stage.jpg'
44
57
  end
45
58
 
46
- def inhs_stage_7_slot2
47
- get_image 'stage_images/inhs_7_slot2.jpg'
59
+ def lep_stage2
60
+ get_image 'stage_images/lep_stage2.jpg'
61
+ end
62
+
63
+ def lep_stage3
64
+ get_image 'stage_images/lep_stage3.jpg'
48
65
  end
49
66
 
50
67
  def crossy_green_line_specimen
@@ -93,7 +110,7 @@ module ImageHelpers
93
110
  get_image 'barcode_images/osuc_datamatric_barcode.png'
94
111
  end
95
112
 
96
- # label (text) images
113
+ # label (text) images
97
114
 
98
115
  # NOT USED
99
116
  def black_stage_green_line_specimen_label
@@ -114,7 +131,7 @@ module ImageHelpers
114
131
 
115
132
  # Real life, black border, no internal boundaries
116
133
  def test3_image
117
- get_image 'test3.jpg'
134
+ get_image 'test3.jpg'
118
135
  end
119
136
 
120
137
  def foo3_image
data/sqed.gemspec CHANGED
@@ -19,15 +19,15 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ["lib"]
20
20
 
21
21
  spec.add_dependency 'rake', '~> 13.0'
22
- spec.add_dependency 'rmagick', '~> 4.0'
23
- spec.add_dependency 'rtesseract', '~> 3.0.4'
22
+ spec.add_dependency 'rmagick', '~> 4.2'
23
+ spec.add_dependency 'rtesseract', '~> 3.1'
24
24
 
25
25
  # A qrcode reader, too many problems with compiling, dependencies
26
26
  # spec.add_dependency 'zxing_cpp', '~> 0.1.0'
27
27
 
28
- spec.add_development_dependency 'rspec', '~> 3.9'
28
+ spec.add_development_dependency 'rspec', '~> 3.11'
29
29
  spec.add_development_dependency 'bundler', '~> 2.0'
30
30
  spec.add_development_dependency 'byebug', '~> 11.0'
31
- spec.add_development_dependency 'awesome_print', '~> 1.8'
31
+ spec.add_development_dependency 'amazing_print', '~> 1.4'
32
32
  end
33
33
 
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sqed
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.8
4
+ version: 0.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Yoder
8
8
  - Rich Flood
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-11-18 00:00:00.000000000 Z
12
+ date: 2022-06-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -31,42 +31,42 @@ dependencies:
31
31
  requirements:
32
32
  - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: '4.0'
34
+ version: '4.2'
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: '4.0'
41
+ version: '4.2'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: rtesseract
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - "~>"
47
47
  - !ruby/object:Gem::Version
48
- version: 3.0.4
48
+ version: '3.1'
49
49
  type: :runtime
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - "~>"
54
54
  - !ruby/object:Gem::Version
55
- version: 3.0.4
55
+ version: '3.1'
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: rspec
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: '3.9'
62
+ version: '3.11'
63
63
  type: :development
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: '3.9'
69
+ version: '3.11'
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: bundler
72
72
  requirement: !ruby/object:Gem::Requirement
@@ -96,19 +96,19 @@ dependencies:
96
96
  - !ruby/object:Gem::Version
97
97
  version: '11.0'
98
98
  - !ruby/object:Gem::Dependency
99
- name: awesome_print
99
+ name: amazing_print
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
102
  - - "~>"
103
103
  - !ruby/object:Gem::Version
104
- version: '1.8'
104
+ version: '1.4'
105
105
  type: :development
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
109
  - - "~>"
110
110
  - !ruby/object:Gem::Version
111
- version: '1.8'
111
+ version: '1.4'
112
112
  description: A utility gem to aid in the processing of images taken in the process
113
113
  of digitizing natural history collections.
114
114
  email:
@@ -132,6 +132,7 @@ files:
132
132
  - lib/sqed/boundary_finder/color_line_finder.rb
133
133
  - lib/sqed/boundary_finder/cross_finder.rb
134
134
  - lib/sqed/boundary_finder/stage_finder.rb
135
+ - lib/sqed/error.rb
135
136
  - lib/sqed/extractor.rb
136
137
  - lib/sqed/parser.rb
137
138
  - lib/sqed/parser/barcode_parser.rb
@@ -154,8 +155,11 @@ files:
154
155
  - spec/lib/sqed_spec.rb
155
156
  - spec/lib/sqed_utils_spec.rb
156
157
  - spec/lib/stage_handling/horizontal_offset_cross_spec.rb
158
+ - spec/lib/stage_handling/inverted_t_stage_spec.rb
159
+ - spec/lib/stage_handling/lep_stage2_spec.rb
157
160
  - spec/lib/stage_handling/lep_stage_spec.rb
158
161
  - spec/lib/stage_handling/seven_slot_spec.rb
162
+ - spec/lib/stage_handling/t_stage_spec.rb
159
163
  - spec/spec_helper.rb
160
164
  - spec/support/files/barcode_images/code_128_barcode.png
161
165
  - spec/support/files/barcode_images/datamatrix_barcode.png
@@ -181,8 +185,13 @@ files:
181
185
  - spec/support/files/stage_images/horizontal_offset_cross.png
182
186
  - spec/support/files/stage_images/inhs_7_slot.jpg
183
187
  - spec/support/files/stage_images/inhs_7_slot2.jpg
188
+ - spec/support/files/stage_images/inhs_7_slot3.jpg
184
189
  - spec/support/files/stage_images/inhs_four_thirds.jpg
190
+ - spec/support/files/stage_images/inverted_t_stage.png
185
191
  - spec/support/files/stage_images/lep_stage.jpg
192
+ - spec/support/files/stage_images/lep_stage2.jpg
193
+ - spec/support/files/stage_images/lep_stage3.jpg
194
+ - spec/support/files/stage_images/t_stage.png
186
195
  - spec/support/files/test0.jpg
187
196
  - spec/support/files/test1.jpg
188
197
  - spec/support/files/test2.jpg
@@ -195,7 +204,7 @@ homepage: http://github.com/SpeciesFileGroup/sqed
195
204
  licenses:
196
205
  - NCSA
197
206
  metadata: {}
198
- post_install_message:
207
+ post_install_message:
199
208
  rdoc_options: []
200
209
  require_paths:
201
210
  - lib
@@ -210,8 +219,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
210
219
  - !ruby/object:Gem::Version
211
220
  version: '0'
212
221
  requirements: []
213
- rubygems_version: 3.0.6
214
- signing_key:
222
+ rubygems_version: 3.2.22
223
+ signing_key:
215
224
  specification_version: 4
216
225
  summary: Specimens Quickly extracted and Digitized, or just "squid". A ruby gem for
217
226
  image based specimen accessioning.
@@ -230,8 +239,11 @@ test_files:
230
239
  - spec/lib/sqed_spec.rb
231
240
  - spec/lib/sqed_utils_spec.rb
232
241
  - spec/lib/stage_handling/horizontal_offset_cross_spec.rb
242
+ - spec/lib/stage_handling/inverted_t_stage_spec.rb
243
+ - spec/lib/stage_handling/lep_stage2_spec.rb
233
244
  - spec/lib/stage_handling/lep_stage_spec.rb
234
245
  - spec/lib/stage_handling/seven_slot_spec.rb
246
+ - spec/lib/stage_handling/t_stage_spec.rb
235
247
  - spec/spec_helper.rb
236
248
  - spec/support/files/barcode_images/code_128_barcode.png
237
249
  - spec/support/files/barcode_images/datamatrix_barcode.png
@@ -257,8 +269,13 @@ test_files:
257
269
  - spec/support/files/stage_images/horizontal_offset_cross.png
258
270
  - spec/support/files/stage_images/inhs_7_slot.jpg
259
271
  - spec/support/files/stage_images/inhs_7_slot2.jpg
272
+ - spec/support/files/stage_images/inhs_7_slot3.jpg
260
273
  - spec/support/files/stage_images/inhs_four_thirds.jpg
274
+ - spec/support/files/stage_images/inverted_t_stage.png
261
275
  - spec/support/files/stage_images/lep_stage.jpg
276
+ - spec/support/files/stage_images/lep_stage2.jpg
277
+ - spec/support/files/stage_images/lep_stage3.jpg
278
+ - spec/support/files/stage_images/t_stage.png
262
279
  - spec/support/files/test0.jpg
263
280
  - spec/support/files/test1.jpg
264
281
  - spec/support/files/test2.jpg