Method: DICOM::DClient#find_series

Defined in:
lib/dicom/d_client.rb

#find_series(query_params = {}) ⇒ Object

Note:

Caution: Calling this method without parameters will instruct your PACS to return info on ALL series in the database!

Queries a service class provider for series that match the specified criteria.

Instance level attributes for this query:

  • ‘0008,0060’ (Modality)

  • ‘0020,000E’ (Series Instance UID)

  • ‘0020,0011’ (Series Number)

In addition to the above listed attributes, a number of “optional” attributes may be specified. For a general list of optional object instance level attributes, please refer to the DICOM standard, PS3.4 C.6.1.1.4, Table C.6-3.

Examples:

Find all series belonging to the given study

node.find_series('0020,000D' => '1.2.840.1145.342')

Parameters:

  • query_params (Hash) (defaults to: {})

    the query parameters to use

Options Hash (query_params):

  • 'GGGG,EEEE' (String)

    a tag and value pair to be used in the query



177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
# File 'lib/dicom/d_client.rb', line 177

def find_series(query_params={})
  # Study Root Query/Retrieve Information Model - FIND:

  set_default_presentation_context("1.2.840.10008.5.1.4.1.2.2.1")
  # Every query attribute with a value != nil (required) will be sent in the dicom query.

  # The query parameters with nil-value (optional) are left out unless specified.

  default_query_params = {
    "0008,0052" => "SERIES", # Query/Retrieve Level: "SERIES"

    "0008,0060" => "", # Modality

    "0020,000E" => "", # Series Instance UID

    "0020,0011" => "" # Series Number

  }
  # Raising an error if a non-tag query attribute is used:

  query_params.keys.each do |tag|
    raise ArgumentError, "The supplied tag (#{tag}) is not valid. It must be a string of the form 'GGGG,EEEE'." unless tag.is_a?(String) && tag.tag?
  end
  # Set up the query parameters and carry out the C-FIND:

  set_data_elements(default_query_params.merge(query_params))
  perform_find
  return @data_results
end