exiftool 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/test/Droid X.jpg ADDED
Binary file
@@ -0,0 +1,89 @@
1
+ ---
2
+ :source_file: /Users/mrm/Dropbox/code/exiftoolr/test/Droid X.jpg
3
+ :exif_tool_version: 9.31
4
+ :file_name: Droid X.jpg
5
+ :directory: /Users/mrm/Dropbox/code/exiftoolr/test
6
+ :file_size: 2023 kB
7
+ :file_modify_date: 2012-02-23 05:22:17.000000000 +00:00
8
+ :file_access_date: 2013-07-14 20:25:41.000000000 +00:00
9
+ :file_inode_change_date: 2013-02-16 19:21:58.000000000 +00:00
10
+ :file_permissions: rwxr-xr-x
11
+ :file_type: JPEG
12
+ :mime_type: image/jpeg
13
+ :exif_byte_order: Little-endian (Intel, II)
14
+ :make: Motorola
15
+ :model: DROIDX 6d460001fff80000015d7d330e01c011
16
+ :orientation: Rotate 90 CW
17
+ :x_resolution: 300
18
+ :y_resolution: 300
19
+ :resolution_unit: inches
20
+ :software: 2.2
21
+ :modify_date: 2010-12-08 01:15:37.000000000 +00:00
22
+ :y_cb_cr_positioning: Centered
23
+ :exposure_time: !ruby/object:Rational
24
+ denominator: 15
25
+ numerator: 1
26
+ :f_number: 2.8
27
+ :exposure_program: Program AE
28
+ :iso: 637
29
+ :exif_version: '0220'
30
+ :date_time_original: 2010-12-08 01:15:37.000000000 +00:00
31
+ :create_date: 2010-12-08 01:15:37.000000000 +00:00
32
+ :components_configuration: Cb, Y, Cr, Y
33
+ :compressed_bits_per_pixel: 4
34
+ :shutter_speed_value: !ruby/object:Rational
35
+ denominator: 15
36
+ numerator: 1
37
+ :aperture_value: 2.8
38
+ :brightness_value: -0.8203125
39
+ :exposure_compensation: 0
40
+ :max_aperture_value: 2.8
41
+ :subject_distance: 0 m
42
+ :metering_mode: Center-weighted average
43
+ :light_source: Standard Light A
44
+ :flash: Auto, Did not fire
45
+ :focal_length: 5.0 mm
46
+ :user_comment: ''
47
+ :flashpix_version: '0100'
48
+ :color_space: sRGB
49
+ :exif_image_width: 3264
50
+ :exif_image_height: 1840
51
+ :interop_index: R98 - DCF basic file (sRGB)
52
+ :interop_version: '0100'
53
+ :exposure_index: 637
54
+ :sensing_method: One-chip color area
55
+ :file_source: Digital Camera
56
+ :scene_type: Directly photographed
57
+ :custom_rendered: Custom
58
+ :exposure_mode: Auto
59
+ :white_balance: Auto
60
+ :digital_zoom_ratio: 0
61
+ :focal_length_in35mm_format: 38 mm
62
+ :scene_capture_type: Standard
63
+ :gain_control: High gain up
64
+ :contrast: Normal
65
+ :saturation: Normal
66
+ :sharpness: Normal
67
+ :subject_distance_range: Unknown
68
+ :image_unique_id: ''
69
+ :compression: JPEG (old-style)
70
+ :thumbnail_offset: 2150
71
+ :thumbnail_length: 32586
72
+ :image_width: 3264
73
+ :image_height: 1840
74
+ :encoding_process: Baseline DCT, Huffman coding
75
+ :bits_per_sample: 8
76
+ :color_components: 3
77
+ :y_cb_cr_sub_sampling: YCbCr4:2:0 (2 2)
78
+ :aperture: 2.8
79
+ :image_size: 3264x1840
80
+ :scale_factor35efl: 7.6
81
+ :shutter_speed: !ruby/object:Rational
82
+ denominator: 15
83
+ numerator: 1
84
+ :thumbnail_image: (Binary data 32586 bytes)
85
+ :circle_of_confusion: 0.004 mm
86
+ :fov: 50.7 deg
87
+ :focal_length35efl: '5.0 mm (35 mm equivalent: 38.0 mm)'
88
+ :hyperfocal_distance: 2.24 m
89
+ :light_value: 4.2
data/test/IMG_2452.jpg ADDED
Binary file
@@ -0,0 +1,211 @@
1
+ ---
2
+ :source_file: /Users/mrm/Dropbox/code/exiftoolr/test/IMG_2452.jpg
3
+ :exif_tool_version: 9.31
4
+ :file_name: IMG_2452.jpg
5
+ :directory: /Users/mrm/Dropbox/code/exiftoolr/test
6
+ :file_size: 2.8 MB
7
+ :file_modify_date: 2013-07-14 17:51:04.000000000 +00:00
8
+ :file_access_date: 2013-07-14 20:25:41.000000000 +00:00
9
+ :file_inode_change_date: 2013-07-14 17:51:04.000000000 +00:00
10
+ :file_permissions: rw-r--r--
11
+ :file_type: JPEG
12
+ :mime_type: image/jpeg
13
+ :exif_byte_order: Big-endian (Motorola, MM)
14
+ :image_description: ' '
15
+ :make: Canon
16
+ :model: Canon PowerShot SD980 IS
17
+ :orientation: Horizontal (normal)
18
+ :x_resolution: 72
19
+ :y_resolution: 72
20
+ :resolution_unit: inches
21
+ :software: QuickTime 7.6.6
22
+ :modify_date: 2011-07-06 20:41:11.000000000 +00:00
23
+ :host_computer: Mac OS X 10.6.8
24
+ :y_cb_cr_positioning: Co-sited
25
+ :exposure_time: !ruby/object:Rational
26
+ denominator: 800
27
+ numerator: 1
28
+ :f_number: 2.8
29
+ :iso: 160
30
+ :exif_version: '0220'
31
+ :date_time_original: 2011-07-06 09:46:45.000000000 +00:00
32
+ :create_date: 2011-07-06 09:46:45.000000000 +00:00
33
+ :components_configuration: Y, Cb, Cr, -
34
+ :compressed_bits_per_pixel: 3
35
+ :shutter_speed_value: !ruby/object:Rational
36
+ denominator: 807
37
+ numerator: 1
38
+ :aperture_value: 2.8
39
+ :max_aperture_value: 2.8
40
+ :flash: Auto, Did not fire
41
+ :focal_length: 4.3 mm
42
+ :warning: '[minor] Adjusted MakerNotes base by 50'
43
+ :macro_mode: Normal
44
+ :self_timer: 'Off'
45
+ :quality: Fine
46
+ :canon_flash_mode: Red-eye reduction (Auto)
47
+ :continuous_drive: Single
48
+ :focus_mode: Single
49
+ :record_mode: JPEG
50
+ :canon_image_size: Widescreen
51
+ :easy_mode: Full auto
52
+ :digital_zoom: None
53
+ :contrast: Normal
54
+ :saturation: Normal
55
+ :sharpness: 0
56
+ :camera_iso: Auto
57
+ :metering_mode: Evaluative
58
+ :focus_range: Auto
59
+ :af_point: Face Detect
60
+ :canon_exposure_mode: Easy
61
+ :lens_type: Unknown (-1)
62
+ :max_focal_length: 21.5 mm
63
+ :min_focal_length: 4.3 mm
64
+ :focal_units: 1000/mm
65
+ :max_aperture: 2.8
66
+ :min_aperture: 8
67
+ :flash_bits: (none)
68
+ :focus_continuous: Continuous
69
+ :ae_setting: Normal AE
70
+ :image_stabilization: 'On'
71
+ :zoom_source_width: 4000
72
+ :zoom_target_width: 4000
73
+ :spot_metering_mode: Center
74
+ :manual_flash_output: n/a
75
+ :focal_type: Zoom
76
+ :focal_plane_x_size: 6.35 mm
77
+ :focal_plane_y_size: 3.56 mm
78
+ :auto_iso: 148
79
+ :base_iso: 100
80
+ :measured_ev: 13.25
81
+ :target_aperture: 2.8
82
+ :target_exposure_time: !ruby/object:Rational
83
+ denominator: 807
84
+ numerator: 1
85
+ :exposure_compensation: 0
86
+ :white_balance: Auto
87
+ :slow_shutter: 'Off'
88
+ :sequence_number: 0
89
+ :optical_zoom_code: 0
90
+ :flash_guide_number: 0
91
+ :flash_exposure_comp: 0
92
+ :auto_exposure_bracketing: 'Off'
93
+ :aeb_bracket_value: 0
94
+ :control_mode: Camera Local Control
95
+ :focus_distance_upper: 65.53 m
96
+ :focus_distance_lower: 0 m
97
+ :bulb_duration: 0
98
+ :camera_type: Compact
99
+ :auto_rotate: Rotate 270 CW
100
+ :nd_filter: 'Off'
101
+ :self_timer2: 0
102
+ :flash_output: 0
103
+ :canon_image_type: IMG:PowerShot SD980 IS JPEG
104
+ :canon_firmware_version: Firmware Version 1.01
105
+ :file_number: 132-2452
106
+ :owner_name: ''
107
+ :rotation: 270
108
+ :camera_temperature: 29 C
109
+ :canon_model_id: PowerShot SD980 IS / Digital IXUS 200 IS / IXY Digital 930 IS
110
+ :af_area_mode: Multi-point AF or AI AF
111
+ :num_af_points: 9
112
+ :valid_af_points: 9
113
+ :canon_image_width: 4000
114
+ :canon_image_height: 2248
115
+ :af_image_width: 1000
116
+ :af_image_height: 100
117
+ :af_area_widths: 135 135 135 135 135 135 135 135 135
118
+ :af_area_heights: 18 18 18 18 18 18 18 18 18
119
+ :af_area_x_positions: -135 0 135 -135 0 135 -135 0 135
120
+ :af_area_y_positions: -18 -18 -18 0 0 0 18 18 18
121
+ :af_points_in_focus: 4
122
+ :primary_af_point: 4
123
+ :thumbnail_image_valid_area: 0 159 15 104
124
+ :date_stamp_mode: 'Off'
125
+ :my_color_mode: 'Off'
126
+ :firmware_revision: 1.01 rev 3.00
127
+ :categories: (none)
128
+ :intelligent_contrast: 'Off'
129
+ :image_unique_id: a3154f6d7ed923fe22415586cb3f8922
130
+ :vrd_offset: 0
131
+ :user_comment: ''
132
+ :flashpix_version: '0100'
133
+ :color_space: sRGB
134
+ :exif_image_width: 4000
135
+ :exif_image_height: 2248
136
+ :focal_plane_x_resolution: 16393.44262
137
+ :focal_plane_y_resolution: 12284.15301
138
+ :focal_plane_resolution_unit: inches
139
+ :sensing_method: One-chip color area
140
+ :file_source: Digital Camera
141
+ :custom_rendered: Normal
142
+ :exposure_mode: Auto
143
+ :digital_zoom_ratio: 1
144
+ :scene_capture_type: Standard
145
+ :compression: JPEG (old-style)
146
+ :thumbnail_offset: 3480
147
+ :thumbnail_length: 4627
148
+ :comment: |
149
+ AppleMark
150
+ :image_width: 2248
151
+ :image_height: 4000
152
+ :encoding_process: Baseline DCT, Huffman coding
153
+ :bits_per_sample: 8
154
+ :color_components: 3
155
+ :y_cb_cr_sub_sampling: YCbCr4:2:2 (2 1)
156
+ :profile_cmm_type: Lino
157
+ :profile_version: 2.1.0
158
+ :profile_class: Display Device Profile
159
+ :color_space_data: 'RGB '
160
+ :profile_connection_space: 'XYZ '
161
+ :profile_date_time: 1998-02-09 06:49:00.000000000 +00:00
162
+ :profile_file_signature: acsp
163
+ :primary_platform: Microsoft Corporation
164
+ :cmm_flags: Not Embedded, Independent
165
+ :device_manufacturer: 'IEC '
166
+ :device_model: sRGB
167
+ :device_attributes: Reflective, Glossy, Positive, Color
168
+ :rendering_intent: Perceptual
169
+ :connection_space_illuminant: 0.9642 1 0.82491
170
+ :profile_creator: 'HP '
171
+ :profile_id: 0
172
+ :profile_copyright: Copyright (c) 1998 Hewlett-Packard Company
173
+ :profile_description: sRGB IEC61966-2.1
174
+ :media_white_point: 0.95045 1 1.08905
175
+ :media_black_point: 0 0 0
176
+ :red_matrix_column: 0.43607 0.22249 0.01392
177
+ :green_matrix_column: 0.38515 0.71687 0.09708
178
+ :blue_matrix_column: 0.14307 0.06061 0.7141
179
+ :device_mfg_desc: IEC http://www.iec.ch
180
+ :device_model_desc: IEC 61966-2.1 Default RGB colour space - sRGB
181
+ :viewing_cond_desc: Reference Viewing Condition in IEC61966-2.1
182
+ :viewing_cond_illuminant: 19.6445 20.3718 16.8089
183
+ :viewing_cond_surround: 3.92889 4.07439 3.36179
184
+ :viewing_cond_illuminant_type: D50
185
+ :luminance: 76.03647 80 87.12462
186
+ :measurement_observer: CIE 1931
187
+ :measurement_backing: 0 0 0
188
+ :measurement_geometry: Unknown (0)
189
+ :measurement_flare: 0.999%
190
+ :measurement_illuminant: D65
191
+ :technology: Cathode Ray Tube Display
192
+ :red_trc: (Binary data 2060 bytes)
193
+ :green_trc: (Binary data 2060 bytes)
194
+ :blue_trc: (Binary data 2060 bytes)
195
+ :aperture: 2.8
196
+ :drive_mode: Single-frame Shooting
197
+ :image_size: 2248x4000
198
+ :lens: 4.3 - 21.5 mm
199
+ :lens_id: Unknown 4-21mm
200
+ :scale_factor35efl: 5.6
201
+ :shooting_mode: Full auto
202
+ :shutter_speed: !ruby/object:Rational
203
+ denominator: 800
204
+ numerator: 1
205
+ :thumbnail_image: (Binary data 4627 bytes)
206
+ :circle_of_confusion: 0.005 mm
207
+ :fov: 73.7 deg
208
+ :focal_length35efl: '4.3 mm (35 mm equivalent: 24.0 mm)'
209
+ :hyperfocal_distance: 1.23 m
210
+ :lens35efl: '4.3 - 21.5 mm (35 mm equivalent: 24.0 - 120.1 mm)'
211
+ :light_value: 11.9
@@ -0,0 +1,87 @@
1
+ require 'test_helper'
2
+
3
+ describe Exiftool do
4
+
5
+ DUMP_RESULTS = false
6
+
7
+ it 'raises NoSuchFile for missing files' do
8
+ proc { Exiftool.new('no/such/file') }.must_raise Exiftool::NoSuchFile
9
+ end
10
+
11
+ it 'raises NotAFile for directories' do
12
+ proc { Exiftool.new('lib') }.must_raise Exiftool::NotAFile
13
+ end
14
+
15
+ it 'no-ops with no files' do
16
+ e = Exiftool.new([])
17
+ e.errors?.must_be_false
18
+ end
19
+
20
+ it 'has errors with files without EXIF headers' do
21
+ e = Exiftool.new('Gemfile')
22
+ e.errors?.must_be_true
23
+ end
24
+
25
+ describe 'single-get' do
26
+ it 'responds with known correct responses' do
27
+ Dir['test/*.jpg'].each do |filename|
28
+ e = Exiftool.new(filename)
29
+ validate_result(e, filename)
30
+ end
31
+ end
32
+ end
33
+
34
+ describe 'multi-get' do
35
+ def test_multi_matches
36
+ filenames = Dir['**/*.jpg'].to_a
37
+ e = Exiftool.new(filenames)
38
+ filenames.each { |f| validate_result(e.result_for(f), f) }
39
+ end
40
+ end
41
+
42
+ def validate_result(result, filename)
43
+ yaml_file = "#{filename}.yaml"
44
+ exif = result.to_hash
45
+ File.open(yaml_file, 'w') { |out| YAML.dump(exif, out) } if DUMP_RESULTS
46
+ e = File.open(yaml_file) { |f| YAML::load(f) }
47
+ exif.keys.each do |k|
48
+ next if ignorable_key?(k)
49
+ expected = e[k]
50
+ next if expected.nil? # older version of exiftool
51
+ actual = exif[k]
52
+ if expected.is_a?(String)
53
+ expected.downcase!
54
+ actual.downcase!
55
+ end
56
+ puts "Key '#{k}' was incorrect for #{filename}" if expected != actual
57
+ end
58
+ end
59
+
60
+ # These are expected to be different on travis, due to different paths, filesystems, or
61
+ # exiftool version differences.
62
+ # fov and hyperfocal_distance, for example, are different between v8 and v9.
63
+ IGNORABLE_KEYS = [
64
+ :circle_of_confusion,
65
+ :create_date,
66
+ :date_time_original,
67
+ :directory,
68
+ :exif_tool_version,
69
+ :file_access_date,
70
+ :file_modify_date,
71
+ :file_permissions,
72
+ :fov,
73
+ :hyperfocal_distance,
74
+ :modify_date,
75
+ :nd_filter,
76
+ :source_file
77
+ ]
78
+
79
+ IGNORABLE_PATTERNS = [
80
+ /.*\-ml-\w\w-\w\w$/, # < translatable
81
+ /35efl$/ # < 35mm Effective focal length, whose calculation was changed between v8 and v9.
82
+ ]
83
+
84
+ def ignorable_key?(key)
85
+ IGNORABLE_KEYS.include?(key) || IGNORABLE_PATTERNS.any? { |ea| key.to_s =~ ea }
86
+ end
87
+ end
data/test/faces.jpg ADDED
Binary file
@@ -0,0 +1,318 @@
1
+ ---
2
+ :source_file: /Users/mrm/Dropbox/code/exiftoolr/test/faces.jpg
3
+ :exif_tool_version: 9.31
4
+ :file_name: faces.jpg
5
+ :directory: /Users/mrm/Dropbox/code/exiftoolr/test
6
+ :file_size: 3.8 MB
7
+ :file_modify_date: 2013-07-14 06:00:41.000000000 +00:00
8
+ :file_access_date: 2013-07-14 20:25:41.000000000 +00:00
9
+ :file_inode_change_date: 2013-07-14 06:01:42.000000000 +00:00
10
+ :file_permissions: rw-r--r--
11
+ :file_type: JPEG
12
+ :mime_type: image/jpeg
13
+ :exif_byte_order: Little-endian (Intel, II)
14
+ :make: Canon
15
+ :model: Canon EOS 20D
16
+ :orientation: Horizontal (normal)
17
+ :x_resolution: 72
18
+ :y_resolution: 72
19
+ :resolution_unit: inches
20
+ :software: Picasa
21
+ :modify_date: 2012-02-15 22:58:07.000000000 +00:00
22
+ :y_cb_cr_positioning: Co-sited
23
+ :exposure_time: !ruby/object:Rational
24
+ denominator: 4000
25
+ numerator: 1
26
+ :f_number: 4.0
27
+ :exposure_program: Not Defined
28
+ :iso: 400
29
+ :exif_version: '0221'
30
+ :date_time_original: 2005-11-26 14:20:34.000000000 +00:00
31
+ :create_date: 2005-11-26 14:20:34.000000000 +00:00
32
+ :components_configuration: Y, Cb, Cr, -
33
+ :shutter_speed_value: !ruby/object:Rational
34
+ denominator: 4000
35
+ numerator: 1
36
+ :aperture_value: 4.0
37
+ :flash: Off, Did not fire
38
+ :focal_length: 17.0 mm
39
+ :macro_mode: Normal
40
+ :self_timer: 'Off'
41
+ :quality: Fine
42
+ :canon_flash_mode: 'Off'
43
+ :continuous_drive: Single
44
+ :focus_mode: One-shot AF
45
+ :record_mode: JPEG
46
+ :canon_image_size: Large
47
+ :easy_mode: Manual
48
+ :digital_zoom: None
49
+ :contrast: Normal
50
+ :saturation: Normal
51
+ :sharpness: 0
52
+ :metering_mode: Center-weighted average
53
+ :focus_range: Not Known
54
+ :canon_exposure_mode: Depth-of-field AE
55
+ :lens_type: Unknown (-1)
56
+ :max_focal_length: 40 mm
57
+ :min_focal_length: 17 mm
58
+ :focal_units: 1/mm
59
+ :flash_activity: 0
60
+ :flash_bits: (none)
61
+ :focus_continuous: Single
62
+ :zoom_source_width: 0
63
+ :zoom_target_width: 0
64
+ :photo_effect: 'Off'
65
+ :manual_flash_output: n/a
66
+ :focal_type: Zoom
67
+ :focal_plane_x_size: 23.04 mm
68
+ :focal_plane_y_size: 15.37 mm
69
+ :auto_iso: 100
70
+ :base_iso: 400
71
+ :measured_ev: 14.12
72
+ :target_aperture: 4
73
+ :target_exposure_time: !ruby/object:Rational
74
+ denominator: 4008
75
+ numerator: 1
76
+ :exposure_compensation: 0
77
+ :white_balance: Auto
78
+ :slow_shutter: None
79
+ :sequence_number: 0
80
+ :optical_zoom_code: n/a
81
+ :flash_guide_number: 0
82
+ :flash_exposure_comp: +2/3
83
+ :auto_exposure_bracketing: 'Off'
84
+ :aeb_bracket_value: 0
85
+ :control_mode: Camera Local Control
86
+ :measured_ev2: 14.125
87
+ :bulb_duration: 0
88
+ :camera_type: EOS Mid-range
89
+ :auto_rotate: None
90
+ :nd_filter: n/a
91
+ :self_timer2: 0
92
+ :canon_image_type: Canon EOS 20D
93
+ :canon_firmware_version: Firmware 2.0.3
94
+ :owner_name: unknown
95
+ :serial_number: 0720413239
96
+ :set_function_when_shooting: Change quality
97
+ :long_exposure_noise_reduction: 'On'
98
+ :flash_sync_speed_av: Auto
99
+ :shutter-ae_lock: AF/AE lock
100
+ :af_assist_beam: Emits
101
+ :exposure_level_increments: 1/3 Stop
102
+ :flash_firing: Fires
103
+ :iso_expansion: 'Off'
104
+ :aeb_sequence_auto_cancel: 0,-,+/Enabled
105
+ :superimposed_display: 'On'
106
+ :menu_button_display_position: Previous (top if power off)
107
+ :mirror_lockup: Disable
108
+ :af_point_selection_method: Normal
109
+ :ettlii: Evaluative
110
+ :shutter_curtain_sync: 1st-curtain sync
111
+ :safety_shift_in_av_or_tv: Enable
112
+ :lens_af_stop_button: ONE SHOT <-> AI SERVO
113
+ :add_original_decision_data: 'On'
114
+ :canon_model_id: EOS 20D
115
+ :num_af_points: 9
116
+ :valid_af_points: 9
117
+ :canon_image_width: 3504
118
+ :canon_image_height: 2336
119
+ :af_image_width: 3504
120
+ :af_image_height: 2336
121
+ :af_area_width: 78
122
+ :af_area_height: 78
123
+ :af_area_x_positions: 8 -555 571 -931 8 947 -555 571 8
124
+ :af_area_y_positions: 504 270 270 4 4 4 -262 -262 -496
125
+ :af_points_in_focus: 0,1,2,3,4,5,6,7,8
126
+ :thumbnail_image_valid_area: 0 159 7 112
127
+ :serial_number_format: Format 2
128
+ :original_decision_data_offset: 3968887
129
+ :file_number: 326-2647
130
+ :bracket_mode: 'Off'
131
+ :bracket_value: 0
132
+ :bracket_shot_number: 0
133
+ :long_exposure_noise_reduction2: 'Off'
134
+ :wb_bracket_mode: 'Off'
135
+ :wb_bracket_value_ab: 0
136
+ :wb_bracket_value_gm: 0
137
+ :filter_effect: None
138
+ :toning_effect: None
139
+ :tone_curve: Standard
140
+ :sharpness_frequency: n/a
141
+ :sensor_red_level: 0
142
+ :sensor_blue_level: 0
143
+ :white_balance_red: 0
144
+ :white_balance_blue: 0
145
+ :color_temperature: 4300
146
+ :picture_style: None
147
+ :digital_gain: 0
148
+ :wb_shift_ab: 0
149
+ :wb_shift_gm: 0
150
+ :measured_rggb: 641 1024 1024 660
151
+ :vrd_offset: 0
152
+ :sensor_width: 3596
153
+ :sensor_height: 2360
154
+ :sensor_left_border: 84
155
+ :sensor_top_border: 19
156
+ :sensor_right_border: 3587
157
+ :sensor_bottom_border: 2354
158
+ :black_mask_left_border: 0
159
+ :black_mask_top_border: 0
160
+ :black_mask_right_border: 0
161
+ :black_mask_bottom_border: 0
162
+ :wb_rggb_levels_as_shot: 1822 1015 1015 1709
163
+ :color_temp_as_shot: 4599
164
+ :wb_rggb_levels_auto: 1822 1023 1023 1709
165
+ :color_temp_auto: 4599
166
+ :wb_rggb_levels_daylight: 1933 1023 1023 1607
167
+ :color_temp_daylight: 5200
168
+ :wb_rggb_levels_shade: 2215 1023 1023 1341
169
+ :color_temp_shade: 7000
170
+ :wb_rggb_levels_cloudy: 2087 1023 1023 1459
171
+ :color_temp_cloudy: 6000
172
+ :wb_rggb_levels_tungsten: 1382 1023 1023 2574
173
+ :color_temp_tungsten: 3203
174
+ :wb_rggb_levels_fluorescent: 1743 1023 1023 2205
175
+ :color_temp_fluorescent: 3961
176
+ :wb_rggb_levels_flash: 2112 1023 1023 1414
177
+ :color_temp_flash: 6303
178
+ :wb_rggb_levels_custom1: 1096 1023 1023 2793
179
+ :color_temp_custom1: 2694
180
+ :wb_rggb_levels_custom2: 1734 1023 1023 1901
181
+ :color_temp_custom2: 4301
182
+ :color_tone: Normal
183
+ :user_comment: ''
184
+ :flashpix_version: '0100'
185
+ :color_space: sRGB
186
+ :exif_image_width: 3504
187
+ :exif_image_height: 2336
188
+ :interop_index: R98 - DCF basic file (sRGB)
189
+ :interop_version: '0100'
190
+ :focal_plane_x_resolution: 3959.322034
191
+ :focal_plane_y_resolution: 3959.322034
192
+ :focal_plane_resolution_unit: inches
193
+ :custom_rendered: Normal
194
+ :exposure_mode: Auto
195
+ :scene_capture_type: Standard
196
+ :compression: JPEG (old-style)
197
+ :thumbnail_offset: 4036
198
+ :thumbnail_length: 12170
199
+ :xmp_toolkit: XMP Core 5.1.2
200
+ :region_applied_to_dimensions_w: 3504
201
+ :region_applied_to_dimensions_h: 2336
202
+ :region_applied_to_dimensions_unit: pixel
203
+ :region_name:
204
+ - Matthew McEachen
205
+ - Karen McEachen
206
+ - Ruth McEachen
207
+ - James McEachen
208
+ - Jamie McEachen
209
+ :region_type:
210
+ - Face
211
+ - Face
212
+ - Face
213
+ - Face
214
+ - Face
215
+ :region_area_x:
216
+ - 0.549658
217
+ - 0.858162
218
+ - 0.730736
219
+ - 0.453196
220
+ - 0.118579
221
+ :region_area_y:
222
+ - 0.248716
223
+ - 0.486301
224
+ - 0.243365
225
+ - 0.360873
226
+ - 0.466182
227
+ :region_area_w:
228
+ - 0.0667808
229
+ - 0.103881
230
+ - 0.0687785
231
+ - 0.0753424
232
+ - 0.11387
233
+ :region_area_h:
234
+ - 0.119007
235
+ - 0.1875
236
+ - 0.12286
237
+ - 0.101884
238
+ - 0.189212
239
+ :region_area_unit:
240
+ - normalized
241
+ - normalized
242
+ - normalized
243
+ - normalized
244
+ - normalized
245
+ :profile_cmm_type: appl
246
+ :profile_version: 2.2.0
247
+ :profile_class: Input Device Profile
248
+ :color_space_data: 'RGB '
249
+ :profile_connection_space: 'XYZ '
250
+ :profile_date_time: 2003-07-01 00:00:00.000000000 +00:00
251
+ :profile_file_signature: acsp
252
+ :primary_platform: Apple Computer Inc.
253
+ :cmm_flags: Not Embedded, Independent
254
+ :device_manufacturer: appl
255
+ :device_model: ''
256
+ :device_attributes: Reflective, Glossy, Positive, Color
257
+ :rendering_intent: Perceptual
258
+ :connection_space_illuminant: 0.9642 1 0.82491
259
+ :profile_creator: appl
260
+ :profile_id: 0
261
+ :red_matrix_column: 0.45427 0.24263 0.01482
262
+ :green_matrix_column: 0.35332 0.67441 0.09042
263
+ :blue_matrix_column: 0.15662 0.08336 0.71953
264
+ :media_white_point: 0.95047 1 1.0891
265
+ :chromatic_adaptation: 1.04788 0.02292 -0.0502 0.02957 0.99049 -0.01706 -0.00923 0.01508
266
+ 0.75165
267
+ :red_trc: (Binary data 14 bytes)
268
+ :green_trc: (Binary data 14 bytes)
269
+ :blue_trc: (Binary data 14 bytes)
270
+ :profile_description: Camera RGB Profile
271
+ :profile_copyright: Copyright 2003 Apple Computer Inc., all rights reserved.
272
+ :profile_description_ml: Camera RGB Profile
273
+ :profile_description_ml-es-es: Perfil RGB para Cámara
274
+ :profile_description_ml-da-dk: RGB-beskrivelse til Kamera
275
+ :profile_description_ml-de-de: RGB-Profil für Kameras
276
+ :profile_description_ml-fi-fi: Kameran RGB-profiili
277
+ :profile_description_ml-fr-fu: Profil RVB de l’appareil-photo
278
+ :profile_description_ml-it-it: Profilo RGB Fotocamera
279
+ :profile_description_ml-nl-nl: RGB-profiel Camera
280
+ :profile_description_ml-no-no: RGB-kameraprofil
281
+ :profile_description_ml-pt-br: Perfil RGB de Câmera
282
+ :profile_description_ml-sv-se: RGB-profil för Kamera
283
+ :profile_description_ml-ja-jp: カメラ RGB プロファイル
284
+ :profile_description_ml-ko-kr: 카메라 RGB 프로파일
285
+ :profile_description_ml-zh-tw: 數位相機 RGB 色彩描述
286
+ :profile_description_ml-zh-cn: 相机 RGB 描述文件
287
+ :current_iptc_digest: b443520a10119da99c2550175e6d0efb
288
+ :envelope_record_version: 4
289
+ :coded_character_set: UTF8
290
+ :application_record_version: 4
291
+ :iptc_digest: b443520a10119da99c2550175e6d0efb
292
+ :image_width: 3504
293
+ :image_height: 2336
294
+ :encoding_process: Baseline DCT, Huffman coding
295
+ :bits_per_sample: 8
296
+ :color_components: 3
297
+ :y_cb_cr_sub_sampling: YCbCr4:2:2 (2 1)
298
+ :aperture: 4.0
299
+ :drive_mode: Single-frame Shooting
300
+ :image_size: 3504x2336
301
+ :lens: 17.0 - 40.0 mm
302
+ :lens_id: Unknown 17-40mm
303
+ :warning: Invalid original decision data
304
+ :scale_factor35efl: 1.6
305
+ :shooting_mode: Depth-of-field AE
306
+ :shutter_speed: !ruby/object:Rational
307
+ denominator: 4000
308
+ numerator: 1
309
+ :thumbnail_image: (Binary data 12170 bytes)
310
+ :wb_rggb_levels: 1822 1015 1015 1709
311
+ :blue_balance: 1.683744
312
+ :circle_of_confusion: 0.019 mm
313
+ :fov: 66.9 deg
314
+ :focal_length35efl: '17.0 mm (35 mm equivalent: 27.2 mm)'
315
+ :hyperfocal_distance: 3.85 m
316
+ :lens35efl: '17.0 - 40.0 mm (35 mm equivalent: 27.2 - 64.1 mm)'
317
+ :light_value: 14.0
318
+ :red_balance: 1.795074