assembly-image 1.7.4 → 1.7.5
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/lib/assembly-image/image.rb +5 -0
- data/lib/assembly-image/version.rb +1 -1
- data/spec/image_spec.rb +15 -6
- data/spec/spec_helper.rb +2 -2
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dee27ed2f2ed8bf8a3878bac7a41448a8f7a54fbdd8e1800434ce0af812bf1aa
|
4
|
+
data.tar.gz: 8ff1e21029d7b8c4bbc045522a3d2e7fdc06c9940cc09c73287e1bf15e60a11f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: edf348cb16c843850f0a496be66ec2db8e21587970caadf72b31b2ecddeb2387ab69e0c6b308e5c30d02a2e66dd4de67e01f260985ed238a546448b4aacf9667
|
7
|
+
data.tar.gz: 27072b70647d8a657885f74ce952210efa0c070c10597ee4c7480029e845b78549c33478a5f503ebabc70e8d9c870e7376620d173e04b27eba31f0342517dca6
|
data/lib/assembly-image/image.rb
CHANGED
@@ -181,6 +181,7 @@ module Assembly
|
|
181
181
|
# rubocop:disable Metrics/MethodLength
|
182
182
|
def kdu_compress_default_options
|
183
183
|
[
|
184
|
+
'-num_threads 2', # forces Kakadu to only use 2 threads
|
184
185
|
'-precise', # forces the use of 32-bit representations
|
185
186
|
'-no_weights', # minimization of the MSE over all reconstructed colour components
|
186
187
|
'-quiet', # suppress informative messages.
|
@@ -269,6 +270,10 @@ module Assembly
|
|
269
270
|
tmp_path = tmp_tiff_file.path
|
270
271
|
|
271
272
|
options = []
|
273
|
+
|
274
|
+
# Limit the amount of memory ImageMagick is able to use.
|
275
|
+
options << '-limit memory 1GiB -limit map 1GiB'
|
276
|
+
|
272
277
|
case samples_per_pixel
|
273
278
|
when 3
|
274
279
|
options << '-type TrueColor'
|
data/spec/image_spec.rb
CHANGED
@@ -75,7 +75,7 @@ describe Assembly::Image do
|
|
75
75
|
# of supplied image components and/or colour palette. You can address this
|
76
76
|
# problem by supplying a `-jp2_space' or `-jpx_space' argument to explicitly
|
77
77
|
# identify a colour space that has anywhere from 1 to 1 colour components.
|
78
|
-
generate_test_image(TEST_TIF_INPUT_FILE,
|
78
|
+
generate_test_image(TEST_TIF_INPUT_FILE, image_type: 'Bilevel')
|
79
79
|
expect(File).to exist TEST_TIF_INPUT_FILE
|
80
80
|
expect(File).to_not exist TEST_JP2_OUTPUT_FILE
|
81
81
|
@ai = Assembly::Image.new(TEST_TIF_INPUT_FILE)
|
@@ -88,7 +88,7 @@ describe Assembly::Image do
|
|
88
88
|
end
|
89
89
|
|
90
90
|
it 'creates color jp2 when given a color tif but bitonal image data (1 channels and 1 bits per pixel)' do
|
91
|
-
generate_test_image(TEST_TIF_INPUT_FILE, color: '
|
91
|
+
generate_test_image(TEST_TIF_INPUT_FILE, color: 'Bilevel', image_type: 'TrueColor', profile: '')
|
92
92
|
expect(File).to exist TEST_TIF_INPUT_FILE
|
93
93
|
expect(File).to_not exist TEST_JP2_OUTPUT_FILE
|
94
94
|
@ai = Assembly::Image.new(TEST_TIF_INPUT_FILE)
|
@@ -101,7 +101,7 @@ describe Assembly::Image do
|
|
101
101
|
end
|
102
102
|
|
103
103
|
it 'creates grayscale jp2 when given a graycale tif but with bitonal image data (1 channel and 1 bits per pixel)' do
|
104
|
-
generate_test_image(TEST_TIF_INPUT_FILE, color: '
|
104
|
+
generate_test_image(TEST_TIF_INPUT_FILE, color: 'Bilevel', image_type: 'Grayscale', profile: '')
|
105
105
|
expect(File).to exist TEST_TIF_INPUT_FILE
|
106
106
|
expect(File).to_not exist TEST_JP2_OUTPUT_FILE
|
107
107
|
@ai = Assembly::Image.new(TEST_TIF_INPUT_FILE)
|
@@ -114,7 +114,7 @@ describe Assembly::Image do
|
|
114
114
|
end
|
115
115
|
|
116
116
|
it 'creates color jp2 when given a color tif but with greyscale image data (1 channel and 8 bits per pixel)' do
|
117
|
-
generate_test_image(TEST_TIF_INPUT_FILE, color: '
|
117
|
+
generate_test_image(TEST_TIF_INPUT_FILE, color: 'Grayscale', image_type: 'TrueColor', profile: '')
|
118
118
|
expect(File).to exist TEST_TIF_INPUT_FILE
|
119
119
|
expect(File).to_not exist TEST_JP2_OUTPUT_FILE
|
120
120
|
@ai = Assembly::Image.new(TEST_TIF_INPUT_FILE)
|
@@ -157,8 +157,17 @@ describe Assembly::Image do
|
|
157
157
|
end
|
158
158
|
|
159
159
|
it 'does not run if the input file is a jp2' do
|
160
|
-
generate_test_image(
|
161
|
-
expect(File).to exist
|
160
|
+
generate_test_image(TEST_TIF_INPUT_FILE, profile: '') # generate a test input with no profile
|
161
|
+
expect(File).to exist TEST_TIF_INPUT_FILE
|
162
|
+
expect(File).to_not exist TEST_JP2_OUTPUT_FILE
|
163
|
+
@ai = Assembly::Image.new(TEST_TIF_INPUT_FILE)
|
164
|
+
# Indicates a temp tiff was not created.
|
165
|
+
expect(@ai.tmp_path).to be_nil
|
166
|
+
expect(@ai).to_not have_color_profile
|
167
|
+
expect(@ai).to be_a_valid_image
|
168
|
+
expect(@ai).to be_jp2able
|
169
|
+
@ai.create_jp2(output: TEST_JP2_OUTPUT_FILE)
|
170
|
+
expect(TEST_JP2_OUTPUT_FILE).to be_a_jp2
|
162
171
|
@ai = Assembly::Image.new(TEST_JP2_OUTPUT_FILE)
|
163
172
|
expect(@ai).to be_valid_image
|
164
173
|
expect(@ai).to_not be_jp2able
|
data/spec/spec_helper.rb
CHANGED
@@ -17,10 +17,10 @@ TEST_DRUID = 'nx288wh8889'
|
|
17
17
|
# rubocop:disable Metrics/CyclomaticComplexity
|
18
18
|
# rubocop:disable Metrics/MethodLength
|
19
19
|
def generate_test_image(file, params = {})
|
20
|
-
color = params[:color] || '
|
20
|
+
color = params[:color] || 'TrueColor'
|
21
21
|
profile = params[:profile] || 'sRGBIEC6196621'
|
22
22
|
image_type = params[:image_type]
|
23
|
-
create_command = "convert -
|
23
|
+
create_command = "convert rose: -scale 100x100\! -type #{color} "
|
24
24
|
create_command += ' -profile ' + File.join(Assembly::PATH_TO_IMAGE_GEM, 'profiles', profile + '.icc') + ' ' unless profile == ''
|
25
25
|
create_command += " -type #{image_type} " if image_type
|
26
26
|
create_command += ' -compress lzw ' if params[:compress]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: assembly-image
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.7.
|
4
|
+
version: 1.7.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Mangiafico
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: exe
|
13
13
|
cert_chain: []
|
14
|
-
date: 2019-
|
14
|
+
date: 2019-07-26 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: assembly-objectfile
|
@@ -154,8 +154,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
154
154
|
- !ruby/object:Gem::Version
|
155
155
|
version: '0'
|
156
156
|
requirements: []
|
157
|
-
|
158
|
-
rubygems_version: 2.7.8
|
157
|
+
rubygems_version: 3.0.3
|
159
158
|
signing_key:
|
160
159
|
specification_version: 4
|
161
160
|
summary: Ruby immplementation of image services needed to prepare objects to be accessioned
|