PhonologicalCorpusTools / SLPAA

5 stars 0 forks source link

Reconsider surface/subarea approach in location tree #155

Closed gracemyz closed 8 months ago

gracemyz commented 1 year ago

See location spreadsheet and discussion in #151.

Currently the location tree uses a set of default lists for surfaces/subareas. It's easy to specify exclusions from these default lists for each location, but harder/less efficient to specify additions. We should reconsider how we assign surface/subarea lists to each location.

gracemyz commented 1 year ago

Some preliminary thoughts and questions --

Handling exceptions from default lists In #151 @kvesik suggested two options:

(a) allow both exceptional exclusions and exceptional additions, or (b) just have a couple of default lists plus some exceptional lists that contain precisely the items required by those locations (as opposed to having to frame exceptions in terms of exclusions).

Option (a) is the simpler, less disruptive (easier backwards compatibility) approach. However, currently option (a) seems to be overkill as there are only two locations with exceptional additions (tongue and heel of hand). If we go with option (b), we can cover all the existing body options using a set of 9 surface lists and 8 subarea/bone joint lists. They are:

Surface options:

Subarea / bone/joint options:

Streamlining the location tree tuple? The current tuple elements are:

#   name, editability, mutual exclusivity, checked/unchecked, hand/nonhand location,
#   allow surfaces?, relevant exceptions to list of surfaces,
#   allow subareas/bone-joints?, relevant exceptions to list of subareas/bone-joints

By including the "no surfaces allowed" and "no subareas/ bone/joints allowed" in the above options, we can remove the corresponding booleans from the tuples in the locn_options_body keys.

Editability is always off; there was a comment that maybe it can be removed. Also, checked/unchecked is always unchecked. So possibly tuples could be reduced to five elements: eg: ("Upper arm above biceps", rb, nh, nonhand_surfaces_3, nonhand_subareas_2) instead of ("Upper arm above biceps", fx, rb, u, nh, allow, (top, bottom), allow, (contra_half, ipsi_half))

Issues