Tags: achaikou/segyio
Tags
Merge pull request equinor#319 from jokva/seismic-unix-support Seismic unix support
Version 1.7.0 * segyio has learned to open non-ascii file paths on Windows * Fixed an issue where segyio-catr would sometimes print the same trace twice * segyio no longer incorrectly considers files where the inline/crossline/offset triple doesn't change sorted * The test suite has seen some overhaul, making test cases more focused on the actual thing to test * Checking sorting won't silently fail when the offset-word is broken * `f.text` is now a Sequence, meaning it has slicing and other common array operations * The makefiles no longer build both static and shared libraries, but rather respect the BUILD_SHARED_LIBS variable * Python 3.7 support * Various refactoring and internal improvements
Version 1.6.0 * segyio has learned to handle int16 and int32 sample formats * segyio has learned to write any array_likes with any float-convertible contents. `f.trace = np.linspace(0, 1, 0.01)` works as expected. * segyio types have been extended to be more container-like, and conform to more protocols. Notably, headers and lines are properly dict_like, and traces are properly array_like * `trace.ref` added, a write-back mode where changes to yielded trace data are written back to disk * `trace.raw` has been improved, is faster and supports setitem and the container protocol * Headers have learned to accept (seismic unix) keywords in `update`, so `header.update(cdpx=10)` works as expected * `f.dtype` added, this is the dtype used in all segyio-provided numpy arrays, and reflects the underlying data format * `f.readonly` added, to query if file handles are writable * segyio gracefully handle non-contiguous and more array_likes in setitem * The type requirements of `f.samples` has been relaxed, and it now is whatever numpy uses as default * segyio now assumes IBM float if the format identifier is meaningless * Some exception types are cleaned up, notably header key misses raise KeyError, not IndexError * General speed and clarity improvements, some more exception guarantees * segyio has learned to raise an error when provided with too short data traces * segyio has started raising deprecation warnings when using to-be-removed features * The python library has overall been simplified * Lots of new documentation has been written, the sphinx docs structure has been overhauled
Version 1.5.3 * segyio-catr has learned to handle no arguments, and as a results read the first trace header as intended * segyio-catr has its help text and man page corrected * segyio-crop has learned to say how many traces it copies * segyio-crop has learned to warn when no traces are copied * segyio-crop has learned not to overwrite its input file when source and dest is the same * The makefiles understand the BUILD_DOC option, to build the python docs with sphinx * Test suite has some speed and robustness improvements
Version 1.5.2 * `open` and `create` handle anything string-convertible as filename argument * pytest replaces unittest, both as library and test driver * segyio-crop now respects the byte-offset arguments, instead of just ignoring them and using 189 & 193 from SEG-Y revision 1 * Some errors in readme and documentation is cleared up * Fixed a bug in create that would trigger 16-bit integer overflow, effectively breaking any file with more than 65k traces.
Version 1.5.0 * A bug making an external text header disappear has been fixed * The python extension has been changed to use C++ features, simplifying code and dropping the use of capsules * segyio-cath sets non-zero status code on failures * Application testing is moved from python to cmake, giving a large speedup * The IndexError message when accessing headers out-of-range has been improved * Some work has been moved from python into the extension * Error messages in python have received an overhaul * Errors produced when memory-mapping files are made consistent with fstream sourced errors
Help delocate find dylibs on OS X on travis delocate is used to build wheels on travis, and the logic that looks up run-time dependencies could not figure out where the correct .dylib was from @rpath/libsegyio.1.dylib. This is apparently expected behaviour. From delocate's readme: > where the first line is the install name id that the linker picked up > when linking myext.so to libme.dylib. You job is to fix the build > process so that libme.dylib has install name id /path/to/libme.dylib. > This is not a problem specific to delocate; you will need to do this > to make sure that myext.so can load libme.dylib without libme.dylib > being in the current working directory. For CMAKE builds you may want > to check out CMAKE_INSTALL_NAME_DIR. https://pypi.python.org/pypi/delocate By passing CMAKE_INSTALL_NAME_DIR to cmake (which does nothing on linux as far as I'm aware), multibuild is able to pick up the correct dylib and build it into the wheel.
PreviousNext