All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning and and human-readable changelog.
- Support for Numpy 2
- Builds for Python 3.13
- Replaced
imghdr
usage isOPUSFile()
now handles empty files properly
- Support for Python < 3.9
- Map files with aborted (incomplete) grid scans can now be read
- Support for dual-channel files
- OpusDict() which returns a comprehensive parameter key -> lower_case_string dictionary (courtesy Jacob Filik)
- Leaving paramDict() for backwards compatibility
- Python 3.6 builds
- Python 3.10 builds
- Work around for files with un-annotated visible images
- Work around for files with visible image directory errors
- Optics parameters in .parameters dict
- More flexible with string annotation data types
- Visible image extraction bug
- Emits RuntimeWarning instead of raising a ValueError if annotation data type not known
Build updates.
- Python 3.9 builds
- manylinux wheels now support manylinux1, manylinux2010, manylinux2_5, manylinux2_12
- manylinux_i686 wheels no longer published.
- Add annotation data type 1002
- Python 3.8 builds
- Python 3.5 builds
- Visible image extraction for files with lots of visible images
- Accept more string encodings, best effort on fail
The I can see clearly now release.
- Visible images can now be extracted with
getVisImages
.
- Documentation now hosted at https://stuart-cls.github.io/python-opusfc-dist/
- Python 2.7, 3.4 builds
- 3D-TRS (time-resolved) files without "Z Axis Label" parameter can now be loaded.
- Loading issue for some processed 3D-IMAGE files.
- Python 3.7 builds
- Fix annotated map reading for files generated by Opus 6.5
- Fix datablock list generation for extra-large 3D Image files NOTE: This filetype cannot be opened in 32-bit Windows builds
- 3D-MAP multiregion arbitrary map files (
MultiRegionDataReturn
) which contain point groups where the points are arbitrary locations (not a grid or a linescan) are now properly loaded- Multiregion: handle non-standard point group ordering
- Multiregion: handle annotations for files with multiple visible images
The 3D blocks that aren't hyperspectral cubes release.
- Support for 3D-MAP multiregion arbitrary map files
- Support for 3D-TRS Time-resolved spectra files
- Object returned by
.getOpusData
is now a DataReturn class specific to that data type. This allows consumers to easily determine data structure usingtype(dataObject)
instead of guessing. Object structure for previously supported files remains the same, so should be backwards compatible.
TRARI
blocks are no longer mis-identified asTRC
blocks by.listContents
First pypi.org release.
- Basic test suite
- Docstrings
- Sphinx based documentation
.paramDict
provides natural-language translation of three-letter parameter codes. Not inclusive of all possible codes.
.getOpusData
now takes a tuple(DataBlockType, Dimensions, Derivative) as the second argument..listContents
returns a list of datablock tuples- 3D TRC data is now return as a 3D numpy array under
.traces
with the structure.traces[row][column][trace]
where trace corresponds to the.labels
index of the trace. Individual trace maps can be accessed as.traces[:,:,trace]
- Properly terminate parameter strings
The "I heard you like parameters" release
- This change log (CHANGELOG.md)
.parameters
now returns Acquisition, Instrument, Sample and FT parameters in addition to the existing Data parameters
- Parameters are now returned in
.parameters
instead of.paramList
- Support editable enumerated string parameter type
.parameters
/.paramList
strings are now unicode literals
Released to limited audience as win32-py3.4 and linux64-py3.4 binary wheels.
- Python 3 support:
- all binary literals are
bytes
- cython reads source .pyx file in language_level=3
- test.py tests 3D example file
- profile.py profiles using onion map2.0 file
- Python 2 has been futurized to maintain a single 2/3 codebase
_readFloats
replaced with numpy.fromfile- Add metadata to
setup.py
- Python 2 support will likely be ignored in the future (No Python 2 consumers)