UnitMatchPy 2.1__tar.gz → 2.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (318) hide show
  1. UnitMatchPy-2.2/PKG-INFO +40 -0
  2. UnitMatchPy-2.2/README.md +31 -0
  3. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/GUI.py +6 -3
  4. UnitMatchPy-2.2/UnitMatchPy/GUI_icon.png +0 -0
  5. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/Save_utils.py +5 -5
  6. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/assign_unique_id.py +1 -1
  7. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/utils.py +3 -0
  8. UnitMatchPy-2.2/UnitMatchPy.egg-info/PKG-INFO +40 -0
  9. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy.egg-info/SOURCES.txt +1 -0
  10. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/setup.py +1 -1
  11. UnitMatchPy-2.1/PKG-INFO +0 -38
  12. UnitMatchPy-2.1/README.md +0 -29
  13. UnitMatchPy-2.1/UnitMatchPy.egg-info/PKG-INFO +0 -38
  14. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/LICENSE +0 -0
  15. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/MANIFEST.in +0 -0
  16. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/Extract_raw_data.py +0 -0
  17. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/Overlord.py +0 -0
  18. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/LICENSE +0 -0
  19. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/README.txt +0 -0
  20. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/awdark.tcl +0 -0
  21. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/awlight.tcl +0 -0
  22. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/awtemplate.tcl +0 -0
  23. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/awthemes.n7 +0 -0
  24. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/awthemes.tcl +0 -0
  25. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/awwinxpblue.tcl +0 -0
  26. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/colorutils.tcl +0 -0
  27. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/demoscaled.tcl +0 -0
  28. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/demoscaledb.tcl +0 -0
  29. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/demottk.tcl +0 -0
  30. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/README.txt +0 -0
  31. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/arrow/chevron/arrow-down-d.svg +0 -0
  32. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/arrow/chevron/arrow-down-n-base.svg +0 -0
  33. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/arrow/chevron/arrow-down-n.svg +0 -0
  34. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/arrow/chevron/arrow-down-sn.svg +0 -0
  35. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/arrow/chevron/arrow-left-n.svg +0 -0
  36. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/arrow/chevron/arrow-right-n.svg +0 -0
  37. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/arrow/chevron/arrow-right-sn.svg +0 -0
  38. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/arrow/chevron/arrow-up-d.svg +0 -0
  39. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/arrow/chevron/arrow-up-n.svg +0 -0
  40. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/arrow/open/arrow-down-n-base.svg +0 -0
  41. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/arrow/open/arrow-down-n.svg +0 -0
  42. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/arrow/open/arrow-down-sn.svg +0 -0
  43. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/arrow/open/arrow-left-n.svg +0 -0
  44. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/arrow/open/arrow-right-n.svg +0 -0
  45. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/arrow/open/arrow-right-sn.svg +0 -0
  46. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/arrow/open/arrow-up-n.svg +0 -0
  47. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/arrow/solid/arrow-down-n-base.svg +0 -0
  48. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/arrow/solid/arrow-down-n.svg +0 -0
  49. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/arrow/solid/arrow-down-sn.svg +0 -0
  50. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/arrow/solid/arrow-left-n.svg +0 -0
  51. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/arrow/solid/arrow-right-n.svg +0 -0
  52. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/arrow/solid/arrow-right-sn.svg +0 -0
  53. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/arrow/solid/arrow-up-n.svg +0 -0
  54. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/arrow/solid-bg/arrow-down-d.svg +0 -0
  55. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/arrow/solid-bg/arrow-down-n-base.svg +0 -0
  56. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/arrow/solid-bg/arrow-down-n.svg +0 -0
  57. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/arrow/solid-bg/arrow-left-d.svg +0 -0
  58. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/arrow/solid-bg/arrow-left-n.svg +0 -0
  59. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/arrow/solid-bg/arrow-right-d.svg +0 -0
  60. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/arrow/solid-bg/arrow-right-n.svg +0 -0
  61. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/arrow/solid-bg/arrow-up-d.svg +0 -0
  62. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/arrow/solid-bg/arrow-up-n.svg +0 -0
  63. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/arrow/solid-bg/settings.tcl +0 -0
  64. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/button/roundedrect-accent-gradient/button-a.svg +0 -0
  65. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/button/roundedrect-accent-gradient/button-d.svg +0 -0
  66. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/button/roundedrect-accent-gradient/button-n.svg +0 -0
  67. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/button/roundedrect-accent-gradient/button-p.svg +0 -0
  68. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/button/roundedrect-accent-gradient/settings.tcl +0 -0
  69. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/button/roundedrect-flat/button-a.svg +0 -0
  70. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/button/roundedrect-flat/button-af-base.svg +0 -0
  71. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/button/roundedrect-flat/button-af.svg +0 -0
  72. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/button/roundedrect-flat/button-d.svg +0 -0
  73. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/button/roundedrect-flat/button-f.svg +0 -0
  74. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/button/roundedrect-flat/button-n.svg +0 -0
  75. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/button/roundedrect-flat/button-p.svg +0 -0
  76. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/button/roundedrect-flat/settings.tcl +0 -0
  77. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/button/roundedrect-gradient/button-d.svg +0 -0
  78. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/button/roundedrect-gradient/button-n-base.svg +0 -0
  79. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/button/roundedrect-gradient/button-n.svg +0 -0
  80. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/button/roundedrect-gradient/settings.tcl +0 -0
  81. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/checkbutton/roundedrect-check/cb-sa-base.svg +0 -0
  82. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/checkbutton/roundedrect-check/cb-sa.svg +0 -0
  83. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/checkbutton/roundedrect-check/cb-sd.svg +0 -0
  84. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/checkbutton/roundedrect-check/cb-sn-base.svg +0 -0
  85. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/checkbutton/roundedrect-check/cb-sn.svg +0 -0
  86. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/checkbutton/roundedrect-check/cb-ua.svg +0 -0
  87. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/checkbutton/roundedrect-check/cb-ud.svg +0 -0
  88. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/checkbutton/roundedrect-check/cb-un.svg +0 -0
  89. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/checkbutton/roundedrect-check-rev/cb-sa-base.svg +0 -0
  90. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/checkbutton/roundedrect-check-rev/cb-sa.svg +0 -0
  91. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/checkbutton/roundedrect-check-rev/cb-sd.svg +0 -0
  92. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/checkbutton/roundedrect-check-rev/cb-sn-base.svg +0 -0
  93. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/checkbutton/roundedrect-check-rev/cb-sn.svg +0 -0
  94. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/checkbutton/roundedrect-check-rev/cb-ua.svg +0 -0
  95. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/checkbutton/roundedrect-check-rev/cb-ud.svg +0 -0
  96. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/checkbutton/roundedrect-check-rev/cb-un.svg +0 -0
  97. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/checkbutton/roundedrect-square/cb-sa.svg +0 -0
  98. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/checkbutton/roundedrect-square/cb-sd.svg +0 -0
  99. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/checkbutton/roundedrect-square/cb-sn-base.svg +0 -0
  100. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/checkbutton/roundedrect-square/cb-sn.svg +0 -0
  101. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/checkbutton/roundedrect-square/cb-ua.svg +0 -0
  102. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/checkbutton/roundedrect-square/cb-ud.svg +0 -0
  103. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/checkbutton/roundedrect-square/cb-un.svg +0 -0
  104. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/checkbutton/square-check-gradient/cb-sd.svg +0 -0
  105. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/checkbutton/square-check-gradient/cb-sn-base.svg +0 -0
  106. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/checkbutton/square-check-gradient/cb-sn.svg +0 -0
  107. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/checkbutton/square-check-gradient/cb-ud.svg +0 -0
  108. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/checkbutton/square-check-gradient/cb-un.svg +0 -0
  109. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/checkbutton/square-x/cb-sd.svg +0 -0
  110. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/checkbutton/square-x/cb-sn-base.svg +0 -0
  111. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/checkbutton/square-x/cb-sn.svg +0 -0
  112. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/checkbutton/square-x/cb-ud.svg +0 -0
  113. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/checkbutton/square-x/cb-un.svg +0 -0
  114. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/combobox/rounded/combo-arrow-down-d.svg +0 -0
  115. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/combobox/rounded/combo-arrow-down-n-base.svg +0 -0
  116. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/combobox/rounded/combo-arrow-down-n.svg +0 -0
  117. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/combobox/rounded/combo-entry-a.svg +0 -0
  118. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/combobox/rounded/combo-entry-d.svg +0 -0
  119. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/combobox/rounded/combo-entry-f.svg +0 -0
  120. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/combobox/rounded/combo-entry-n-base.svg +0 -0
  121. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/combobox/rounded/combo-entry-n.svg +0 -0
  122. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/combobox/rounded/settings.tcl +0 -0
  123. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/combobox/solid-bg/combo-arrow-down-a.svg +0 -0
  124. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/combobox/solid-bg/combo-arrow-down-d-base.svg +0 -0
  125. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/combobox/solid-bg/combo-arrow-down-d.svg +0 -0
  126. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/combobox/solid-bg/combo-arrow-down-n-base.svg +0 -0
  127. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/combobox/solid-bg/combo-arrow-down-n.svg +0 -0
  128. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/combobox/solid-bg/settings.tcl +0 -0
  129. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/empty/empty/empty.svg +0 -0
  130. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/entry/roundedrect/entry-a.svg +0 -0
  131. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/entry/roundedrect/entry-d.svg +0 -0
  132. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/entry/roundedrect/entry-f.svg +0 -0
  133. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/entry/roundedrect/entry-n-base.svg +0 -0
  134. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/entry/roundedrect/entry-n.svg +0 -0
  135. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/entry/roundedrect/settings.tcl +0 -0
  136. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/labelframe/square/labelframe-d.svg +0 -0
  137. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/labelframe/square/labelframe-n.svg +0 -0
  138. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/menubutton/chevron/mb-arrow-down-a.svg +0 -0
  139. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/menubutton/chevron/mb-arrow-down-d.svg +0 -0
  140. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/menubutton/chevron/mb-arrow-down-n-base.svg +0 -0
  141. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/menubutton/chevron/mb-arrow-down-n.svg +0 -0
  142. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/menubutton/solid/mb-arrow-down-d-base.svg +0 -0
  143. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/menubutton/solid/mb-arrow-down-d.svg +0 -0
  144. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/menubutton/solid/mb-arrow-down-n-base.svg +0 -0
  145. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/menubutton/solid/mb-arrow-down-n.svg +0 -0
  146. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/notebook/roundedtop-dark/notebook-tab-a.svg +0 -0
  147. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/notebook/roundedtop-dark/notebook-tab-d.svg +0 -0
  148. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/notebook/roundedtop-dark/notebook-tab-h.svg +0 -0
  149. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/notebook/roundedtop-dark/notebook-tab-i-base.svg +0 -0
  150. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/notebook/roundedtop-dark/notebook-tab-i.svg +0 -0
  151. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/notebook/roundedtop-dark/settings.tcl +0 -0
  152. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/notebook/roundedtop-light/notebook-tab-a.svg +0 -0
  153. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/notebook/roundedtop-light/notebook-tab-d.svg +0 -0
  154. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/notebook/roundedtop-light/notebook-tab-h.svg +0 -0
  155. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/notebook/roundedtop-light/notebook-tab-i-base.svg +0 -0
  156. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/notebook/roundedtop-light/notebook-tab-i.svg +0 -0
  157. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/notebook/roundedtop-light/settings.tcl +0 -0
  158. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/notebook/roundedtop-light-accent/notebook-tab-a.svg +0 -0
  159. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/notebook/roundedtop-light-accent/notebook-tab-d.svg +0 -0
  160. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/notebook/roundedtop-light-accent/notebook-tab-h.svg +0 -0
  161. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/notebook/roundedtop-light-accent/notebook-tab-i-base.svg +0 -0
  162. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/notebook/roundedtop-light-accent/notebook-tab-i.svg +0 -0
  163. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/notebook/roundedtop-light-accent/settings.tcl +0 -0
  164. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/progressbar/rect/settings.tcl +0 -0
  165. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/progressbar/rect/slider-hd.svg +0 -0
  166. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/progressbar/rect/slider-hn-base.svg +0 -0
  167. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/progressbar/rect/slider-hn.svg +0 -0
  168. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/progressbar/rect/slider-vd.svg +0 -0
  169. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/progressbar/rect/slider-vn.svg +0 -0
  170. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/progressbar/rect/trough-hd.svg +0 -0
  171. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/progressbar/rect/trough-hn-base.svg +0 -0
  172. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/progressbar/rect/trough-hn.svg +0 -0
  173. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/progressbar/rect/trough-vd.svg +0 -0
  174. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/progressbar/rect/trough-vn.svg +0 -0
  175. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/progressbar/rect-bord/settings.tcl +0 -0
  176. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/progressbar/rect-bord/slider-hd.svg +0 -0
  177. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/progressbar/rect-bord/slider-hn-base.svg +0 -0
  178. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/progressbar/rect-bord/slider-hn.svg +0 -0
  179. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/progressbar/rect-bord/slider-vd.svg +0 -0
  180. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/progressbar/rect-bord/slider-vn.svg +0 -0
  181. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/progressbar/rect-diag/diag-mask.svg +0 -0
  182. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/progressbar/rect-diag/settings.tcl +0 -0
  183. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/progressbar/rect-diag/slider-hd.svg +0 -0
  184. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/progressbar/rect-diag/slider-hn-base.svg +0 -0
  185. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/progressbar/rect-diag/slider-hn.svg +0 -0
  186. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/progressbar/rect-diag/slider-vd.svg +0 -0
  187. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/progressbar/rect-diag/slider-vn-base.svg +0 -0
  188. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/progressbar/rect-diag/slider-vn.svg +0 -0
  189. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/progressbar/rounded-line/settings.tcl +0 -0
  190. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/progressbar/rounded-line/slider-hd.svg +0 -0
  191. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/progressbar/rounded-line/slider-hn.svg +0 -0
  192. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/progressbar/rounded-line/slider-vd.svg +0 -0
  193. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/progressbar/rounded-line/slider-vn.svg +0 -0
  194. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/progressbar/rounded-line/trough-hd.svg +0 -0
  195. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/progressbar/rounded-line/trough-hn-base.svg +0 -0
  196. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/progressbar/rounded-line/trough-hn.svg +0 -0
  197. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/progressbar/rounded-line/trough-vd.svg +0 -0
  198. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/progressbar/rounded-line/trough-vn-base.svg +0 -0
  199. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/progressbar/rounded-line/trough-vn.svg +0 -0
  200. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/progressbar/settings.tcl +0 -0
  201. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/radiobutton/circle-circle/rb-sa.svg +0 -0
  202. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/radiobutton/circle-circle/rb-sd.svg +0 -0
  203. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/radiobutton/circle-circle/rb-sn-base.svg +0 -0
  204. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/radiobutton/circle-circle/rb-sn.svg +0 -0
  205. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/radiobutton/circle-circle/rb-ua.svg +0 -0
  206. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/radiobutton/circle-circle/rb-ud.svg +0 -0
  207. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/radiobutton/circle-circle/rb-un.svg +0 -0
  208. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/radiobutton/circle-circle-gradient/rb-sd.svg +0 -0
  209. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/radiobutton/circle-circle-gradient/rb-sn-base.svg +0 -0
  210. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/radiobutton/circle-circle-gradient/rb-sn.svg +0 -0
  211. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/radiobutton/circle-circle-gradient/rb-ud.svg +0 -0
  212. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/radiobutton/circle-circle-gradient/rb-un.svg +0 -0
  213. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/radiobutton/circle-circle-hlbg/rb-sa.svg +0 -0
  214. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/radiobutton/circle-circle-hlbg/rb-sd.svg +0 -0
  215. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/radiobutton/circle-circle-hlbg/rb-sn-base.svg +0 -0
  216. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/radiobutton/circle-circle-hlbg/rb-sn.svg +0 -0
  217. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/radiobutton/circle-circle-hlbg/rb-ua.svg +0 -0
  218. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/radiobutton/circle-circle-hlbg/rb-ud.svg +0 -0
  219. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/radiobutton/circle-circle-hlbg/rb-un.svg +0 -0
  220. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/radiobutton/circle-circle-rev/rb-sa.svg +0 -0
  221. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/radiobutton/circle-circle-rev/rb-sd.svg +0 -0
  222. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/radiobutton/circle-circle-rev/rb-sn-base.svg +0 -0
  223. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/radiobutton/circle-circle-rev/rb-sn.svg +0 -0
  224. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/radiobutton/circle-circle-rev/rb-ua.svg +0 -0
  225. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/radiobutton/circle-circle-rev/rb-ud.svg +0 -0
  226. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/radiobutton/circle-circle-rev/rb-un.svg +0 -0
  227. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/radiobutton/octagon-circle/rb-sd.svg +0 -0
  228. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/radiobutton/octagon-circle/rb-sn-base.svg +0 -0
  229. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/radiobutton/octagon-circle/rb-sn.svg +0 -0
  230. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/radiobutton/octagon-circle/rb-ud.svg +0 -0
  231. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/radiobutton/octagon-circle/rb-un.svg +0 -0
  232. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/scale/circle/scale-ha.svg +0 -0
  233. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/scale/circle/scale-hd.svg +0 -0
  234. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/scale/circle/scale-hn.svg +0 -0
  235. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/scale/circle-rev/scale-ha.svg +0 -0
  236. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/scale/circle-rev/scale-hd.svg +0 -0
  237. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/scale/circle-rev/scale-hn.svg +0 -0
  238. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/scale/rect-bord-grip/scale-hd.svg +0 -0
  239. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/scale/rect-bord-grip/scale-hn-base.svg +0 -0
  240. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/scale/rect-bord-grip/scale-hn.svg +0 -0
  241. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/scale/rect-bord-grip/scale-vd.svg +0 -0
  242. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/scale/rect-bord-grip/scale-vn.svg +0 -0
  243. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/scale/rect-narrow/scale-hd.svg +0 -0
  244. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/scale/rect-narrow/scale-hn-base.svg +0 -0
  245. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/scale/rect-narrow/scale-hn.svg +0 -0
  246. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/scale/rect-narrow/scale-trough-hd.svg +0 -0
  247. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/scale/rect-narrow/scale-trough-hn-base.svg +0 -0
  248. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/scale/rect-narrow/scale-trough-hn.svg +0 -0
  249. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/scale/rect-narrow/scale-trough-vd.svg +0 -0
  250. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/scale/rect-narrow/scale-trough-vn-base.svg +0 -0
  251. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/scale/rect-narrow/scale-trough-vn.svg +0 -0
  252. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/scale/rect-narrow/scale-vd.svg +0 -0
  253. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/scale/rect-narrow/scale-vn.svg +0 -0
  254. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/scale/rect-narrow/settings.tcl +0 -0
  255. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/scrollbar-grip/circle/sb-slider-h-grip-base.svg +0 -0
  256. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/scrollbar-grip/circle/sb-slider-h-grip.svg +0 -0
  257. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/scrollbar-grip/circle/sb-slider-v-grip-base.svg +0 -0
  258. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/scrollbar-grip/circle/sb-slider-v-grip.svg +0 -0
  259. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/sizegrip/circle/sizegrip-base.svg +0 -0
  260. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/sizegrip/circle/sizegrip.svg +0 -0
  261. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/treeview/chevron/tree-arrow-down-base.svg +0 -0
  262. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/treeview/chevron/tree-arrow-down-n.svg +0 -0
  263. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/treeview/chevron/tree-arrow-down-sn.svg +0 -0
  264. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/treeview/chevron/tree-arrow-right-n.svg +0 -0
  265. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/treeview/chevron/tree-arrow-right-sn.svg +0 -0
  266. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/treeview/open/tree-arrow-down-n-base.svg +0 -0
  267. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/treeview/open/tree-arrow-down-n.svg +0 -0
  268. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/treeview/open/tree-arrow-down-sn.svg +0 -0
  269. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/treeview/open/tree-arrow-right-n-base.svg +0 -0
  270. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/treeview/open/tree-arrow-right-n.svg +0 -0
  271. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/treeview/open/tree-arrow-right-sn.svg +0 -0
  272. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/treeview/plusminus-box/tree-arrow-down-n-base.svg +0 -0
  273. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/treeview/plusminus-box/tree-arrow-down-n.svg +0 -0
  274. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/treeview/plusminus-box/tree-arrow-down-sn.svg +0 -0
  275. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/treeview/plusminus-box/tree-arrow-right-n-base.svg +0 -0
  276. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/treeview/plusminus-box/tree-arrow-right-n.svg +0 -0
  277. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/treeview/plusminus-box/tree-arrow-right-sn.svg +0 -0
  278. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/treeview/solid/tree-arrow-down-n-base.svg +0 -0
  279. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/treeview/solid/tree-arrow-down-n.svg +0 -0
  280. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/treeview/solid/tree-arrow-down-sn.svg +0 -0
  281. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/treeview/solid/tree-arrow-right-n-base.svg +0 -0
  282. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/treeview/solid/tree-arrow-right-n.svg +0 -0
  283. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/i/awthemes/treeview/solid/tree-arrow-right-sn.svg +0 -0
  284. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/TkinterTheme/awthemes-10.4.0/pkgIndex.tcl +0 -0
  285. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/UM Logo.ico +0 -0
  286. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/UnitMatchPy.egg-info/PKG-INFO +0 -0
  287. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/UnitMatchPy.egg-info/SOURCES.txt +0 -0
  288. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/UnitMatchPy.egg-info/dependency_links.txt +0 -0
  289. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/UnitMatchPy.egg-info/requires.txt +0 -0
  290. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/UnitMatchPy.egg-info/top_level.txt +0 -0
  291. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/__init__.py +0 -0
  292. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/__pycache__/AssignUniqueID.cpython-311.pyc +0 -0
  293. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/__pycache__/Bayes_fun.cpython-311.pyc +0 -0
  294. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/__pycache__/Bayes_fun.cpython-312.pyc +0 -0
  295. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/__pycache__/Extract_raw_data.cpython-311.pyc +0 -0
  296. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/__pycache__/Extract_raw_data.cpython-312.pyc +0 -0
  297. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/__pycache__/GUI.cpython-311.pyc +0 -0
  298. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/__pycache__/GUI.cpython-312.pyc +0 -0
  299. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/__pycache__/Metrics_fun.cpython-311.pyc +0 -0
  300. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/__pycache__/Metrics_fun.cpython-312.pyc +0 -0
  301. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/__pycache__/Overlord.cpython-311.pyc +0 -0
  302. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/__pycache__/Overlord.cpython-312.pyc +0 -0
  303. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/__pycache__/Param_fun.cpython-311.pyc +0 -0
  304. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/__pycache__/Param_fun.cpython-312.pyc +0 -0
  305. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/__pycache__/Save_utils.cpython-311.pyc +0 -0
  306. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/__pycache__/Save_utils.cpython-312.pyc +0 -0
  307. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/__pycache__/__init__.cpython-311.pyc +0 -0
  308. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/__pycache__/__init__.cpython-312.pyc +0 -0
  309. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/__pycache__/utils.cpython-311.pyc +0 -0
  310. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/__pycache__/utils.cpython-312.pyc +0 -0
  311. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/bayes_functions.py +0 -0
  312. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/default_params.py +0 -0
  313. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/metric_functions.py +0 -0
  314. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy/param_functions.py +0 -0
  315. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy.egg-info/dependency_links.txt +0 -0
  316. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy.egg-info/requires.txt +0 -0
  317. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/UnitMatchPy.egg-info/top_level.txt +0 -0
  318. {UnitMatchPy-2.1 → UnitMatchPy-2.2}/setup.cfg +0 -0
@@ -0,0 +1,40 @@
1
+ Metadata-Version: 2.1
2
+ Name: UnitMatchPy
3
+ Version: 2.2
4
+ Author: Enny van Beest, Celian Bimbard and Sam Dodgson
5
+ Author-email: e.beest@ucl.ac.uk
6
+ Requires-Python: >=3.7
7
+ Description-Content-Type: text/markdown
8
+ License-File: LICENSE
9
+
10
+ # Unit Match - Python
11
+
12
+ ## Run UMPy
13
+
14
+ To run UMPy standard spike sorting data is needed; channel positions and 2 extracted raw waveforms for each unit. This can be calculated externally [BombCell](https://github.com/Julie-Fabre/bombcell) or using *extract_raw_demo.ipynb* to extract these waveforms from compressed data (.cbin and .ch) or raw data. There is also a [Spike Interface](https://spikeinterface.readthedocs.io/en/latest/) integrated notebook *UMPy_spike_interface_demo.ipynb* which uses spike interface to get this data.
15
+ Be careful not to mix and match the different ways of extracting raw waveforms, as there are difference between the methods.
16
+
17
+ There are to example notebooks for running UMPy *UMPy_example.ipynb* and *UMPy_example_detailed.ipynb*. These notebooks will guide you through running Unit Match all you need to supply is paths to the data. *UMPy_example.ipynb* is recommended to use first as it is simpler, however *UMPy_example_detailed.ipynb* may be useful in unique cases as it is more modular.
18
+
19
+ The GUI is a optional step to curated and investigate the information Unit Match has calculated; for efficient usage of the GUI please look at *GUI_Reference_Guide.md* in the Demo Notebooks folder.
20
+
21
+ ## Dependencies
22
+
23
+ This version relies on many core python packages: [numpy](https://numpy.org/), [scipy](https://scipy.org/), [JobLib](https://joblib.readthedocs.io/en/stable/), [pandas](https://pandas.pydata.org/), [tkinter](https://docs.python.org/3/library/tkinter.html) and [matplotlib](https://matplotlib.org/). All of these libaries come with a [Anaconda](https://www.anaconda.com/download/) version of python.
24
+ For extracting raw data, the library [mtscomp](https://github.com/int-brain-lab/mtscomp) is needed, and can be installed by `pip install mtscomp`.
25
+
26
+
27
+ ## Installation
28
+
29
+ After creating an python environment
30
+
31
+ ```
32
+ conda create --name UnitMatch python
33
+ conda activate UnitMatch
34
+ ```
35
+
36
+ You can install UnitMatchPy with pip. It will automatically install all the dependencies.
37
+
38
+ ```
39
+ pip install UnitMatchPy
40
+ ```
@@ -0,0 +1,31 @@
1
+ # Unit Match - Python
2
+
3
+ ## Run UMPy
4
+
5
+ To run UMPy standard spike sorting data is needed; channel positions and 2 extracted raw waveforms for each unit. This can be calculated externally [BombCell](https://github.com/Julie-Fabre/bombcell) or using *extract_raw_demo.ipynb* to extract these waveforms from compressed data (.cbin and .ch) or raw data. There is also a [Spike Interface](https://spikeinterface.readthedocs.io/en/latest/) integrated notebook *UMPy_spike_interface_demo.ipynb* which uses spike interface to get this data.
6
+ Be careful not to mix and match the different ways of extracting raw waveforms, as there are difference between the methods.
7
+
8
+ There are to example notebooks for running UMPy *UMPy_example.ipynb* and *UMPy_example_detailed.ipynb*. These notebooks will guide you through running Unit Match all you need to supply is paths to the data. *UMPy_example.ipynb* is recommended to use first as it is simpler, however *UMPy_example_detailed.ipynb* may be useful in unique cases as it is more modular.
9
+
10
+ The GUI is a optional step to curated and investigate the information Unit Match has calculated; for efficient usage of the GUI please look at *GUI_Reference_Guide.md* in the Demo Notebooks folder.
11
+
12
+ ## Dependencies
13
+
14
+ This version relies on many core python packages: [numpy](https://numpy.org/), [scipy](https://scipy.org/), [JobLib](https://joblib.readthedocs.io/en/stable/), [pandas](https://pandas.pydata.org/), [tkinter](https://docs.python.org/3/library/tkinter.html) and [matplotlib](https://matplotlib.org/). All of these libaries come with a [Anaconda](https://www.anaconda.com/download/) version of python.
15
+ For extracting raw data, the library [mtscomp](https://github.com/int-brain-lab/mtscomp) is needed, and can be installed by `pip install mtscomp`.
16
+
17
+
18
+ ## Installation
19
+
20
+ After creating an python environment
21
+
22
+ ```
23
+ conda create --name UnitMatch python
24
+ conda activate UnitMatch
25
+ ```
26
+
27
+ You can install UnitMatchPy with pip. It will automatically install all the dependencies.
28
+
29
+ ```
30
+ pip install UnitMatchPy
31
+ ```
@@ -55,14 +55,17 @@ def run_GUI():
55
55
  not_match = []
56
56
  root = Tk()
57
57
  # downloaded theme from https://sourceforge.net/projects/tcl-awthemes/
58
- theme_path = os.path.join(os.path.dirname(os.path.abspath(__file__)) , r'TkinterTheme\awthemes-10.4.0')
58
+ theme_path_rel = os.path.normpath(r'TkinterTheme\awthemes-10.4.0')
59
+ theme_path = os.path.join(os.path.dirname(os.path.abspath(__file__)) , theme_path_rel)
60
+
59
61
  root.tk.call('lappend', 'auto_path', theme_path)
60
62
  root.tk.call('package', 'require', 'awdark')
61
63
  s = ttk.Style(root)
62
64
  s.theme_use('awdark')
63
65
  root.title('UMPy - Manual Curation')
64
66
  #root.geometry('800x800')
65
- root.iconbitmap(os.path.join(os.path.dirname(os.path.abspath(__file__)) , r'UM Logo.ico'))
67
+ icon = PhotoImage(file = os.path.join(os.path.dirname(os.path.abspath(__file__)) , 'GUI_icon.png'))
68
+ root.iconphoto(False, icon)
66
69
  background = ttk.Frame(root)
67
70
  background.place(x=0, y=0, relwidth=1.0, relheight=1.0)
68
71
 
@@ -909,7 +912,7 @@ def add_original_ID(UnitA, UnitB):
909
912
  if original_id_label.winfo_exists():
910
913
  original_id_label.destroy()
911
914
 
912
- original_id_label = ttk.Label(root, text = f'The Original Unit IDs are:\nUnit A: {int(clus_info["original_id"][UnitA].squeeze())} Unit B: {int(clus_info["original_id"][UnitB].squeeze())}', borderwidth = 2 , relief= 'groove')
915
+ original_id_label = ttk.Label(root, text = f'The Original Unit IDs are:\nUnit A: {int(clus_info["original_ids"][UnitA].squeeze())} Unit B: {int(clus_info["original_ids"][UnitB].squeeze())}', borderwidth = 2 , relief= 'groove')
913
916
  original_id_label.grid( row = 0, column = 2, ipadx = 5, ipady = 5)
914
917
 
915
918
 
Binary file
@@ -5,7 +5,7 @@ import numpy as np
5
5
 
6
6
  def make_match_table(scores_to_include, matches, output_prob, total_score, output_threshold, clus_info, param, UIDs = None, matches_curated = None):
7
7
  """
8
- Creates the match table showing information for every pair of units
8
+ Creates the match table showing information for every pair of units.
9
9
 
10
10
  Parameters
11
11
  ----------
@@ -46,8 +46,8 @@ def make_match_table(scores_to_include, matches, output_prob, total_score, outpu
46
46
  unit_a_list = xx.reshape(n_units*n_units)
47
47
  unit_b_list = yy.reshape(n_units*n_units)
48
48
 
49
- sessions_ids = clus_info['sessions_ids']
50
- xx, yy = np.meshgrid(sessions_ids, sessions_ids)
49
+ session_id = clus_info['session_id']
50
+ xx, yy = np.meshgrid(session_id, session_id)
51
51
  unit_a_session_list = xx.reshape(n_units*n_units) + 1 # Add one here so it counts from one not 0
52
52
  unit_b_session_list = yy.reshape(n_units*n_units) + 1
53
53
 
@@ -442,8 +442,8 @@ def save_prob_for_phy(probability, param, clus_info):
442
442
  session_output = probability[session_switch[sid]:session_switch[sid+1], session_switch[sid]:session_switch[sid+1]]
443
443
  #If Only good units where used add values know to a matrix of NaNs
444
444
  if session_switch[sid+1] - session_switch[sid] != n_units_per_session[sid]:
445
- all_good_units = clus_info['GoodUnits'][sid].squeeze().astype(int)
446
- for id, gid in enumerate(clus_info['GoodUnits'][sid].astype(int)):
445
+ all_good_units = clus_info['good_units'][sid].squeeze().astype(int)
446
+ for id, gid in enumerate(clus_info['good_units'][sid].astype(int)):
447
447
  matrix_prob[gid, all_good_units] = session_output[id,:]
448
448
  else:
449
449
  matrix_prob = session_output
@@ -42,7 +42,7 @@ def assign_unique_id(output_prob_array, param, clus_info):
42
42
  List
43
43
  A list of arrays which gives each unit its group ID for each case
44
44
  """
45
- all_cluster_ids = clus_info['original_id'] # each units has unique ID
45
+ all_cluster_ids = clus_info['original_ids'] # each units has unique ID
46
46
 
47
47
  #create arrays for the unique ids
48
48
  unique_id_liberal = np.arange(all_cluster_ids.shape[0])
@@ -130,10 +130,12 @@ def load_good_waveforms(wave_paths, unit_label_paths, param, good_units_only = T
130
130
  if os.path.split(unit_label_paths[0])[1] == 'cluster_bc_unitType.tsv':
131
131
  unit_label = load_tsv(unit_label_paths[i])
132
132
  tmp_idx = np.array([s for s in unit_label if 'GOOD' in s or 'NON-SOMA GOOD' in s])[:,0].astype(np.int32)
133
+ tmp_idx = tmp_idx[:, np.newaxis] # keep the array shape consitant between different methodss
133
134
  else:
134
135
  unit_label = load_tsv(unit_label_paths[i])
135
136
  tmp_idx = np.argwhere(unit_label[:,1] == 'good')
136
137
 
138
+
137
139
  n_units_per_session_all.append(unit_label.shape[0])
138
140
  good_unit_idx = unit_label[tmp_idx, 0]
139
141
  good_units.append(good_unit_idx)
@@ -228,6 +230,7 @@ def get_good_units(unit_label_paths, good = True):
228
230
  tmp_idx = np.array([s for s in unit_label if 'GOOD' in s or 'NON-SOMA GOOD' in s])[:,0].astype(np.int32)
229
231
  else:
230
232
  tmp_idx = unit_label[:,0].astype(np.int32)
233
+ tmp_idx = tmp_idx[:, np.newaxis] # keep the array shape consitant between different methodss
231
234
  else:
232
235
  unit_label = load_tsv(unit_label_paths[i])
233
236
  if good == True:
@@ -0,0 +1,40 @@
1
+ Metadata-Version: 2.1
2
+ Name: UnitMatchPy
3
+ Version: 2.2
4
+ Author: Enny van Beest, Celian Bimbard and Sam Dodgson
5
+ Author-email: e.beest@ucl.ac.uk
6
+ Requires-Python: >=3.7
7
+ Description-Content-Type: text/markdown
8
+ License-File: LICENSE
9
+
10
+ # Unit Match - Python
11
+
12
+ ## Run UMPy
13
+
14
+ To run UMPy standard spike sorting data is needed; channel positions and 2 extracted raw waveforms for each unit. This can be calculated externally [BombCell](https://github.com/Julie-Fabre/bombcell) or using *extract_raw_demo.ipynb* to extract these waveforms from compressed data (.cbin and .ch) or raw data. There is also a [Spike Interface](https://spikeinterface.readthedocs.io/en/latest/) integrated notebook *UMPy_spike_interface_demo.ipynb* which uses spike interface to get this data.
15
+ Be careful not to mix and match the different ways of extracting raw waveforms, as there are difference between the methods.
16
+
17
+ There are to example notebooks for running UMPy *UMPy_example.ipynb* and *UMPy_example_detailed.ipynb*. These notebooks will guide you through running Unit Match all you need to supply is paths to the data. *UMPy_example.ipynb* is recommended to use first as it is simpler, however *UMPy_example_detailed.ipynb* may be useful in unique cases as it is more modular.
18
+
19
+ The GUI is a optional step to curated and investigate the information Unit Match has calculated; for efficient usage of the GUI please look at *GUI_Reference_Guide.md* in the Demo Notebooks folder.
20
+
21
+ ## Dependencies
22
+
23
+ This version relies on many core python packages: [numpy](https://numpy.org/), [scipy](https://scipy.org/), [JobLib](https://joblib.readthedocs.io/en/stable/), [pandas](https://pandas.pydata.org/), [tkinter](https://docs.python.org/3/library/tkinter.html) and [matplotlib](https://matplotlib.org/). All of these libaries come with a [Anaconda](https://www.anaconda.com/download/) version of python.
24
+ For extracting raw data, the library [mtscomp](https://github.com/int-brain-lab/mtscomp) is needed, and can be installed by `pip install mtscomp`.
25
+
26
+
27
+ ## Installation
28
+
29
+ After creating an python environment
30
+
31
+ ```
32
+ conda create --name UnitMatch python
33
+ conda activate UnitMatch
34
+ ```
35
+
36
+ You can install UnitMatchPy with pip. It will automatically install all the dependencies.
37
+
38
+ ```
39
+ pip install UnitMatchPy
40
+ ```
@@ -4,6 +4,7 @@ README.md
4
4
  setup.py
5
5
  UnitMatchPy/Extract_raw_data.py
6
6
  UnitMatchPy/GUI.py
7
+ UnitMatchPy/GUI_icon.png
7
8
  UnitMatchPy/Overlord.py
8
9
  UnitMatchPy/Save_utils.py
9
10
  UnitMatchPy/UM Logo.ico
@@ -5,7 +5,7 @@ with open('README.md', 'r') as f:
5
5
 
6
6
  setup(
7
7
  name="UnitMatchPy",
8
- version="2.1",
8
+ version="2.2",
9
9
  descriptin="Description of the package",
10
10
  author="Enny van Beest, Celian Bimbard and Sam Dodgson",
11
11
  author_email="e.beest@ucl.ac.uk",
UnitMatchPy-2.1/PKG-INFO DELETED
@@ -1,38 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: UnitMatchPy
3
- Version: 2.1
4
- Author: Enny van Beest, Celian Bimbard and Sam Dodgson
5
- Author-email: e.beest@ucl.ac.uk
6
- Requires-Python: >=3.7
7
- Description-Content-Type: text/markdown
8
- License-File: LICENSE
9
-
10
- # Unit Match - Python
11
-
12
- ## Run UMPy
13
-
14
- To run UMPy standard spike sorting data is needed; channel positions and 2 extractracted raw waveforms for each unit. This can be calculated exteranlly [BombCell](https://github.com/Julie-Fabre/bombcell) or using *ExtractRawDataDemo.ipynb* to extract these waveforms from compressed data (.cbin and .ch) or raw data. There is also a [Spike Interface](https://spikeinterface.readthedocs.io/en/latest/) intergrated notebook *UMPy_spike_interface_demo.ipynb* which uses spike interface to get this data.
15
- Be careful not to mix and match the different ways of exrtacting raw waveforms, as there are difference between the methods.
16
-
17
- There are to example notebooks for running UMPy *UMPyExample.ipynb* and *UMPyExampleBrief.ipynb*. These notebooks will guide you throuh running Unit Match all you need to supply is paths to the data. *UMPyExampleBried.ipynb* is reccomened to use first as it is simpler, however *UMPyExample.ipynb* may be useful in unique cases as it is more modular.
18
-
19
- The GUI is a optional step to curated and investigate the infomation Unit Match has calculated; for efficent usage of the GUI please look at *GUI_Reference_Guide.md* in the Demo Notebooks folder.
20
- ## Dependencies
21
- This version relies on many core python packages [numpy](https://numpy.org/), [scipy](https://scipy.org/), [JobLib](https://joblib.readthedocs.io/en/stable/), [pandas](https://pandas.pydata.org/), [tkinter](https://docs.python.org/3/library/tkinter.html) and [matplotlib](https://matplotlib.org/). All of these libaries come with a [Anaconda](https://www.anaconda.com/download/) version of python.
22
- For extracting raw data the library [mtscomp](https://github.com/int-brain-lab/mtscomp) is needed, this can be installed by `pip install mtscomp`.
23
-
24
-
25
- ## Installation
26
-
27
- After creating an python environment
28
-
29
- ```
30
- conda create --name UnitMatch python
31
- conda activate UnitMatch
32
- ```
33
-
34
- You can install UnitMatchPy with pip. It will automatically install all the dependency.
35
-
36
- ```
37
- pip install UnitMatchPy
38
- ```
UnitMatchPy-2.1/README.md DELETED
@@ -1,29 +0,0 @@
1
- # Unit Match - Python
2
-
3
- ## Run UMPy
4
-
5
- To run UMPy standard spike sorting data is needed; channel positions and 2 extractracted raw waveforms for each unit. This can be calculated exteranlly [BombCell](https://github.com/Julie-Fabre/bombcell) or using *ExtractRawDataDemo.ipynb* to extract these waveforms from compressed data (.cbin and .ch) or raw data. There is also a [Spike Interface](https://spikeinterface.readthedocs.io/en/latest/) intergrated notebook *UMPy_spike_interface_demo.ipynb* which uses spike interface to get this data.
6
- Be careful not to mix and match the different ways of exrtacting raw waveforms, as there are difference between the methods.
7
-
8
- There are to example notebooks for running UMPy *UMPyExample.ipynb* and *UMPyExampleBrief.ipynb*. These notebooks will guide you throuh running Unit Match all you need to supply is paths to the data. *UMPyExampleBried.ipynb* is reccomened to use first as it is simpler, however *UMPyExample.ipynb* may be useful in unique cases as it is more modular.
9
-
10
- The GUI is a optional step to curated and investigate the infomation Unit Match has calculated; for efficent usage of the GUI please look at *GUI_Reference_Guide.md* in the Demo Notebooks folder.
11
- ## Dependencies
12
- This version relies on many core python packages [numpy](https://numpy.org/), [scipy](https://scipy.org/), [JobLib](https://joblib.readthedocs.io/en/stable/), [pandas](https://pandas.pydata.org/), [tkinter](https://docs.python.org/3/library/tkinter.html) and [matplotlib](https://matplotlib.org/). All of these libaries come with a [Anaconda](https://www.anaconda.com/download/) version of python.
13
- For extracting raw data the library [mtscomp](https://github.com/int-brain-lab/mtscomp) is needed, this can be installed by `pip install mtscomp`.
14
-
15
-
16
- ## Installation
17
-
18
- After creating an python environment
19
-
20
- ```
21
- conda create --name UnitMatch python
22
- conda activate UnitMatch
23
- ```
24
-
25
- You can install UnitMatchPy with pip. It will automatically install all the dependency.
26
-
27
- ```
28
- pip install UnitMatchPy
29
- ```
@@ -1,38 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: UnitMatchPy
3
- Version: 2.1
4
- Author: Enny van Beest, Celian Bimbard and Sam Dodgson
5
- Author-email: e.beest@ucl.ac.uk
6
- Requires-Python: >=3.7
7
- Description-Content-Type: text/markdown
8
- License-File: LICENSE
9
-
10
- # Unit Match - Python
11
-
12
- ## Run UMPy
13
-
14
- To run UMPy standard spike sorting data is needed; channel positions and 2 extractracted raw waveforms for each unit. This can be calculated exteranlly [BombCell](https://github.com/Julie-Fabre/bombcell) or using *ExtractRawDataDemo.ipynb* to extract these waveforms from compressed data (.cbin and .ch) or raw data. There is also a [Spike Interface](https://spikeinterface.readthedocs.io/en/latest/) intergrated notebook *UMPy_spike_interface_demo.ipynb* which uses spike interface to get this data.
15
- Be careful not to mix and match the different ways of exrtacting raw waveforms, as there are difference between the methods.
16
-
17
- There are to example notebooks for running UMPy *UMPyExample.ipynb* and *UMPyExampleBrief.ipynb*. These notebooks will guide you throuh running Unit Match all you need to supply is paths to the data. *UMPyExampleBried.ipynb* is reccomened to use first as it is simpler, however *UMPyExample.ipynb* may be useful in unique cases as it is more modular.
18
-
19
- The GUI is a optional step to curated and investigate the infomation Unit Match has calculated; for efficent usage of the GUI please look at *GUI_Reference_Guide.md* in the Demo Notebooks folder.
20
- ## Dependencies
21
- This version relies on many core python packages [numpy](https://numpy.org/), [scipy](https://scipy.org/), [JobLib](https://joblib.readthedocs.io/en/stable/), [pandas](https://pandas.pydata.org/), [tkinter](https://docs.python.org/3/library/tkinter.html) and [matplotlib](https://matplotlib.org/). All of these libaries come with a [Anaconda](https://www.anaconda.com/download/) version of python.
22
- For extracting raw data the library [mtscomp](https://github.com/int-brain-lab/mtscomp) is needed, this can be installed by `pip install mtscomp`.
23
-
24
-
25
- ## Installation
26
-
27
- After creating an python environment
28
-
29
- ```
30
- conda create --name UnitMatch python
31
- conda activate UnitMatch
32
- ```
33
-
34
- You can install UnitMatchPy with pip. It will automatically install all the dependency.
35
-
36
- ```
37
- pip install UnitMatchPy
38
- ```
File without changes
File without changes