dcm_dict 0.29.0 → 0.30.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|