sofacoustics / SOFAtoolbox

SOFA Toolbox (API for Matlab, Octave)
http://sofaconventions.org
European Union Public License 1.2
116 stars 31 forks source link

encode table parameters with colors #25

Open isfmiho opened 3 years ago

isfmiho commented 3 years ago

encode parameters with colors in the tables of the conventions, consider inheritations, limitations, ... ? any more ideas?

planned for SOFA 3.0

f-brinkmann commented 2 years ago

Seems to be a good idea for me. Color coding would make it easier to comprehend, inheriting would make it less prone to errors. What we should consider is that any changes have to be communicated to APIs that are also using the csv files as their basis. At the time I think only https://github.com/pyfar/sofar

What about the following idea: We define subconventions for common sets of data, e.g., the subconvention GLOBAL_ATTRIBUTES would contain the global attributes that every convention uses. In each convention, e.g., GeneralFIR the common global attributes could then be 'impoted' for example through the line import GLOBAL_ATTRIBUTES, which would be fairly ease to parse.

Such subconventions could be generated for

We could then simplify conventions by importing all of these and than only add or override things that are new or different. This would make differences between conventions more clear as a side effect. Moreover we could generate those subconventions based on a relatively easy to write script, that first reads all unique attributes from all conventions and counts how often they appear.

In addition, we could have optional subconventions such as ROOM_DESCRIBTION which could be added to any convention in case the user wants to provide detailed information about the room.