Class: DicomS::IdentityTransfer

Inherits:
FixedTransfer show all
Defined in:
lib/dicoms/transfer.rb

Overview

Preserve internal values. Can be used with the output: :unsinged option to convert signed values to unsinged.

Constant Summary

Constants inherited from Transfer

Transfer::FLOAT_MAPPING, Transfer::USE_DATA

Instance Method Summary collapse

Methods inherited from RangeTransfer

#min_max_rescaled?, #processed_data

Methods inherited from Transfer

#image, min_max_limits, #min_max_limits, #pixels, strategy

Methods included from Support

#assign_dicom_pixels, #cast_metadata, #decode_vector, #define_transfer, #dicom?, #dicom_bit_depth, #dicom_compression, #dicom_element_value, #dicom_name_pattern, #dicom_narray, #dicom_rescale_intercept, #dicom_rescale_slope, #dicom_signed?, #dicom_stored_bits, #dicom_window_center, #dicom_window_width, #encode_vector, #find_dicom_files, #keeping_path, #normalized_path, #output_file_name, #pixel_value_range, #single_dicom_metadata

Constructor Details

#initialize(options = {}) ⇒ IdentityTransfer

Returns a new instance of IdentityTransfer.



318
319
320
# File 'lib/dicoms/transfer.rb', line 318

def initialize(options = {})
  super options
end

Instance Method Details

#map_to_output(dicom, data, min, max) ⇒ Object



326
327
328
329
330
331
332
333
334
335
336
337
# File 'lib/dicoms/transfer.rb', line 326

def map_to_output(dicom, data, min, max)
  if @rescale
    intercept = dicom_rescale_intercept(dicom)
    slope = dicom_rescale_slope(dicom)
    if slope != 1 || intercept != 0
      return super
    end
  end
  data = dicom_narray(dicom)
  data.add! -min if min < 0
  data
end

#min_max(sequence) ⇒ Object



322
323
324
# File 'lib/dicoms/transfer.rb', line 322

def min_max(sequence)
  min_max_limits(sequence.first)
end