The EDF.jl currently has a limitation; namely, that it automatically converts signals into integers. This is exlicitly stated in the [official documentation:] (API · EDF.jl) under EDF.file.
I’m interested in reading EDF files but preserving floating points. Is there a way this can be done? I have not found other EDF packages.
EDF natively encodes values as Integers, so probably that is what EDF.jl is giving you. To get floats, you have to correct the values of each signal with respect to the physical/digital dimensions of that signal encoded in the header.
In general, it will be enough to do
Note that each signal can have different values for those.
Some people also perform offset correction to make the span of possible values centred around zero.
Thank you, your answer hits the nail. However, the one by @ericphanson is more straightforward so I marked it as the solution for future readers. Thank you both!