6
0

moth_labels.py 749 B

12345678910111213141516171819202122232425262728
  1. import json
  2. import typing as T
  3. from pycs.interfaces.LabelProvider import LabelProvider
  4. from pathlib import Path
  5. class FlatMothLabels(LabelProvider):
  6. def __init__(self, root_folder: str, configuration: dict):
  7. mapping_file = Path(root_folder, configuration["mapping"])
  8. with open(mapping_file) as f:
  9. self.mapping = json.load(f)
  10. def close(self):
  11. pass
  12. def get_labels(self) -> T.List[dict]:
  13. labels = []
  14. for key, entries in self.mapping.items():
  15. display_name = f"{entries['genus']} {entries['species']} ({entries['kr']})"
  16. print(key, display_name)
  17. label = self.create_label(key, display_name)
  18. labels.append(label)
  19. return labels