dcm_dict 0.29.0 → 0.30.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/CHANGELOG.md +4 -0
- data/README.md +77 -59
- data/lib/dcm_dict/dictionary/uid_dictionary.rb +2 -4
- data/lib/dcm_dict/dictionary/uid_record.rb +5 -0
- data/lib/dcm_dict/encoder/data_to_code.rb +1 -1
- data/lib/dcm_dict/refine/internal/hash_refine_internal.rb +13 -0
- data/lib/dcm_dict/refine/symbol_refine.rb +1 -0
- data/lib/dcm_dict/source_data/data_elements_data.rb +3 -2
- data/lib/dcm_dict/source_data/uid_values_data.rb +443 -437
- data/lib/dcm_dict/version.rb +2 -2
- data/lib/dcm_dict/xml/constant.rb +2 -1
- data/lib/dcm_dict/xml/uid_field_data.rb +13 -3
- data/spec/dcm_dict/dictionary/uid_dictionary_spec.rb +56 -20
- data/spec/dcm_dict/dictionary/uid_record_spec.rb +7 -3
- data/spec/dcm_dict/encoder/data_to_code_spec.rb +1 -1
- data/spec/dcm_dict/refine/internal/hash_refine_internal_spec.rb +18 -0
- data/spec/dcm_dict/refine/string_refine_spec.rb +3 -3
- data/spec/dcm_dict/refine/symbol_refine_spec.rb +25 -0
- data/spec/xml_sample_spec_helper.rb +79 -31
- metadata +4 -4
data/lib/dcm_dict/version.rb
CHANGED
@@ -27,6 +27,7 @@ module DcmDict
|
|
27
27
|
# Class to handle uid data
|
28
28
|
class UidFieldData < FieldData
|
29
29
|
using DcmDict::Refine::Internal::StringRefineInternal
|
30
|
+
using DcmDict::Refine::Internal::HashRefineInternal
|
30
31
|
|
31
32
|
MISSING_NAME_VALUE = "(Retired)"
|
32
33
|
|
@@ -38,18 +39,27 @@ module DcmDict
|
|
38
39
|
# Extract and build uid data
|
39
40
|
def uid_data
|
40
41
|
extract_base_data
|
42
|
+
@data.check_base_data_uid_field!
|
43
|
+
# extend_base_data
|
44
|
+
@data
|
41
45
|
end
|
42
46
|
|
43
47
|
private
|
44
48
|
def extract_base_data
|
45
49
|
value = extract_content_data(:uid_value)
|
46
50
|
type = extract_content_data(:uid_type).uid_type_to_sym
|
51
|
+
key = extract_content_data(:uid_key)
|
47
52
|
name = check_uid_name_for(extract_content_data(:uid_name), value, type)
|
48
|
-
{ uid_value: value,
|
49
|
-
|
50
|
-
|
53
|
+
@data = { uid_value: value,
|
54
|
+
uid_name: name,
|
55
|
+
uid_type: type,
|
56
|
+
uid_key: key }
|
51
57
|
end
|
52
58
|
|
59
|
+
# def extend_base_data
|
60
|
+
# @data[:uid_sym] = @data[:uid_key].tag_key_to_sym
|
61
|
+
# end
|
62
|
+
|
53
63
|
# patch for 2016a source data ...
|
54
64
|
def check_uid_name_for(name, value, type)
|
55
65
|
name = "#{value} #{MISSING_NAME_VALUE}" if (name == MISSING_NAME_VALUE)
|
@@ -24,37 +24,73 @@ require 'spec_helper'
|
|
24
24
|
describe DcmDict::Dictionary::UidDictionary do
|
25
25
|
|
26
26
|
include_examples "Map all source data",
|
27
|
-
[:uid_value, :uid_name],
|
27
|
+
[:uid_value, :uid_name, :uid_key, :uid_sym],
|
28
28
|
DcmDict::SourceData::UidValuesData,
|
29
29
|
DcmDict::Dictionary::TheUidDictionary,
|
30
30
|
DcmDict::Dictionary::UidRecord,
|
31
|
-
[:uid_value, :uid_name, :uid_type]
|
31
|
+
[:uid_value, :uid_name, :uid_key, :uid_sym, :uid_type]
|
32
32
|
|
33
33
|
{
|
34
34
|
'1.2.3.4.5.6' => { :uid_value => '1.2.3.4.5.6',
|
35
|
-
:uid_name => 'Unknown UID',
|
36
|
-
:uid_type => :unknown
|
35
|
+
:uid_name => '1.2.3.4.5.6 (Unknown UID)',
|
36
|
+
:uid_type => :unknown,
|
37
|
+
:uid_key => 'UID_1_2_3_4_5_6',
|
38
|
+
:uid_sym => :uid_1_2_3_4_5_6,
|
39
|
+
},
|
37
40
|
'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
41
|
:uid_name => '1.2.840.10008.5.1.4.1.1.12.77 (Retired)',
|
39
|
-
:
|
42
|
+
:uid_key => 'UID_1_2_840_10008_5_1_4_1_1_12_77',
|
43
|
+
:uid_sym => :uid_1_2_840_10008_5_1_4_1_1_12_77,
|
44
|
+
:uid_type => :sop_class
|
45
|
+
},
|
46
|
+
'1.2.840.10008.5.1.4.1.1.12.77 (Retired)' => { :uid_value => '1.2.840.10008.5.1.4.1.1.12.77',
|
47
|
+
:uid_name => '1.2.840.10008.5.1.4.1.1.12.77 (Retired)',
|
48
|
+
:uid_key => 'UID_1_2_840_10008_5_1_4_1_1_12_77',
|
49
|
+
:uid_sym => :uid_1_2_840_10008_5_1_4_1_1_12_77,
|
50
|
+
:uid_type => :sop_class
|
51
|
+
},
|
52
|
+
'UID_1_2_840_10008_5_1_4_1_1_12_77' => { :uid_value => '1.2.840.10008.5.1.4.1.1.12.77',
|
53
|
+
:uid_name => '1.2.840.10008.5.1.4.1.1.12.77 (Retired)',
|
54
|
+
:uid_key => 'UID_1_2_840_10008_5_1_4_1_1_12_77',
|
55
|
+
:uid_sym => :uid_1_2_840_10008_5_1_4_1_1_12_77,
|
56
|
+
:uid_type => :sop_class
|
57
|
+
},
|
58
|
+
:uid_1_2_840_10008_5_1_4_1_1_12_77 => { :uid_value => '1.2.840.10008.5.1.4.1.1.12.77',
|
59
|
+
:uid_name => '1.2.840.10008.5.1.4.1.1.12.77 (Retired)',
|
60
|
+
:uid_key => 'UID_1_2_840_10008_5_1_4_1_1_12_77',
|
61
|
+
:uid_sym => :uid_1_2_840_10008_5_1_4_1_1_12_77,
|
62
|
+
:uid_type => :sop_class
|
63
|
+
},
|
40
64
|
'1.2.840.10008.5.1.4.1.1.40' => { :uid_value => '1.2.840.10008.5.1.4.1.1.40',
|
41
65
|
:uid_name => '1.2.840.10008.5.1.4.1.1.40 (Retired)',
|
42
|
-
:
|
66
|
+
:uid_key => 'UID_1_2_840_10008_5_1_4_1_1_40',
|
67
|
+
:uid_sym => :uid_1_2_840_10008_5_1_4_1_1_40,
|
68
|
+
:uid_type => :sop_class
|
69
|
+
},
|
43
70
|
'1.2.840.10008.5.1.4.39.3' => { :uid_value => '1.2.840.10008.5.1.4.39.3',
|
44
71
|
:uid_name => 'Color Palette Query/Retrieve Information Model - MOVE',
|
45
|
-
:
|
46
|
-
|
47
|
-
:
|
48
|
-
|
49
|
-
'
|
50
|
-
:uid_name =>
|
51
|
-
:
|
52
|
-
|
53
|
-
:
|
54
|
-
|
55
|
-
'
|
56
|
-
:uid_name =>
|
57
|
-
:
|
72
|
+
:uid_key => 'ColorPaletteQueryRetrieveInformationModelMove',
|
73
|
+
:uid_sym => :color_palette_query_retrieve_information_model_move,
|
74
|
+
:uid_type => :sop_class
|
75
|
+
},
|
76
|
+
'Color Palette Query/Retrieve Information Model - MOVE' => { :uid_value => '1.2.840.10008.5.1.4.39.3',
|
77
|
+
:uid_name => 'Color Palette Query/Retrieve Information Model - MOVE',
|
78
|
+
:uid_key => 'ColorPaletteQueryRetrieveInformationModelMove',
|
79
|
+
:uid_sym => :color_palette_query_retrieve_information_model_move,
|
80
|
+
:uid_type => :sop_class
|
81
|
+
},
|
82
|
+
'ColorPaletteQueryRetrieveInformationModelMove' => { :uid_value => '1.2.840.10008.5.1.4.39.3',
|
83
|
+
:uid_name => 'Color Palette Query/Retrieve Information Model - MOVE',
|
84
|
+
:uid_key => 'ColorPaletteQueryRetrieveInformationModelMove',
|
85
|
+
:uid_sym => :color_palette_query_retrieve_information_model_move,
|
86
|
+
:uid_type => :sop_class
|
87
|
+
},
|
88
|
+
:color_palette_query_retrieve_information_model_move => { :uid_value => '1.2.840.10008.5.1.4.39.3',
|
89
|
+
:uid_name => 'Color Palette Query/Retrieve Information Model - MOVE',
|
90
|
+
:uid_key => 'ColorPaletteQueryRetrieveInformationModelMove',
|
91
|
+
:uid_sym => :color_palette_query_retrieve_information_model_move,
|
92
|
+
:uid_type => :sop_class
|
93
|
+
},
|
58
94
|
}.each do |uid, data|
|
59
95
|
include_examples "Handle specific record", data[:uid_name],
|
60
96
|
uid, data, DcmDict::Dictionary::TheUidDictionary
|
@@ -64,7 +100,7 @@ describe DcmDict::Dictionary::UidDictionary do
|
|
64
100
|
'1.2.abc.3.4', 'this string is not a valid uid', '1.2.3.04.5'
|
65
101
|
].each do |uid|
|
66
102
|
include_examples "Dictionary with wrong key",
|
67
|
-
uid, [:uid_value, :uid_name, :uid_type],
|
103
|
+
uid, [:uid_value, :uid_name, :uid_type, :uid_key, :uid_sym],
|
68
104
|
DcmDict::Dictionary::TheUidDictionary
|
69
105
|
end
|
70
106
|
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# coding: utf-8
|
1
2
|
#
|
2
3
|
# Copyright (C) 2014-2020 Enrico Rivarola
|
3
4
|
#
|
@@ -27,14 +28,17 @@ describe DcmDict::Dictionary::UidRecord do
|
|
27
28
|
[
|
28
29
|
{ uid_value: '1.2.840.10008.1.2',
|
29
30
|
uid_name: "Implicit VR Little Endian: Default Transfer Syntax for DICOM",
|
31
|
+
uid_key: "ImplicitVRLittleEndian",
|
32
|
+
uid_sym: :implicit_vr_little_endian,
|
30
33
|
uid_type: :transfer_syntax }
|
31
34
|
].each do |data|
|
32
|
-
it "Handle Data Element Data correctly" do
|
35
|
+
it "Handle Data Element Data correctly (#{data[:uid_name]})" do
|
33
36
|
ur = DcmDict::Dictionary::UidRecord.new(data.dup)
|
34
37
|
expect(ur.uid_value).to eq(data[:uid_value])
|
35
38
|
expect(ur.uid).to eq(data[:uid_value])
|
36
39
|
expect(ur.uid_name).to eq(data[:uid_name])
|
37
40
|
expect(ur.uid_type).to eq(data[:uid_type])
|
41
|
+
expect(ur.uid_key).to eq(data[:uid_key])
|
38
42
|
end
|
39
43
|
|
40
44
|
|
@@ -42,12 +46,12 @@ describe DcmDict::Dictionary::UidRecord do
|
|
42
46
|
DcmDict::Dictionary::UidRecord.new(data),
|
43
47
|
data
|
44
48
|
|
45
|
-
it "data should be not modifiable" do
|
49
|
+
it "data should be not modifiable (#{data[:uid_name]})" do
|
46
50
|
uid = DcmDict::Dictionary::UidRecord.new(data.dup)
|
47
51
|
old_value = uid.uid_value.dup
|
48
52
|
expect{uid.uid_value << 'aaa'}.to raise_error(RuntimeError)
|
49
53
|
expect(uid.uid_value).to eq(old_value)
|
50
54
|
end
|
51
|
-
|
52
55
|
end
|
56
|
+
|
53
57
|
end
|
@@ -92,7 +92,7 @@ END
|
|
92
92
|
XmlSampleSpecHelper.xml_uid_set.each do |xml_string, data|
|
93
93
|
it "for uid sample as #{data[:uid_value].inspect}" do
|
94
94
|
indent = 4
|
95
|
-
src_text = "#{' '*indent}{ uid_value: '#{data[:uid_value]}', uid_name:
|
95
|
+
src_text = "#{' '*indent}{ uid_value: '#{data[:uid_value]}', uid_name: '#{data[:uid_name]}', uid_key: '#{data[:uid_key]}', uid_sym: #{data[:uid_sym].inspect}, uid_type: #{data[:uid_type].inspect}},"
|
96
96
|
src_line = DcmDict::Encoder::DataToCode.uid_data_to_code(data)
|
97
97
|
expect(src_line).to eq(src_text)
|
98
98
|
src_line = DcmDict::Encoder::DataToCode.uid_data_to_code(data, indent)
|
@@ -26,6 +26,24 @@ require 'spec_helper'
|
|
26
26
|
describe "Hash internal refinement" do
|
27
27
|
using DcmDict::Refine::Internal::HashRefineInternal
|
28
28
|
|
29
|
+
{
|
30
|
+
'1.2.3.4.5.6' => { :uid_value => '1.2.3.4.5.6',
|
31
|
+
:uid_name => '1.2.3.4.5.6 (Unknown UID)',
|
32
|
+
:uid_type => :unknown,
|
33
|
+
:uid_key => 'UID_1_2_3_4_5_6',
|
34
|
+
:uid_sym => :uid_1_2_3_4_5_6,
|
35
|
+
}
|
36
|
+
}.each do |uid_ref, expected_data|
|
37
|
+
it "should check base uid fields for '#{uid_ref}" do
|
38
|
+
data = {uid_value: uid_ref}
|
39
|
+
data.check_base_data_uid_field!
|
40
|
+
expect(data).to eq(expected_data)
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
44
|
+
|
45
|
+
|
46
|
+
|
29
47
|
it "should check for lowercase tag_ps field" do
|
30
48
|
h = {tag_ps: '(fffe,E000)'}
|
31
49
|
h.check_tag_ps!
|
@@ -60,9 +60,9 @@ describe "String refinement" do
|
|
60
60
|
describe "should permit access to single data uid dictionary information" do
|
61
61
|
describe "for regular uids" do
|
62
62
|
[
|
63
|
-
'1.2.840.10008.1.1', "Verification SOP Class",
|
64
|
-
'1.2.840.10008.1.2.1', "Explicit VR Little Endian",
|
65
|
-
'1.2.840.10008.5.1.4.1.2.1.1', "Patient Root Query/Retrieve Information Model - FIND",
|
63
|
+
'1.2.840.10008.1.1', "Verification SOP Class", 'Verification',
|
64
|
+
'1.2.840.10008.1.2.1', "Explicit VR Little Endian", 'ExplicitVRLittleEndian',
|
65
|
+
'1.2.840.10008.5.1.4.1.2.1.1', "Patient Root Query/Retrieve Information Model - FIND", 'PatientRootQueryRetrieveInformationModelFind',
|
66
66
|
'1.2.3.4.5.6'
|
67
67
|
].each do |uid|
|
68
68
|
describe "as #{uid.inspect}" do
|
@@ -38,4 +38,29 @@ describe "Symbol refinement" do
|
|
38
38
|
[],
|
39
39
|
Proc.new {|tag| tag.inspect}
|
40
40
|
|
41
|
+
{
|
42
|
+
:uid_1_2_840_10008_5_1_4_1_1_12_77 => { :uid_value => '1.2.840.10008.5.1.4.1.1.12.77',
|
43
|
+
:uid => '1.2.840.10008.5.1.4.1.1.12.77',
|
44
|
+
:uid_name => '1.2.840.10008.5.1.4.1.1.12.77 (Retired)',
|
45
|
+
:uid_key => 'UID_1_2_840_10008_5_1_4_1_1_12_77',
|
46
|
+
:uid_sym => :uid_1_2_840_10008_5_1_4_1_1_12_77,
|
47
|
+
:uid_type => :sop_class
|
48
|
+
},
|
49
|
+
:color_palette_query_retrieve_information_model_move => { :uid_value => '1.2.840.10008.5.1.4.39.3',
|
50
|
+
:uid => '1.2.840.10008.5.1.4.39.3',
|
51
|
+
:uid_name => 'Color Palette Query/Retrieve Information Model - MOVE',
|
52
|
+
:uid_key => 'ColorPaletteQueryRetrieveInformationModelMove',
|
53
|
+
:uid_sym => :color_palette_query_retrieve_information_model_move,
|
54
|
+
:uid_type => :sop_class
|
55
|
+
},
|
56
|
+
}.each do |sym, sym_data|
|
57
|
+
it "for uid as symbol (#{sym.inspect})" do
|
58
|
+
DcmDict::Dictionary::UidMethod.each do |method|
|
59
|
+
expr = "#{sym.inspect}.#{method.to_s}"
|
60
|
+
expected_value = sym_data[method]
|
61
|
+
value = eval(expr)
|
62
|
+
expect(value).to eq(expected_value)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
41
66
|
end
|
@@ -502,26 +502,33 @@ END
|
|
502
502
|
end
|
503
503
|
|
504
504
|
def self.uid_single_standard
|
505
|
-
|
505
|
+
xml_string=<<END
|
506
506
|
<book xmlns="http://docbook.org/ns/docbook">
|
507
|
-
|
508
|
-
|
509
|
-
|
510
|
-
|
511
|
-
|
512
|
-
|
513
|
-
|
514
|
-
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
|
507
|
+
<tr valign="top">
|
508
|
+
<td align="left" colspan="1" rowspan="1">
|
509
|
+
<para xml:id="para_893becfb-16cd-4300-923d-e422781af211">1.2.840.10008.1.2</para>
|
510
|
+
</td>
|
511
|
+
<td align="left" colspan="1" rowspan="1">
|
512
|
+
<para xml:id="para_ccbbb435-5d2e-4d4d-b2c2-a27a5a762f75">Implicit VR Little Endian: Default Transfer Syntax for DICOM</para>
|
513
|
+
</td>
|
514
|
+
<td align="left" colspan="1" rowspan="1">
|
515
|
+
<para xml:id="para_6871172d-db56-4b45-b5d5-446f82a22c89">ImplicitVRLittleEndian</para>
|
516
|
+
</td>
|
517
|
+
<td align="left" colspan="1" rowspan="1">
|
518
|
+
<para xml:id="para_6e075f3d-2392-4c57-908c-889b50ebcbcd">Transfer Syntax</para>
|
519
|
+
</td>
|
520
|
+
<td align="center" colspan="1" rowspan="1">
|
521
|
+
<para xml:id="para_c2a11bee-08cc-422f-a64c-01dcb4baf73b">
|
522
|
+
<olink targetdoc="PS3.5" targetptr="PS3.5" xrefstyle="select: labelnumber"/>
|
523
|
+
</para>
|
524
|
+
</td>
|
525
|
+
</tr>
|
521
526
|
</book>
|
522
527
|
END
|
523
528
|
data = {uid_value: "1.2.840.10008.1.2",
|
524
529
|
uid_name: "Implicit VR Little Endian: Default Transfer Syntax for DICOM",
|
530
|
+
uid_key: 'ImplicitVRLittleEndian',
|
531
|
+
uid_sym: :implicit_vr_little_endian,
|
525
532
|
uid_type: :transfer_syntax}
|
526
533
|
{xml_string => data}
|
527
534
|
end
|
@@ -529,39 +536,80 @@ END
|
|
529
536
|
def self.uid_sample_retired_noname
|
530
537
|
xml_string=<<END
|
531
538
|
<book xmlns="http://docbook.org/ns/docbook">
|
532
|
-
|
533
|
-
|
534
|
-
|
535
|
-
<emphasis role="italic">1.2.840.10008.5.1.4.1.1.12.77</emphasis>
|
539
|
+
<tr valign="top">
|
540
|
+
<td align="left" colspan="1" rowspan="1">
|
541
|
+
<para xml:id="para_0b48f6f3-b2fe-49cf-a870-c6d3635f4266">
|
542
|
+
<emphasis role="italic">1.2.840.10008.5.1.4.1.1.12.77</emphasis>
|
543
|
+
</para>
|
544
|
+
</td>
|
545
|
+
<td align="left" colspan="1" rowspan="1">
|
546
|
+
<para xml:id="para_6ca19788-eac9-4d90-b754-aaa06bebe9e9">
|
547
|
+
<emphasis role="italic">(Retired)</emphasis>
|
548
|
+
</para>
|
549
|
+
</td>
|
550
|
+
<td align="left" colspan="1" rowspan="1">
|
551
|
+
<para xml:id="para_336821ef-5d70-4332-9b88-f4704825ac91">
|
552
|
+
<emphasis role="italic"/>
|
536
553
|
</para>
|
554
|
+
</td>
|
555
|
+
<td align="left" colspan="1" rowspan="1">
|
556
|
+
<para xml:id="para_ca5d2e50-63ea-4008-80ae-896296e83fdd">
|
557
|
+
<emphasis role="italic">SOP Class</emphasis>
|
558
|
+
</para>
|
559
|
+
</td>
|
560
|
+
<td align="center" colspan="1" rowspan="1">
|
561
|
+
<para xml:id="para_178cccfe-86a2-41a1-b905-70e5fbc5eebf">
|
562
|
+
<emphasis role="italic">(2015c)</emphasis>
|
563
|
+
</para>
|
564
|
+
</td>
|
565
|
+
</tr>
|
566
|
+
</book>
|
567
|
+
END
|
568
|
+
data = {uid_value: "1.2.840.10008.5.1.4.1.1.12.77",
|
569
|
+
uid_name: "1.2.840.10008.5.1.4.1.1.12.77 (Retired)",
|
570
|
+
uid_key: 'UID_1_2_840_10008_5_1_4_1_1_12_77',
|
571
|
+
uid_sym: :uid_1_2_840_10008_5_1_4_1_1_12_77,
|
572
|
+
uid_type: :sop_class}
|
573
|
+
{xml_string => data}
|
574
|
+
end
|
575
|
+
|
576
|
+
def self.uid_standard_sop
|
577
|
+
xml_string=<<END
|
578
|
+
<book xmlns="http://docbook.org/ns/docbook">
|
579
|
+
<tr valign="top">
|
580
|
+
<td align="left" colspan="1" rowspan="1">
|
581
|
+
<para xml:id="para_de68fe97-b7cf-497e-af8f-a653669ac4e4">1.2.840.10008.1.1</para>
|
537
582
|
</td>
|
538
583
|
<td align="left" colspan="1" rowspan="1">
|
539
|
-
<para xml:id="
|
540
|
-
<emphasis role="italic">(Retired)</emphasis>
|
541
|
-
</para>
|
584
|
+
<para xml:id="para_935df29c-2e6c-4d50-aa93-83225337b0ba">Verification SOP Class</para>
|
542
585
|
</td>
|
543
586
|
<td align="left" colspan="1" rowspan="1">
|
544
|
-
<para xml:id="
|
545
|
-
|
546
|
-
|
587
|
+
<para xml:id="para_5b280f39-109f-416f-bbc7-fb65409d9574">Verification</para>
|
588
|
+
</td>
|
589
|
+
<td align="left" colspan="1" rowspan="1">
|
590
|
+
<para xml:id="para_5e8dcea9-7c49-4751-b561-ca8a41698555">SOP Class</para>
|
547
591
|
</td>
|
548
592
|
<td align="center" colspan="1" rowspan="1">
|
549
|
-
<para xml:id="
|
550
|
-
<
|
551
|
-
</para>
|
593
|
+
<para xml:id="para_d37461b4-5537-4bf6-98b1-ded888b9b028">
|
594
|
+
<olink targetdoc="PS3.4" targetptr="PS3.4" xrefstyle="select: labelnumber"/>
|
595
|
+
</para>
|
552
596
|
</td>
|
553
597
|
</tr>
|
598
|
+
|
554
599
|
</book>
|
555
600
|
END
|
556
|
-
data = {uid_value: "1.2.840.10008.
|
557
|
-
uid_name: "
|
601
|
+
data = {uid_value: "1.2.840.10008.1.1",
|
602
|
+
uid_name: "Verification SOP Class",
|
603
|
+
uid_key: 'Verification',
|
604
|
+
uid_sym: :verification,
|
558
605
|
uid_type: :sop_class}
|
559
606
|
{xml_string => data}
|
560
607
|
end
|
561
608
|
|
562
609
|
def self.xml_uid_set
|
563
610
|
{}.merge(uid_single_standard).
|
564
|
-
merge(uid_sample_retired_noname)
|
611
|
+
merge(uid_sample_retired_noname).
|
612
|
+
merge(uid_standard_sop)
|
565
613
|
end
|
566
614
|
|
567
615
|
end
|
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.
|
4
|
+
version: 0.30.0
|
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-
|
11
|
+
date: 2020-10-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
@@ -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.
|
168
|
+
documentation_uri: http://www.rubydoc.info/gems/dcm_dict/0.30.0
|
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:
|
@@ -183,7 +183,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
183
183
|
- !ruby/object:Gem::Version
|
184
184
|
version: '0'
|
185
185
|
requirements: []
|
186
|
-
rubygems_version: 3.1.
|
186
|
+
rubygems_version: 3.1.4
|
187
187
|
signing_key:
|
188
188
|
specification_version: 4
|
189
189
|
summary: A simple way to handle DICOM Data Dictionary
|