module DcmDict::Refine::Internal::StringRefineInternal
Public Instance Methods
Source
# File lib/dcm_dict/refine/internal/string_refine_internal.rb, line 124 def check_dicom_tag return true if (/^[0-9|A-F]{8}$/.match(self) || /^[\(][0-9a-fA-F]{4}[\)\,\(][0-9a-fA-F]{4}\)$/.match(self)) raise "wrong value for tag #{self.inspect}" end
Source
# File lib/dcm_dict/refine/internal/string_refine_internal.rb, line 33 def dcm_unspace zero_width_space = "\u200B" self.gsub(zero_width_space, '').strip end
Remove zero width spaces (-> “”) and leading/trailing whitespace
Source
# File lib/dcm_dict/refine/internal/string_refine_internal.rb, line 114 def group_length_tag? tag_element_num == 0 end
Check for group length tag
Source
# File lib/dcm_dict/refine/internal/string_refine_internal.rb, line 119 def private_creator_tag? (tag_group_num.odd? && (tag_element_num < 0xff)) end
Check for private creator tag
Source
# File lib/dcm_dict/refine/internal/string_refine_internal.rb, line 70 def tag_element_num tag_element_str.hex end
Tag element as number
Source
# File lib/dcm_dict/refine/internal/string_refine_internal.rb, line 80 def tag_element_str self.to_tag_ndm[4..7] end
Tag element as string
Source
# File lib/dcm_dict/refine/internal/string_refine_internal.rb, line 65 def tag_group_num tag_group_str.hex end
Tag group as number
Source
# File lib/dcm_dict/refine/internal/string_refine_internal.rb, line 75 def tag_group_str self.to_tag_ndm[0..3] end
Tag group as string
Source
# File lib/dcm_dict/refine/internal/string_refine_internal.rb, line 39 def tag_key_to_sym self.gsub('IDs', 'IDS'). gsub('3D', '_3D'). gsub('RTROI', 'RT_ROI'). gsub('DVHROI', 'DVH_ROI'). gsub('OCTZ', 'OCT_Z'). gsub('WADORS', 'WADO_RS'). gsub('STOWRS', 'STOW_RS'). gsub('CIExy', 'CIEXY'). gsub('RGBLUT', 'RGB_LUT'). gsub('VOILUT', 'VOI_LUT'). gsub('CTDIvol', 'CTDIVol'). gsub('XAXRF', 'XA_XRF'). gsub('CurrentInuA', 'Current_in_ua_'). gsub('TimeInuS', 'Time_in_us'). gsub('ExposureInuAs', 'Exposure_in_uas_'). gsub('dBdt', '_db_dt_'). gsub(/([A-Z])([a-z])/,'_\1\2'). gsub(/([a-z])([A-Z])/,'\1_\2'). gsub(/\A_/,''). gsub(/_\z/,''). downcase. to_sym end
Convert tag key to tag symbol -> ‘PatientName’ -> :patient_name
Source
# File lib/dcm_dict/refine/internal/string_refine_internal.rb, line 91 def to_tag_ary [tag_group_num, tag_element_num] end
Tag as array (‘(0010,0010)’ -> [0x0010, 0x0010])
Source
# File lib/dcm_dict/refine/internal/string_refine_internal.rb, line 85 def to_tag_ndm check_dicom_tag self.gsub(/[\(|\),]/, '').upcase end
Tag as Native Dicom Model tag (‘(0010,0010)’ -> ‘00100010’)
Source
# File lib/dcm_dict/refine/internal/string_refine_internal.rb, line 96 def to_tag_str "(#{tag_group_str},#{tag_element_str})" end
Tag as string (‘00100010’/‘(0010,0010)’ -> ‘(0010,0010)’)
Source
# File lib/dcm_dict/refine/internal/string_refine_internal.rb, line 101 def uid_type_to_sym self.gsub(/[ -\/]/, '_'). downcase. to_sym end
Convert uid type to symbol
Source
# File lib/dcm_dict/refine/internal/string_refine_internal.rb, line 108 def uid_value? (self.length <= 64) && (/^(([0-9][\.])|([1-9][0-9]*[\.]))*(([0-9])|([1-9][0-9]*))$/.match(self) != nil) end
Check for valid uid value