I would like to use height maps, measured using optical profilometry and stored as OPD or OPDx files as input for calculations in Python.
I tried several routes but so far none are working satisfactory:
- Reading using pygwy works nicely on my linux home PC but not at work under 64 bit windows with a 64bit Gwyddion (provided by ICT)
- I tried to use ctypes. First by compiling the only the relevant files to a dll/so file but also using file.dll on windows. This was not successful as I could not load the dll.
A native pyhon library could be a nice alternative for pygwy, but I understanding the code used to read the OPD(x) files is not trivial if you have no description of the format and your C skills are elementary.
Is there a specification of these formats available?
Are there plans to implement pygwy on 64 bits windows?
best regards,
Martijn
Last edit: Martijn 2020-07-08
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The OPDx format was reverse-engineered. Some initial discussion and C++ code is in this thread, but the Gwyddion import module developed much further from that. So the module is also the only documentation.
The OPD format is simpler. It mostly consists of fixed-size blocks. Furthermore, if you export the same data to ASC, you will find a close correspondence between the text and binary formats. But I do not have any documentation either.
As for Python for 64bit Windows, since Python 2 is no longer officially supported and it is slowly disappearing, I see it unlikely. If someday a Python 3 API appears, it will be a completely different (incompatible) thing, following a complete rewrite of Gwyddion…
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I would like to use height maps, measured using optical profilometry and stored as OPD or OPDx files as input for calculations in Python.
I tried several routes but so far none are working satisfactory:
- Reading using pygwy works nicely on my linux home PC but not at work under 64 bit windows with a 64bit Gwyddion (provided by ICT)
- I tried to use ctypes. First by compiling the only the relevant files to a dll/so file but also using file.dll on windows. This was not successful as I could not load the dll.
A native pyhon library could be a nice alternative for pygwy, but I understanding the code used to read the OPD(x) files is not trivial if you have no description of the format and your C skills are elementary.
Is there a specification of these formats available?
Are there plans to implement pygwy on 64 bits windows?
best regards,
Martijn
Last edit: Martijn 2020-07-08
The OPDx format was reverse-engineered. Some initial discussion and C++ code is in this thread, but the Gwyddion import module developed much further from that. So the module is also the only documentation.
The OPD format is simpler. It mostly consists of fixed-size blocks. Furthermore, if you export the same data to ASC, you will find a close correspondence between the text and binary formats. But I do not have any documentation either.
As for Python for 64bit Windows, since Python 2 is no longer officially supported and it is slowly disappearing, I see it unlikely. If someday a Python 3 API appears, it will be a completely different (incompatible) thing, following a complete rewrite of Gwyddion…