dcm_dict 0.27.0 → 0.28.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3aabbee194362f1003d72cf3513dd85261cb63d93b83802c1fb0b767c1f0c1a2
4
- data.tar.gz: 12b19236ebf0658ea4016be747951963bc9a636fd1264543987f6d6685541b14
3
+ metadata.gz: 659ad8b37484a4a714d64630bb4a0290598d3258d3cc34c0381c86467a586a41
4
+ data.tar.gz: b1b082ee8cfa757f0698f0acee0aefd604839b86739eeae4dde1b727c72b6464
5
5
  SHA512:
6
- metadata.gz: 738fdcf5e5ebf3b920c8b906a54bf0575a50b9c707038d9bd13efa57f193dbff2ed16b06191dc88d808aee6fca211fb3ba4c0c28680265abb53ab77c39cddf79
7
- data.tar.gz: 97ebf73cfe6dd4ae93ed04afd7794c9ee110e91ad97bd908af5b55cd87e7fcc27fae081ff2cf7038a7615adb7a57dd44cba92e6d46e56f334bdc2c99e10cd1c5
6
+ metadata.gz: 808d5dcaba491fb084d172c26b32ed1f0655f0d94b177492dc8d0a41d6a2bac2c7f17c86ec16b2d6fcad16d58048a8fee8b9d250866ca4886b7d5b40ed1935de
7
+ data.tar.gz: cd4c6ede9338e3e6551696f7b549f0c5fc7f164cc858fb30d43246fc5b5e66e8a9fc3ae00b1eac9a3c21459bb6e702586008b1f23e99cfaa2c90572743aec32b
data/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # DcmDict project Changelog
2
2
 
3
+ ## v0.28.1 (2020-03-18)
4
+ * Updated dcm_dict.gemspec due to a security vulnerabilities into the Rake gem as defined into gemspec (>=10.3 to >=12.3.3)
5
+ #### Note for gemspec security report:
6
+ >rake vulnerability found in dcm_dict.gemspec:
7
+ >CVE-2020-8130 (moderate severity)
8
+ >Vulnerable versions: <= 12.3.2
9
+ >Patched version: 12.3.3
10
+ >There is an OS command injection vulnerability in Ruby Rake before 12.3.3 in Rake::FileList when supplying a filename that begins with the pipe character |.
11
+ >
12
+ >Remediation:
13
+ >Upgrade rake to version 12.3.3 or later.
14
+ >
15
+ >["OS Command Injection in Rake"](https://github.com/advisories/GHSA-jppv-gw3r-w3q8)
16
+ >["CVE-2020-8130 Detail"](https://nvd.nist.gov/vuln/detail/CVE-2020-8130)
17
+ ___
18
+ ## v0.28.0 (2020-03-18)
19
+ * Update to 2020b Base Standard
20
+ * Remove warning for deprecated method 'Kernel#open'
21
+ ___
3
22
  ## v0.27.0 (2020-02-05)
4
23
  * Update to 2020a Base Standard
5
24
  ___
data/README.md CHANGED
@@ -269,7 +269,7 @@ Note: the script use the [Nokogiri][3] as XML parser if installed as gem, otherw
269
269
  Check the file for other details.
270
270
 
271
271
  ## Note
272
- Current library version is aligned to *DICOM Base Standard* **2020a**
272
+ Current library version is aligned to *DICOM Base Standard* **2020b**
273
273
 
274
274
  ## Install
275
275
 
@@ -89,7 +89,7 @@ class DcmDictConverter
89
89
  def pull_standard_draft(url, output)
90
90
  buffer_size = 256 * 1_024
91
91
  trace("Downloading #{url}\n")
92
- open(url, "r",
92
+ URI.open(url, "r",
93
93
  :content_length_proc => lambda {|content_length| trace("Content Length: #{content_length} bytes\n.") },
94
94
  :progress_proc => lambda { |size| trace(".") }) do |src|
95
95
  while (buffer = src.read(buffer_size))
@@ -4672,7 +4672,7 @@ HIGH = 0001H'},
4672
4672
  { tag_ps: '(3010,0093)', tag_name: "RT Treatment Source Coordinates", tag_key: 'RTTreatmentSourceCoordinates', tag_vr: [:FD], tag_vm: ["3"], tag_str: '(3010,0093)', tag_sym: :rt_treatment_source_coordinates, tag_ndm: '30100093', tag_ary: [0x3010,0x0093], tag_multiple: false, tag_note: ''},
4673
4673
  { tag_ps: '(3010,0094)', tag_name: "Radiation Source Coordinate SystemYaw Angle", tag_key: 'RadiationSourceCoordinateSystemYawAngle', tag_vr: [:FD], tag_vm: ["1"], tag_str: '(3010,0094)', tag_sym: :radiation_source_coordinate_system_yaw_angle, tag_ndm: '30100094', tag_ary: [0x3010,0x0094], tag_multiple: false, tag_note: ''},
4674
4674
  { tag_ps: '(3010,0095)', tag_name: "Radiation Source Coordinate SystemRoll Angle", tag_key: 'RadiationSourceCoordinateSystemRollAngle', tag_vr: [:FD], tag_vm: ["1"], tag_str: '(3010,0095)', tag_sym: :radiation_source_coordinate_system_roll_angle, tag_ndm: '30100095', tag_ary: [0x3010,0x0095], tag_multiple: false, tag_note: ''},
4675
- { tag_ps: '(3010,0096)', tag_name: "Radiation Source Coordinate SystemPitch Angle", tag_key: 'RadiationSourceCoordinateSystemPitchAngle', tag_vr: [:FD], tag_vm: ["1"], tag_str: '(3010,0096)', tag_sym: :radiation_source_coordinate_system_pitch_angle, tag_ndm: '30100096', tag_ary: [0x3010,0x0096], tag_multiple: false, tag_note: ''},
4675
+ { tag_ps: '(3010,0096)', tag_name: "Radiation Source Coordinate System Pitch Angle", tag_key: 'RadiationSourceCoordinateSystemPitchAngle', tag_vr: [:FD], tag_vm: ["1"], tag_str: '(3010,0096)', tag_sym: :radiation_source_coordinate_system_pitch_angle, tag_ndm: '30100096', tag_ary: [0x3010,0x0096], tag_multiple: false, tag_note: ''},
4676
4676
  { tag_ps: '(3010,0097)', tag_name: "Robotic Path Control Point Sequence", tag_key: 'RoboticPathControlPointSequence', tag_vr: [:SQ], tag_vm: ["1"], tag_str: '(3010,0097)', tag_sym: :robotic_path_control_point_sequence, tag_ndm: '30100097', tag_ary: [0x3010,0x0097], tag_multiple: false, tag_note: ''},
4677
4677
  { tag_ps: '(3010,0098)', tag_name: "Tomotherapeutic Control Point Sequence", tag_key: 'TomotherapeuticControlPointSequence', tag_vr: [:SQ], tag_vm: ["1"], tag_str: '(3010,0098)', tag_sym: :tomotherapeutic_control_point_sequence, tag_ndm: '30100098', tag_ary: [0x3010,0x0098], tag_multiple: false, tag_note: ''},
4678
4678
  { tag_ps: '(3010,0099)', tag_name: "Tomotherapeutic Leaf Open Durations", tag_key: 'TomotherapeuticLeafOpenDurations', tag_vr: [:FD], tag_vm: ["1-n"], tag_str: '(3010,0099)', tag_sym: :tomotherapeutic_leaf_open_durations, tag_ndm: '30100099', tag_ary: [0x3010,0x0099], tag_multiple: false, tag_note: ''},
@@ -31,20 +31,20 @@ module DcmDict
31
31
  { uid_value: '1.2.840.10008.1.2.1.99', uid_name: "Deflated Explicit VR Little Endian", uid_type: :transfer_syntax},
32
32
  { uid_value: '1.2.840.10008.1.2.2', uid_name: "Explicit VR Big Endian (Retired)", uid_type: :transfer_syntax},
33
33
  { uid_value: '1.2.840.10008.1.2.4.50', uid_name: "JPEG Baseline (Process 1): Default Transfer Syntax for Lossy JPEG 8 Bit Image Compression", uid_type: :transfer_syntax},
34
- { uid_value: '1.2.840.10008.1.2.4.51', uid_name: "JPEG Extended (Process 2 & 4): Default Transfer Syntax for Lossy JPEG 12 Bit Image Compression (Process 4 only)", uid_type: :transfer_syntax},
35
- { uid_value: '1.2.840.10008.1.2.4.52', uid_name: "JPEG Extended (Process 3 & 5) (Retired)", uid_type: :transfer_syntax},
36
- { uid_value: '1.2.840.10008.1.2.4.53', uid_name: "JPEG Spectral Selection, Non-Hierarchical (Process 6 & 8) (Retired)", uid_type: :transfer_syntax},
37
- { uid_value: '1.2.840.10008.1.2.4.54', uid_name: "JPEG Spectral Selection, Non-Hierarchical (Process 7 & 9) (Retired)", uid_type: :transfer_syntax},
38
- { uid_value: '1.2.840.10008.1.2.4.55', uid_name: "JPEG Full Progression, Non-Hierarchical (Process 10 & 12) (Retired)", uid_type: :transfer_syntax},
39
- { uid_value: '1.2.840.10008.1.2.4.56', uid_name: "JPEG Full Progression, Non-Hierarchical (Process 11 & 13) (Retired)", uid_type: :transfer_syntax},
34
+ { uid_value: '1.2.840.10008.1.2.4.51', uid_name: "JPEG Extended (Process 24): Default Transfer Syntax for Lossy JPEG 12 Bit Image Compression (Process 4 only)", uid_type: :transfer_syntax},
35
+ { uid_value: '1.2.840.10008.1.2.4.52', uid_name: "JPEG Extended (Process 35) (Retired)", uid_type: :transfer_syntax},
36
+ { uid_value: '1.2.840.10008.1.2.4.53', uid_name: "JPEG Spectral Selection, Non-Hierarchical (Process 68) (Retired)", uid_type: :transfer_syntax},
37
+ { uid_value: '1.2.840.10008.1.2.4.54', uid_name: "JPEG Spectral Selection, Non-Hierarchical (Process 79) (Retired)", uid_type: :transfer_syntax},
38
+ { uid_value: '1.2.840.10008.1.2.4.55', uid_name: "JPEG Full Progression, Non-Hierarchical (Process 1012) (Retired)", uid_type: :transfer_syntax},
39
+ { uid_value: '1.2.840.10008.1.2.4.56', uid_name: "JPEG Full Progression, Non-Hierarchical (Process 1113) (Retired)", uid_type: :transfer_syntax},
40
40
  { uid_value: '1.2.840.10008.1.2.4.57', uid_name: "JPEG Lossless, Non-Hierarchical (Process 14)", uid_type: :transfer_syntax},
41
41
  { uid_value: '1.2.840.10008.1.2.4.58', uid_name: "JPEG Lossless, Non-Hierarchical (Process 15) (Retired)", uid_type: :transfer_syntax},
42
- { uid_value: '1.2.840.10008.1.2.4.59', uid_name: "JPEG Extended, Hierarchical (Process 16 & 18) (Retired)", uid_type: :transfer_syntax},
43
- { uid_value: '1.2.840.10008.1.2.4.60', uid_name: "JPEG Extended, Hierarchical (Process 17 & 19) (Retired)", uid_type: :transfer_syntax},
44
- { uid_value: '1.2.840.10008.1.2.4.61', uid_name: "JPEG Spectral Selection, Hierarchical (Process 20 & 22) (Retired)", uid_type: :transfer_syntax},
45
- { uid_value: '1.2.840.10008.1.2.4.62', uid_name: "JPEG Spectral Selection, Hierarchical (Process 21 & 23) (Retired)", uid_type: :transfer_syntax},
46
- { uid_value: '1.2.840.10008.1.2.4.63', uid_name: "JPEG Full Progression, Hierarchical (Process 24 & 26) (Retired)", uid_type: :transfer_syntax},
47
- { uid_value: '1.2.840.10008.1.2.4.64', uid_name: "JPEG Full Progression, Hierarchical (Process 25 & 27) (Retired)", uid_type: :transfer_syntax},
42
+ { uid_value: '1.2.840.10008.1.2.4.59', uid_name: "JPEG Extended, Hierarchical (Process 1618) (Retired)", uid_type: :transfer_syntax},
43
+ { uid_value: '1.2.840.10008.1.2.4.60', uid_name: "JPEG Extended, Hierarchical (Process 1719) (Retired)", uid_type: :transfer_syntax},
44
+ { uid_value: '1.2.840.10008.1.2.4.61', uid_name: "JPEG Spectral Selection, Hierarchical (Process 2022) (Retired)", uid_type: :transfer_syntax},
45
+ { uid_value: '1.2.840.10008.1.2.4.62', uid_name: "JPEG Spectral Selection, Hierarchical (Process 2123) (Retired)", uid_type: :transfer_syntax},
46
+ { uid_value: '1.2.840.10008.1.2.4.63', uid_name: "JPEG Full Progression, Hierarchical (Process 2426) (Retired)", uid_type: :transfer_syntax},
47
+ { uid_value: '1.2.840.10008.1.2.4.64', uid_name: "JPEG Full Progression, Hierarchical (Process 2527) (Retired)", uid_type: :transfer_syntax},
48
48
  { uid_value: '1.2.840.10008.1.2.4.65', uid_name: "JPEG Lossless, Hierarchical (Process 28) (Retired)", uid_type: :transfer_syntax},
49
49
  { uid_value: '1.2.840.10008.1.2.4.66', uid_name: "JPEG Lossless, Hierarchical (Process 29) (Retired)", uid_type: :transfer_syntax},
50
50
  { uid_value: '1.2.840.10008.1.2.4.70', uid_name: "JPEG Lossless, Non-Hierarchical, First-Order Prediction (Process 14 [Selection Value 1]): Default Transfer Syntax for Lossless JPEG Image Compression", uid_type: :transfer_syntax},
@@ -22,6 +22,6 @@
22
22
  # applicable local, state, national or international regulations.
23
23
  #
24
24
  module DcmDict
25
- VERSION = "0.27.0"
26
- DICOM_DOC_VERSION = "2020a"
25
+ VERSION = "0.28.1"
26
+ DICOM_DOC_VERSION = "2020b"
27
27
  end
@@ -152,7 +152,11 @@ module DataElementSampleSpecHelper
152
152
  [0x0002,0x0027] => { tag_ps: '(0002,0027)', tag_name: "Sending Presentation Address", tag_key: 'SendingPresentationAddress',
153
153
  tag_vr: [:UR], tag_vm: ["1"], tag_str: '(0002,0027)', tag_sym: :sending_presentation_address,
154
154
  tag_ndm: '00020027', tag_ary: [0x0002,0x0027], tag_multiple: false,
155
- tag_note: ''}
155
+ tag_note: ''},
156
+ [0x3010,0x0096] => { tag_ps: '(3010,0096)', tag_name: "Radiation Source Coordinate System Pitch Angle",
157
+ tag_key: 'RadiationSourceCoordinateSystemPitchAngle', tag_vr: [:FD], tag_vm: ["1"], tag_str: '(3010,0096)',
158
+ tag_sym: :radiation_source_coordinate_system_pitch_angle, tag_ndm: '30100096',
159
+ tag_ary: [0x3010,0x0096], tag_multiple: false, tag_note: ''}
156
160
  }
157
161
  end
158
162
 
@@ -31,21 +31,27 @@ describe DcmDict::Dictionary::UidDictionary do
31
31
  [:uid_value, :uid_name, :uid_type]
32
32
 
33
33
  {
34
- '1.2.3.4.5.6' => { :uid_value => '1.2.3.4.5.6',
35
- :uid_name => 'Unknown UID',
36
- :uid_type => :unknown },
34
+ '1.2.3.4.5.6' => { :uid_value => '1.2.3.4.5.6',
35
+ :uid_name => 'Unknown UID',
36
+ :uid_type => :unknown },
37
37
  '1.2.840.10008.5.1.4.1.1.12.77' => { :uid_value => '1.2.840.10008.5.1.4.1.1.12.77',
38
- :uid_name => '1.2.840.10008.5.1.4.1.1.12.77 (Retired)',
39
- :uid_type => :sop_class },
40
- '1.2.840.10008.5.1.4.1.1.40' => { :uid_value => '1.2.840.10008.5.1.4.1.1.40',
41
- :uid_name => '1.2.840.10008.5.1.4.1.1.40 (Retired)',
42
- :uid_type => :sop_class },
43
- '1.2.840.10008.5.1.4.39.3' => { :uid_value => '1.2.840.10008.5.1.4.39.3',
44
- :uid_name => 'Color Palette Query/Retrieve Information Model - MOVE',
45
- :uid_type => :sop_class },
46
- '1.2.840.10008.5.1.4.34.6.5' => { :uid_value => '1.2.840.10008.5.1.4.34.6.5',
47
- :uid_name => 'Unified Procedure Step - Query SOP Class',
48
- :uid_type => :sop_class }
38
+ :uid_name => '1.2.840.10008.5.1.4.1.1.12.77 (Retired)',
39
+ :uid_type => :sop_class },
40
+ '1.2.840.10008.5.1.4.1.1.40' => { :uid_value => '1.2.840.10008.5.1.4.1.1.40',
41
+ :uid_name => '1.2.840.10008.5.1.4.1.1.40 (Retired)',
42
+ :uid_type => :sop_class },
43
+ '1.2.840.10008.5.1.4.39.3' => { :uid_value => '1.2.840.10008.5.1.4.39.3',
44
+ :uid_name => 'Color Palette Query/Retrieve Information Model - MOVE',
45
+ :uid_type => :sop_class },
46
+ '1.2.840.10008.5.1.4.34.6.5' => { :uid_value => '1.2.840.10008.5.1.4.34.6.5',
47
+ :uid_name => 'Unified Procedure Step - Query SOP Class',
48
+ :uid_type => :sop_class },
49
+ '1.2.840.10008.1.2.4.70' => { :uid_value => '1.2.840.10008.1.2.4.70',
50
+ :uid_name => "JPEG Lossless, Non-Hierarchical, First-Order Prediction (Process 14 [Selection Value 1]): Default Transfer Syntax for Lossless JPEG Image Compression",
51
+ :uid_type => :transfer_syntax},
52
+ '1.2.840.10008.1.2.4.60' => { :uid_value => '1.2.840.10008.1.2.4.60',
53
+ :uid_name => 'JPEG Extended, Hierarchical (Process 1719) (Retired)',
54
+ :uid_type => :transfer_syntax }
49
55
  }.each do |uid, data|
50
56
  include_examples "Handle specific record", data[:uid_name],
51
57
  uid, data, DcmDict::Dictionary::TheUidDictionary
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dcm_dict
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.27.0
4
+ version: 0.28.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Enrico Rivarola
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-05 00:00:00.000000000 Z
11
+ date: 2020-03-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -76,20 +76,20 @@ dependencies:
76
76
  requirements:
77
77
  - - "~>"
78
78
  - !ruby/object:Gem::Version
79
- version: '10.3'
79
+ version: 12.3.3
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: 10.3.0
82
+ version: 12.3.3
83
83
  type: :development
84
84
  prerelease: false
85
85
  version_requirements: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '10.3'
89
+ version: 12.3.3
90
90
  - - ">="
91
91
  - !ruby/object:Gem::Version
92
- version: 10.3.0
92
+ version: 12.3.3
93
93
  description: DcmDict is a Ruby gem (dcm_dict) to handle in a simple way the Data Dictionary
94
94
  defined within the DICOM Standard
95
95
  email: henrythebuilder@yahoo.it
@@ -165,7 +165,7 @@ licenses:
165
165
  metadata:
166
166
  bug_tracker_uri: https://github.com/henrythebuilder/dcm_dict/issues
167
167
  changelog_uri: https://github.com/henrythebuilder/dcm_dict/blob/master/CHANGELOG.md
168
- documentation_uri: http://www.rubydoc.info/gems/dcm_dict/0.27.0
168
+ documentation_uri: http://www.rubydoc.info/gems/dcm_dict/0.28.1
169
169
  homepage_uri: http://rubygems.org/gems/dcm_dict
170
170
  source_code_uri: https://github.com/henrythebuilder/dcm_dict
171
171
  post_install_message: