def native(data, format = segyio.SegySampleFormat.IBM_FLOAT_4_BYTE, copy = True): """ Convert numpy array to native float :type data: numpy.ndarray :type format: int|segyio.SegySampleFormat :type copy: bool :rtype: numpy.ndarray Converts a numpy array from raw segy trace data to native floats. Works for numpy ndarrays. Examples: Convert mmap'd trace to native float: >>> d = np.memmap('file.sgy', offset = 3600, dtype = np.uintc) >>> samples = 1500 >>> trace = segyio.tools.native(d[240:240+samples]) """ data = data.view( dtype = np.single ) if copy: data = np.copy( data ) format = int(segyio.SegySampleFormat(format)) return segyio._segyio.native(data, format)
def native(data, format = segyio.SegySampleFormat.IBM_FLOAT_4_BYTE, copy = True): """Convert numpy array to native float Converts a numpy array from raw segy trace data to native floats. Works for numpy ndarrays. Parameters ---------- data : numpy.ndarray format : int or segyio.SegySampleFormat copy : bool If True, convert on a copy, and leave the input array unmodified Returns ------- data : numpy.ndarray Notes ----- .. versionadded:: 1.1 Examples -------- Convert mmap'd trace to native float: >>> d = np.memmap('file.sgy', offset = 3600, dtype = np.uintc) >>> samples = 1500 >>> trace = segyio.tools.native(d[240:240+samples]) """ data = data.view( dtype = np.single ) if copy: data = np.copy( data ) format = int(segyio.SegySampleFormat(format)) return segyio._segyio.native(data, format)