If you, like me, are working with experimental data or in the broad field of engineering, you have probably encountered UFF (Universal File Format) files.
To the best of my knowledge, some other programming languages have packages for reading and writing UFF files. In the Python world, we can use the excellent pyuff. In Matlab, users can adopt uff.m.
In Julia, we can of course call pyuff using PythonCall.jl and CondaPkg.jl, but it requires the user to postprocess the PyObject. As conversion is quite cumbersome given the diversity of UFF datasets and fields, I decided to develop a package for reading and writing UFF files directly in Julia. Tada! Here is where UFFFiles.jl comes into the scene.
For this initial release, only the reading functionalities are implemented (the writing functions will be released very soon) and the supported datasets are:
Dataset 15 - Nodes
Dataset 18 - Coordinate Systems
Dataset 55 - Data at Nodes
Dataset 58 - Function at Nodal DOF
Dataset 82 - Tracelines
Dataset 151 - Header
Dataset 164 - Units
Dataset 2411 - Nodes - Double Precision
Dataset 2412 - Elements
Dataset 2414 - Analysis Data
Please do not hesitate to provide feedbacks, to open issues or to contribute through PR. Your help will be welcomed!
To get a better overview of the package, the documentation is available here.
My first response is appreciation. I will be sure to check it out. I used the matlab version in my matlab code and use it to transfer data between different software packages. For the reference on this standard, University of Cincinnati keeps the original SDRL documentation here.
It has crossed my mind that something like this should be developed and am glad that you have embarked on this journey
Thanks @Jake! I give the link to UC webpage in the documentation. I took it as a reference for the docstrings of my parsing functions.
The long story short is that I had exactly the same workflow as you. I first used the matlab package, then pyuff through PythonCall, but I was not satisfied. So, I decided to develop the package
As you have noticed, I focused my work on the datasets used in Modal Analysis .
After a huge effort of @Jake and I, we are proud to release the v1 of UFFFiles, since the API is stable.
This v1 implements a complete refactoring of readuff and writeuff functions for reducing the memory consumption. This version also handles the reading and the writing of binary dataset58 format.
You can read the release notes here for a better overview of the changes and breajing changes.