dcm_dict 0.17.0 → 0.18.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 +5 -5
- data/CHANGELOG +7 -0
- data/README.md +21 -5
- data/lib/dcm_dict/source_data/data_elements_data.rb +7 -0
- data/lib/dcm_dict/source_data/uid_values_data.rb +1 -0
- data/lib/dcm_dict/version.rb +2 -2
- metadata +9 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: aa71b21de3a019967d8a20fa1b75c8a93c0dcd529093e2be5310f478941544b6
|
4
|
+
data.tar.gz: 2bba9d9b9b646380ddb01cfc4d2982455d9ede25d7dbfbdc4463c5d1066a20d6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 72c89f381472d8a9779b9a0d48478359628e8a6c76509d84404d22c0c65824597562ab4eb7ee4daef8a33644082e729fba2bb62c1d4275c917c8e38fc07fd1cc
|
7
|
+
data.tar.gz: 533375824c5e84adb5cfd77d9f0b826e568656e3c4e936111a4b34666d576c3526ae3dc4cb9be8ea0a0a578c273b1780badd880f2bc9d2730b5a56aba93cf324
|
data/CHANGELOG
CHANGED
data/README.md
CHANGED
@@ -1,13 +1,15 @@
|
|
1
1
|
# What's *DcmDict*
|
2
|
-
**DcmDict** is a Ruby gem (*dcm\_dict*) to handle in a simple way the *Data Dictionary* defined within the
|
2
|
+
**DcmDict** is a Ruby gem [(*dcm\_dict*)][12] to handle in a simple way the *Data Dictionary* defined within the DICOM<sup>®</sup> Standard <sup id='fn-dcm-trademark'>[1]</sup> such as DICOM Data Elements or DICOM Unique Identifiers.
|
3
3
|
|
4
4
|
# Why *DcmDict*
|
5
5
|
With the new releases from year 2014 DICOM documents are available in different format including one particularly interesting, the *DocBook* XML version.
|
6
6
|
|
7
|
-
As D. Clunie writes on
|
8
|
-
|
7
|
+
As D. Clunie writes on his web site in the [DICOM Standard Status page][2]:
|
9
8
|
> "... other formats (such as DocBook, HTML, Word and ODT) are also made available for the convenience of implementors who may need to extract machine-readable content, ..."
|
10
9
|
|
10
|
+
This is confirmed in the DICOM<sup>®</sup> Standard [web site][10] where each part is published in [multiple formats][11] and the XML format is defined:
|
11
|
+
>"... good for machine readability, e.g. self-updating validators ..."
|
12
|
+
|
11
13
|
This is great news for anyone involved in the study of the standard !
|
12
14
|
|
13
15
|
Starting from this thing was born the idea of trying to automate the extraction of data from XML documents to make available the information in a simple way that simplifies the study of the DICOM standard, in the hope this idea will be useful and inspiration.
|
@@ -270,7 +272,7 @@ Note: the script use the [Nokogiri][3] as XML parser if installed as gem, otherw
|
|
270
272
|
Check the file for other details.
|
271
273
|
|
272
274
|
## Note
|
273
|
-
Current library version is aligned to *DICOM Base Standard* **
|
275
|
+
Current library version is aligned to *DICOM Base Standard* **2018b**
|
274
276
|
|
275
277
|
## Install
|
276
278
|
|
@@ -302,8 +304,19 @@ Ruby gem **dcm\_dict** on [RubyGems][9] at [rubygems.org/gems/dcm_dict](https://
|
|
302
304
|
## Source Code
|
303
305
|
Main source code repository on github at [henrythebuilder/dcm_dict](https://github.com/henrythebuilder/dcm_dict)
|
304
306
|
|
307
|
+
<div class="footnotes">
|
308
|
+
<hr />
|
309
|
+
<ol>
|
310
|
+
<li id="fn1-dcm-trademark">
|
311
|
+
<p><a href="http://www.dicomstandard.org/" title="DICOM Standard">DICOM<sup>®</sup></a> is the registered trademark of the National Electrical Manufacturers Association for its standards publications relating to digital communications of medical information.
|
312
|
+
<a href="#fn-dcm-trademark" class='footnoteBackLink' title="Jump back to footnote 1 in the text.">↩︎</a></p>
|
313
|
+
</li>
|
314
|
+
</ol>
|
315
|
+
</div>
|
316
|
+
|
317
|
+
[1]: #fn1-dcm-trademark
|
305
318
|
|
306
|
-
[
|
319
|
+
[dcm1]: http://medical.nema.org/dicom/ "DICOM Homepage"
|
307
320
|
[2]: http://www.dclunie.com/dicom-status/status.html "DICOM Standard Status"
|
308
321
|
[3]: http://nokogiri.org/ "Nokogiri"
|
309
322
|
[4]: http://rubini.us/ "Rubinius"
|
@@ -312,3 +325,6 @@ Main source code repository on github at [henrythebuilder/dcm_dict](https://gith
|
|
312
325
|
[7]: http://rubyinstaller.org/ "The easy way to install Ruby on Windows"
|
313
326
|
[8]: https://github.com/oneclick/rubyinstaller "RubyInstaller for Windows"
|
314
327
|
[9]: https://rubygems.org/
|
328
|
+
[10]: http://www.dicomstandard.org/
|
329
|
+
[11]: http://www.dicomstandard.org/current/
|
330
|
+
[12]: https://rubygems.org/gems/dcm_dict
|
@@ -2260,6 +2260,7 @@ HIGH = 0001H'},
|
|
2260
2260
|
{ tag_ps: '(0040,0612)', tag_name: "Specimen Preparation Step Content Item Sequence", tag_key: 'SpecimenPreparationStepContentItemSequence', tag_vr: [:SQ], tag_vm: ["1"], tag_str: '(0040,0612)', tag_sym: :specimen_preparation_step_content_item_sequence, tag_ndm: '00400612', tag_ary: [0x0040,0x0612], tag_multiple: false, tag_note: ''},
|
2261
2261
|
{ tag_ps: '(0040,0620)', tag_name: "Specimen Localization Content Item Sequence", tag_key: 'SpecimenLocalizationContentItemSequence', tag_vr: [:SQ], tag_vm: ["1"], tag_str: '(0040,0620)', tag_sym: :specimen_localization_content_item_sequence, tag_ndm: '00400620', tag_ary: [0x0040,0x0620], tag_multiple: false, tag_note: ''},
|
2262
2262
|
{ tag_ps: '(0040,06FA)', tag_name: "Slide Identifier", tag_key: 'SlideIdentifier', tag_vr: [:LO], tag_vm: ["1"], tag_str: '(0040,06FA)', tag_sym: :slide_identifier, tag_ndm: '004006FA', tag_ary: [0x0040,0x06FA], tag_multiple: false, tag_note: 'RET'},
|
2263
|
+
{ tag_ps: '(0040,0710)', tag_name: "Whole Slide Microscopy Image Frame Type Sequence", tag_key: 'WholeSlideMicroscopyImageFrameTypeSequence', tag_vr: [:SQ], tag_vm: ["1"], tag_str: '(0040,0710)', tag_sym: :whole_slide_microscopy_image_frame_type_sequence, tag_ndm: '00400710', tag_ary: [0x0040,0x0710], tag_multiple: false, tag_note: ''},
|
2263
2264
|
{ tag_ps: '(0040,071A)', tag_name: "Image Center Point Coordinates Sequence", tag_key: 'ImageCenterPointCoordinatesSequence', tag_vr: [:SQ], tag_vm: ["1"], tag_str: '(0040,071A)', tag_sym: :image_center_point_coordinates_sequence, tag_ndm: '0040071A', tag_ary: [0x0040,0x071A], tag_multiple: false, tag_note: ''},
|
2264
2265
|
{ tag_ps: '(0040,072A)', tag_name: "X Offset in Slide Coordinate System", tag_key: 'XOffsetInSlideCoordinateSystem', tag_vr: [:DS], tag_vm: ["1"], tag_str: '(0040,072A)', tag_sym: :x_offset_in_slide_coordinate_system, tag_ndm: '0040072A', tag_ary: [0x0040,0x072A], tag_multiple: false, tag_note: ''},
|
2265
2266
|
{ tag_ps: '(0040,073A)', tag_name: "Y Offset in Slide Coordinate System", tag_key: 'YOffsetInSlideCoordinateSystem', tag_vr: [:DS], tag_vm: ["1"], tag_str: '(0040,073A)', tag_sym: :y_offset_in_slide_coordinate_system, tag_ndm: '0040073A', tag_ary: [0x0040,0x073A], tag_multiple: false, tag_note: ''},
|
@@ -2307,6 +2308,7 @@ HIGH = 0001H'},
|
|
2307
2308
|
{ tag_ps: '(0040,4005)', tag_name: "Scheduled Procedure Step Start DateTime", tag_key: 'ScheduledProcedureStepStartDateTime', tag_vr: [:DT], tag_vm: ["1"], tag_str: '(0040,4005)', tag_sym: :scheduled_procedure_step_start_date_time, tag_ndm: '00404005', tag_ary: [0x0040,0x4005], tag_multiple: false, tag_note: ''},
|
2308
2309
|
{ tag_ps: '(0040,4006)', tag_name: "Multiple Copies Flag", tag_key: 'MultipleCopiesFlag', tag_vr: [:CS], tag_vm: ["1"], tag_str: '(0040,4006)', tag_sym: :multiple_copies_flag, tag_ndm: '00404006', tag_ary: [0x0040,0x4006], tag_multiple: false, tag_note: 'RET'},
|
2309
2310
|
{ tag_ps: '(0040,4007)', tag_name: "Performed Processing Applications Code Sequence", tag_key: 'PerformedProcessingApplicationsCodeSequence', tag_vr: [:SQ], tag_vm: ["1"], tag_str: '(0040,4007)', tag_sym: :performed_processing_applications_code_sequence, tag_ndm: '00404007', tag_ary: [0x0040,0x4007], tag_multiple: false, tag_note: 'RET'},
|
2311
|
+
{ tag_ps: '(0040,4008)', tag_name: "Scheduled Procedure Step Expiration DateTime", tag_key: 'ScheduledProcedureStepExpirationDateTime', tag_vr: [:DT], tag_vm: ["1"], tag_str: '(0040,4008)', tag_sym: :scheduled_procedure_step_expiration_date_time, tag_ndm: '00404008', tag_ary: [0x0040,0x4008], tag_multiple: false, tag_note: ''},
|
2310
2312
|
{ tag_ps: '(0040,4009)', tag_name: "Human Performer Code Sequence", tag_key: 'HumanPerformerCodeSequence', tag_vr: [:SQ], tag_vm: ["1"], tag_str: '(0040,4009)', tag_sym: :human_performer_code_sequence, tag_ndm: '00404009', tag_ary: [0x0040,0x4009], tag_multiple: false, tag_note: ''},
|
2311
2313
|
{ tag_ps: '(0040,4010)', tag_name: "Scheduled Procedure Step Modification DateTime", tag_key: 'ScheduledProcedureStepModificationDateTime', tag_vr: [:DT], tag_vm: ["1"], tag_str: '(0040,4010)', tag_sym: :scheduled_procedure_step_modification_date_time, tag_ndm: '00404010', tag_ary: [0x0040,0x4010], tag_multiple: false, tag_note: ''},
|
2312
2314
|
{ tag_ps: '(0040,4011)', tag_name: "Expected Completion DateTime", tag_key: 'ExpectedCompletionDateTime', tag_vr: [:DT], tag_vm: ["1"], tag_str: '(0040,4011)', tag_sym: :expected_completion_date_time, tag_ndm: '00404011', tag_ary: [0x0040,0x4011], tag_multiple: false, tag_note: ''},
|
@@ -2626,6 +2628,8 @@ HIGH = 0001H'},
|
|
2626
2628
|
{ tag_ps: '(0048,021E)', tag_name: "Column Position In Total Image Pixel Matrix", tag_key: 'ColumnPositionInTotalImagePixelMatrix', tag_vr: [:SL], tag_vm: ["1"], tag_str: '(0048,021E)', tag_sym: :column_position_in_total_image_pixel_matrix, tag_ndm: '0048021E', tag_ary: [0x0048,0x021E], tag_multiple: false, tag_note: ''},
|
2627
2629
|
{ tag_ps: '(0048,021F)', tag_name: "Row Position In Total Image Pixel Matrix", tag_key: 'RowPositionInTotalImagePixelMatrix', tag_vr: [:SL], tag_vm: ["1"], tag_str: '(0048,021F)', tag_sym: :row_position_in_total_image_pixel_matrix, tag_ndm: '0048021F', tag_ary: [0x0048,0x021F], tag_multiple: false, tag_note: ''},
|
2628
2630
|
{ tag_ps: '(0048,0301)', tag_name: "Pixel Origin Interpretation", tag_key: 'PixelOriginInterpretation', tag_vr: [:CS], tag_vm: ["1"], tag_str: '(0048,0301)', tag_sym: :pixel_origin_interpretation, tag_ndm: '00480301', tag_ary: [0x0048,0x0301], tag_multiple: false, tag_note: ''},
|
2631
|
+
{ tag_ps: '(0048,0302)', tag_name: "Number of Optical Paths", tag_key: 'NumberOfOpticalPaths', tag_vr: [:UL], tag_vm: ["1"], tag_str: '(0048,0302)', tag_sym: :number_of_optical_paths, tag_ndm: '00480302', tag_ary: [0x0048,0x0302], tag_multiple: false, tag_note: ''},
|
2632
|
+
{ tag_ps: '(0048,0303)', tag_name: "Total Pixel Matrix Focal Planes", tag_key: 'TotalPixelMatrixFocalPlanes', tag_vr: [:UL], tag_vm: ["1"], tag_str: '(0048,0303)', tag_sym: :total_pixel_matrix_focal_planes, tag_ndm: '00480303', tag_ary: [0x0048,0x0303], tag_multiple: false, tag_note: ''},
|
2629
2633
|
{ tag_ps: '(0050,0004)', tag_name: "Calibration Image", tag_key: 'CalibrationImage', tag_vr: [:CS], tag_vm: ["1"], tag_str: '(0050,0004)', tag_sym: :calibration_image, tag_ndm: '00500004', tag_ary: [0x0050,0x0004], tag_multiple: false, tag_note: ''},
|
2630
2634
|
{ tag_ps: '(0050,0010)', tag_name: "Device Sequence", tag_key: 'DeviceSequence', tag_vr: [:SQ], tag_vm: ["1"], tag_str: '(0050,0010)', tag_sym: :device_sequence, tag_ndm: '00500010', tag_ary: [0x0050,0x0010], tag_multiple: false, tag_note: ''},
|
2631
2635
|
{ tag_ps: '(0050,0012)', tag_name: "Container Component Type Code Sequence", tag_key: 'ContainerComponentTypeCodeSequence', tag_vr: [:SQ], tag_vm: ["1"], tag_str: '(0050,0012)', tag_sym: :container_component_type_code_sequence, tag_ndm: '00500012', tag_ary: [0x0050,0x0012], tag_multiple: false, tag_note: ''},
|
@@ -2921,6 +2925,9 @@ HIGH = 0001H'},
|
|
2921
2925
|
{ tag_ps: '(0068,65F0)', tag_name: "2D Plane Intersection", tag_key: 'TwoDPlaneIntersection', tag_vr: [:FD], tag_vm: ["4"], tag_str: '(0068,65F0)', tag_sym: :two_d_plane_intersection, tag_ndm: '006865F0', tag_ary: [0x0068,0x65F0], tag_multiple: false, tag_note: ''},
|
2922
2926
|
{ tag_ps: '(0068,6610)', tag_name: "3D Plane Origin", tag_key: 'ThreeDPlaneOrigin', tag_vr: [:FD], tag_vm: ["3"], tag_str: '(0068,6610)', tag_sym: :three_d_plane_origin, tag_ndm: '00686610', tag_ary: [0x0068,0x6610], tag_multiple: false, tag_note: ''},
|
2923
2927
|
{ tag_ps: '(0068,6620)', tag_name: "3D Plane Normal", tag_key: 'ThreeDPlaneNormal', tag_vr: [:FD], tag_vm: ["3"], tag_str: '(0068,6620)', tag_sym: :three_d_plane_normal, tag_ndm: '00686620', tag_ary: [0x0068,0x6620], tag_multiple: false, tag_note: ''},
|
2928
|
+
{ tag_ps: '(0068,7001)', tag_name: "Model Modification", tag_key: 'ModelModification', tag_vr: [:CS], tag_vm: ["1"], tag_str: '(0068,7001)', tag_sym: :model_modification, tag_ndm: '00687001', tag_ary: [0x0068,0x7001], tag_multiple: false, tag_note: ''},
|
2929
|
+
{ tag_ps: '(0068,7002)', tag_name: "Model Mirroring", tag_key: 'ModelMirroring', tag_vr: [:CS], tag_vm: ["1"], tag_str: '(0068,7002)', tag_sym: :model_mirroring, tag_ndm: '00687002', tag_ary: [0x0068,0x7002], tag_multiple: false, tag_note: ''},
|
2930
|
+
{ tag_ps: '(0068,7003)', tag_name: "Model Usage Code Sequence", tag_key: 'ModelUsageCodeSequence', tag_vr: [:SQ], tag_vm: ["1"], tag_str: '(0068,7003)', tag_sym: :model_usage_code_sequence, tag_ndm: '00687003', tag_ary: [0x0068,0x7003], tag_multiple: false, tag_note: ''},
|
2924
2931
|
{ tag_ps: '(0070,0001)', tag_name: "Graphic Annotation Sequence", tag_key: 'GraphicAnnotationSequence', tag_vr: [:SQ], tag_vm: ["1"], tag_str: '(0070,0001)', tag_sym: :graphic_annotation_sequence, tag_ndm: '00700001', tag_ary: [0x0070,0x0001], tag_multiple: false, tag_note: ''},
|
2925
2932
|
{ tag_ps: '(0070,0002)', tag_name: "Graphic Layer", tag_key: 'GraphicLayer', tag_vr: [:CS], tag_vm: ["1"], tag_str: '(0070,0002)', tag_sym: :graphic_layer, tag_ndm: '00700002', tag_ary: [0x0070,0x0002], tag_multiple: false, tag_note: ''},
|
2926
2933
|
{ tag_ps: '(0070,0003)', tag_name: "Bounding Box Annotation Units", tag_key: 'BoundingBoxAnnotationUnits', tag_vr: [:CS], tag_vm: ["1"], tag_str: '(0070,0003)', tag_sym: :bounding_box_annotation_units, tag_ndm: '00700003', tag_ary: [0x0070,0x0003], tag_multiple: false, tag_note: ''},
|
@@ -287,6 +287,7 @@ module DcmDict
|
|
287
287
|
{ uid_value: '1.2.840.10008.5.1.4.1.1.90.1', uid_name: "Content Assessment Results Storage", uid_type: :sop_class},
|
288
288
|
{ uid_value: '1.2.840.10008.5.1.4.1.1.104.1', uid_name: "Encapsulated PDF Storage", uid_type: :sop_class},
|
289
289
|
{ uid_value: '1.2.840.10008.5.1.4.1.1.104.2', uid_name: "Encapsulated CDA Storage", uid_type: :sop_class},
|
290
|
+
{ uid_value: '1.2.840.10008.5.1.4.1.1.104.3', uid_name: "Encapsulated STL Storage", uid_type: :sop_class},
|
290
291
|
{ uid_value: '1.2.840.10008.5.1.4.1.1.128', uid_name: "Positron Emission Tomography Image Storage", uid_type: :sop_class},
|
291
292
|
{ uid_value: '1.2.840.10008.5.1.4.1.1.128.1', uid_name: "Legacy Converted Enhanced PET Image Storage", uid_type: :sop_class},
|
292
293
|
{ uid_value: '1.2.840.10008.5.1.4.1.1.129', uid_name: "Standalone PET Curve Storage (Retired)", uid_type: :sop_class},
|
data/lib/dcm_dict/version.rb
CHANGED
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.18.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: 2018-
|
11
|
+
date: 2018-04-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
@@ -162,7 +162,12 @@ files:
|
|
162
162
|
homepage: http://rubygems.org/gems/dcm_dict
|
163
163
|
licenses:
|
164
164
|
- GPL-3.0+
|
165
|
-
metadata:
|
165
|
+
metadata:
|
166
|
+
bug_tracker_uri: https://github.com/henrythebuilder/dcm_dict/issues
|
167
|
+
changelog_uri: https://github.com/henrythebuilder/dcm_dict/blob/master/CHANGELOG
|
168
|
+
documentation_uri: http://www.rubydoc.info/gems/dcm_dict/0.18.0
|
169
|
+
homepage_uri: http://rubygems.org/gems/dcm_dict
|
170
|
+
source_code_uri: https://github.com/henrythebuilder/dcm_dict
|
166
171
|
post_install_message:
|
167
172
|
rdoc_options: []
|
168
173
|
require_paths:
|
@@ -179,7 +184,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
179
184
|
version: '0'
|
180
185
|
requirements: []
|
181
186
|
rubyforge_project:
|
182
|
-
rubygems_version: 2.6
|
187
|
+
rubygems_version: 2.7.6
|
183
188
|
signing_key:
|
184
189
|
specification_version: 4
|
185
190
|
summary: A simple way to handle DICOM Data Dictionary
|