The naming of formats in RosettaSciIO is historically very inconsistent.
We have formats with overly complicated names, e.g.:
Digital Micrograph dm3, SEMPER UNF (unformatted), Electron Microscopy Data (EMD), ...
We have formats with capitalized names (either file extensions, acronyms or shorter manufacturer names), e.g.:
HSPY, DENS, MRCZ, TIFF, EMPAD, JEOL, ...
And we have formats with concise, but not capitalized names, e.g.:
ZSpy, Nexus, Blockfile, PantaRhei, ...
In case 2&3, the format_name often, but not always, corresponds to the module name.
With the first release, we should consider making the naming more consistent. To allow backwards compatibility for HyperSpy users, we could allow aliases for the format_name. I would propose to add a field format_alias to the .yaml dictionary defining a format, similar to the aliases of signal_types in HyperSpy.
I would propose to use a combination of case 2&3 with the following rules for the names:
do not contain spaces or special characters
should not be all lowercase
can be an extension or acronym, then it is capitalized
extensions or acronyms should not be added to longer names
(a special case are multiple filetypes from e.g. the same manufacturer, but so far we mostly triage that within the reader specific to that manufacturer)
The naming of formats in RosettaSciIO is historically very inconsistent.
We have formats with overly complicated names, e.g.:
Digital Micrograph dm3
,SEMPER UNF (unformatted)
,Electron Microscopy Data (EMD)
, ...We have formats with capitalized names (either file extensions, acronyms or shorter manufacturer names), e.g.:
HSPY
,DENS
,MRCZ
,TIFF
,EMPAD
,JEOL
, ...And we have formats with concise, but not capitalized names, e.g.:
ZSpy
,Nexus
,Blockfile
,PantaRhei
, ...In case 2&3, the
format_name
often, but not always, corresponds to the module name.With the first release, we should consider making the naming more consistent. To allow backwards compatibility for HyperSpy users, we could allow aliases for the
format_name
. I would propose to add a fieldformat_alias
to the.yaml
dictionary defining a format, similar to the aliases ofsignal_types
in HyperSpy.I would propose to use a combination of case 2&3 with the following rules for the names: