Significant update involving a rewrite of the OPUSFile
class and its constituent parts. This was rewrite was initiated to address the issue of certain OPUS files containing multiple versions of the same data block type (e.g. two absorbance data blocks). The new class attempts to correctly match duplicate data blocks to their corresponding data status block and provides access to all matched data (instead of ignoring duplicates). Despite the major rewrite, the user facing functions and attributes have largely gone unchanged (apart from newly added attributes/methods).
Notable Changes
- Can handle files with multiple instances of a single data block type (e.g. two absorbance spectra)
- Fixes issue: #3
- For limited test files available,
brukeropus
matches data blocks with their parameter blocks identically to OPUS - Duplicate data entries have an appended numeral so either version can be accessed (OPUS only provides latest version)
- Added new friendly keys to block types: 3:33, 3:34, 3:36, 3:65, 3:97
- Fixes Issue: #2
- Various 2-Channel, 3-Channel and 4-Channel measurement types
- Pattern may suggest a repeat of (some) of the single-channel measurement types in the same order (e.g. 3:35 may be 2-Channel Phase)
- Fix: y-data is now automatically scaled by the
CSF
parameter so y-scaling matches OPUS - No longer throws an Exception when reading a file smaller than 4 bytes
- Parsing functions now take just the relevant block bytes (rather than the whole file bytes) which will enable isolated blocks to be parsed for faster and more efficient access in the future.
- Add
parse_file_and_print
method to primary namespace (useful for debugging files) - Add "Lab and Process Parameters" label for parameter block 2:11
- Introduced basic testing
- Reads a directory of OPUS files and checks for inconsistencies, parsing errors, memory efficiency, etc.
- Only tests file submodule
Full Changelog: v1.0.6...v1.1.0