@souscheflabs/ml-vision 0.1.1 → 0.1.2

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 (149) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/LICENSE +15 -0
  3. package/README.md +50 -5
  4. package/dist/{components → cjs/components}/DetectionOverlay.js +1 -0
  5. package/dist/cjs/components/DetectionOverlay.js.map +1 -0
  6. package/dist/{components → cjs/components}/index.js +1 -0
  7. package/dist/cjs/components/index.js.map +1 -0
  8. package/dist/{core → cjs/core}/CacheManager.js +1 -0
  9. package/dist/cjs/core/CacheManager.js.map +1 -0
  10. package/dist/{core → cjs/core}/MLVisionProvider.js +4 -2
  11. package/dist/cjs/core/MLVisionProvider.js.map +1 -0
  12. package/dist/{core → cjs/core}/ServerClient.js +33 -13
  13. package/dist/cjs/core/ServerClient.js.map +1 -0
  14. package/dist/{core → cjs/core}/index.js +1 -0
  15. package/dist/cjs/core/index.js.map +1 -0
  16. package/dist/{hooks → cjs/hooks}/classLabels.js +1 -0
  17. package/dist/cjs/hooks/classLabels.js.map +1 -0
  18. package/dist/{hooks → cjs/hooks}/classLabelsCoco.js +1 -0
  19. package/dist/cjs/hooks/classLabelsCoco.js.map +1 -0
  20. package/dist/{hooks → cjs/hooks}/index.js +1 -0
  21. package/dist/cjs/hooks/index.js.map +1 -0
  22. package/dist/{hooks → cjs/hooks}/useMultiBarcodeScanner.js +6 -3
  23. package/dist/cjs/hooks/useMultiBarcodeScanner.js.map +1 -0
  24. package/dist/{hooks → cjs/hooks}/useProductDetector.js +161 -90
  25. package/dist/cjs/hooks/useProductDetector.js.map +1 -0
  26. package/dist/{hooks → cjs/hooks}/useReceiptScanner.js +60 -52
  27. package/dist/cjs/hooks/useReceiptScanner.js.map +1 -0
  28. package/dist/{hooks → cjs/hooks}/useVideoScanner.js +8 -5
  29. package/dist/cjs/hooks/useVideoScanner.js.map +1 -0
  30. package/dist/{index.js → cjs/index.js} +8 -4
  31. package/dist/cjs/index.js.map +1 -0
  32. package/dist/{processors → cjs/processors}/detectionProcessor.js +1 -0
  33. package/dist/cjs/processors/detectionProcessor.js.map +1 -0
  34. package/dist/{processors → cjs/processors}/index.js +1 -0
  35. package/dist/cjs/processors/index.js.map +1 -0
  36. package/dist/{processors → cjs/processors}/tfliteFrameProcessor.js +108 -25
  37. package/dist/cjs/processors/tfliteFrameProcessor.js.map +1 -0
  38. package/dist/{types → cjs/types}/barcode.js +1 -0
  39. package/dist/cjs/types/barcode.js.map +1 -0
  40. package/dist/{types → cjs/types}/detection.js +1 -0
  41. package/dist/cjs/types/detection.js.map +1 -0
  42. package/dist/{types → cjs/types}/index.js +1 -0
  43. package/dist/cjs/types/index.js.map +1 -0
  44. package/dist/{types → cjs/types}/ocr.js +1 -0
  45. package/dist/cjs/types/ocr.js.map +1 -0
  46. package/dist/{utils → cjs/utils}/imagePreprocessor.js +30 -25
  47. package/dist/cjs/utils/imagePreprocessor.js.map +1 -0
  48. package/dist/cjs/utils/logger.js +99 -0
  49. package/dist/cjs/utils/logger.js.map +1 -0
  50. package/dist/{utils → cjs/utils}/yoloProcessor.js +1 -0
  51. package/dist/cjs/utils/yoloProcessor.js.map +1 -0
  52. package/dist/esm/components/DetectionOverlay.js +130 -0
  53. package/dist/esm/components/DetectionOverlay.js.map +1 -0
  54. package/dist/esm/components/index.js +5 -0
  55. package/dist/esm/components/index.js.map +1 -0
  56. package/dist/esm/core/CacheManager.js +327 -0
  57. package/dist/esm/core/CacheManager.js.map +1 -0
  58. package/dist/esm/core/MLVisionProvider.js +185 -0
  59. package/dist/esm/core/MLVisionProvider.js.map +1 -0
  60. package/dist/esm/core/ServerClient.js +305 -0
  61. package/dist/esm/core/ServerClient.js.map +1 -0
  62. package/dist/esm/core/index.js +7 -0
  63. package/dist/esm/core/index.js.map +1 -0
  64. package/dist/esm/hooks/classLabels.js +436 -0
  65. package/dist/esm/hooks/classLabels.js.map +1 -0
  66. package/dist/esm/hooks/classLabelsCoco.js +98 -0
  67. package/dist/esm/hooks/classLabelsCoco.js.map +1 -0
  68. package/dist/esm/hooks/index.js +9 -0
  69. package/dist/esm/hooks/index.js.map +1 -0
  70. package/dist/esm/hooks/useMultiBarcodeScanner.js +290 -0
  71. package/dist/esm/hooks/useMultiBarcodeScanner.js.map +1 -0
  72. package/dist/esm/hooks/useProductDetector.js +714 -0
  73. package/dist/esm/hooks/useProductDetector.js.map +1 -0
  74. package/dist/esm/hooks/useReceiptScanner.js +407 -0
  75. package/dist/esm/hooks/useReceiptScanner.js.map +1 -0
  76. package/dist/esm/hooks/useVideoScanner.js +383 -0
  77. package/dist/esm/hooks/useVideoScanner.js.map +1 -0
  78. package/dist/esm/index.js +93 -0
  79. package/dist/esm/index.js.map +1 -0
  80. package/dist/esm/processors/detectionProcessor.js +121 -0
  81. package/dist/esm/processors/detectionProcessor.js.map +1 -0
  82. package/dist/esm/processors/index.js +7 -0
  83. package/dist/esm/processors/index.js.map +1 -0
  84. package/dist/esm/processors/tfliteFrameProcessor.js +292 -0
  85. package/dist/esm/processors/tfliteFrameProcessor.js.map +1 -0
  86. package/dist/esm/types/barcode.js +17 -0
  87. package/dist/esm/types/barcode.js.map +1 -0
  88. package/dist/esm/types/detection.js +8 -0
  89. package/dist/esm/types/detection.js.map +1 -0
  90. package/dist/esm/types/index.js +10 -0
  91. package/dist/esm/types/index.js.map +1 -0
  92. package/dist/esm/types/ocr.js +8 -0
  93. package/dist/esm/types/ocr.js.map +1 -0
  94. package/dist/esm/utils/imagePreprocessor.js +268 -0
  95. package/dist/esm/utils/imagePreprocessor.js.map +1 -0
  96. package/dist/esm/utils/logger.js +94 -0
  97. package/dist/esm/utils/logger.js.map +1 -0
  98. package/dist/esm/utils/yoloProcessor.js +151 -0
  99. package/dist/esm/utils/yoloProcessor.js.map +1 -0
  100. package/dist/{components → types/components}/DetectionOverlay.d.ts +1 -0
  101. package/dist/types/components/DetectionOverlay.d.ts.map +1 -0
  102. package/dist/{components → types/components}/index.d.ts +1 -0
  103. package/dist/types/components/index.d.ts.map +1 -0
  104. package/dist/{core → types/core}/CacheManager.d.ts +1 -0
  105. package/dist/types/core/CacheManager.d.ts.map +1 -0
  106. package/dist/{core → types/core}/MLVisionProvider.d.ts +1 -0
  107. package/dist/types/core/MLVisionProvider.d.ts.map +1 -0
  108. package/dist/{core → types/core}/ServerClient.d.ts +1 -0
  109. package/dist/types/core/ServerClient.d.ts.map +1 -0
  110. package/dist/{core → types/core}/index.d.ts +1 -0
  111. package/dist/types/core/index.d.ts.map +1 -0
  112. package/dist/{hooks → types/hooks}/classLabels.d.ts +1 -0
  113. package/dist/types/hooks/classLabels.d.ts.map +1 -0
  114. package/dist/{hooks → types/hooks}/classLabelsCoco.d.ts +1 -0
  115. package/dist/types/hooks/classLabelsCoco.d.ts.map +1 -0
  116. package/dist/{hooks → types/hooks}/index.d.ts +1 -0
  117. package/dist/types/hooks/index.d.ts.map +1 -0
  118. package/dist/{hooks → types/hooks}/useMultiBarcodeScanner.d.ts +1 -0
  119. package/dist/types/hooks/useMultiBarcodeScanner.d.ts.map +1 -0
  120. package/dist/{hooks → types/hooks}/useProductDetector.d.ts +1 -0
  121. package/dist/types/hooks/useProductDetector.d.ts.map +1 -0
  122. package/dist/{hooks → types/hooks}/useReceiptScanner.d.ts +2 -1
  123. package/dist/types/hooks/useReceiptScanner.d.ts.map +1 -0
  124. package/dist/{hooks → types/hooks}/useVideoScanner.d.ts +1 -0
  125. package/dist/types/hooks/useVideoScanner.d.ts.map +1 -0
  126. package/dist/types/index.d.ts +58 -124
  127. package/dist/types/index.d.ts.map +1 -0
  128. package/dist/{processors → types/processors}/detectionProcessor.d.ts +1 -0
  129. package/dist/types/processors/detectionProcessor.d.ts.map +1 -0
  130. package/dist/{processors → types/processors}/index.d.ts +1 -0
  131. package/dist/types/processors/index.d.ts.map +1 -0
  132. package/dist/{processors → types/processors}/tfliteFrameProcessor.d.ts +5 -4
  133. package/dist/types/processors/tfliteFrameProcessor.d.ts.map +1 -0
  134. package/dist/types/{barcode.d.ts → types/barcode.d.ts} +1 -0
  135. package/dist/types/types/barcode.d.ts.map +1 -0
  136. package/dist/types/{detection.d.ts → types/detection.d.ts} +1 -0
  137. package/dist/types/types/detection.d.ts.map +1 -0
  138. package/dist/types/types/index.d.ts +127 -0
  139. package/dist/types/types/index.d.ts.map +1 -0
  140. package/dist/types/{ocr.d.ts → types/ocr.d.ts} +1 -0
  141. package/dist/types/types/ocr.d.ts.map +1 -0
  142. package/dist/{utils → types/utils}/imagePreprocessor.d.ts +1 -0
  143. package/dist/types/utils/imagePreprocessor.d.ts.map +1 -0
  144. package/dist/types/utils/logger.d.ts +52 -0
  145. package/dist/types/utils/logger.d.ts.map +1 -0
  146. package/dist/{utils → types/utils}/yoloProcessor.d.ts +1 -0
  147. package/dist/types/utils/yoloProcessor.d.ts.map +1 -0
  148. package/package.json +62 -21
  149. package/dist/index.d.ts +0 -58
@@ -0,0 +1,436 @@
1
+ /**
2
+ * Class label mappings for the trained SousChef YOLOv8 model
3
+ *
4
+ * These labels correspond to the 233 classes in the souschef_coco_finetuned_v1 model.
5
+ * The model was fine-tuned on a dataset of food and kitchen items.
6
+ */
7
+ /**
8
+ * Categorize a food item label
9
+ */
10
+ function categorizeLabel(label) {
11
+ // Produce
12
+ const produce = [
13
+ 'acorn_squash', 'apple', 'asparagus', 'baby_carrots', 'baby_spinach',
14
+ 'banana', 'basil', 'bell_pepper', 'blackberries', 'blueberries',
15
+ 'broccoli', 'brussels_sprouts', 'butternut_squash', 'button_mushrooms',
16
+ 'carrot', 'cauliflower', 'celery', 'cherries', 'cherry_tomatoes',
17
+ 'chives', 'clementine', 'coconut', 'corn', 'cucumber', 'dill',
18
+ 'eggplant', 'english_cucumber', 'fuji_apple', 'garlic', 'ginger',
19
+ 'grapes', 'green_bell_pepper', 'green_onion', 'honeydew_melon',
20
+ 'jalapeno', 'kiwi', 'lemon', 'lettuce', 'lime', 'mango', 'mixed_greens',
21
+ 'mushrooms', 'napa_cabbage', 'onion', 'orange', 'pomegranate', 'potato',
22
+ 'raspberries', 'red_cabbage', 'red_onion', 'roma_tomato', 'romaine_lettuce',
23
+ 'rosemary', 'sage', 'shallot', 'spinach', 'spaghetti_squash',
24
+ 'strawberries', 'sweet_potato', 'tomatillo', 'tomato', 'white_onion',
25
+ 'yellow_onion', 'yellow_squash', 'yukon_gold_potato', 'zucchini',
26
+ 'd_anjou_p_r', 'd_anjou_p_rs_2_pound', 'p_es', 'p_rs', 'pe_s', 'chillies'
27
+ ];
28
+ // Meat & Seafood
29
+ const meat = [
30
+ 'ahi_tuna', 'bacon', 'beef_brisket', 'beef_broth', 'beef_short_ribs',
31
+ 'beef_tenderloin', 'catfish_fillets', 'catfish_fillets_fr_en_big_d_l',
32
+ 'catfish_st_k_sustainably_sourced', 'chicken_drumsticks', 'chicken_legs',
33
+ 'chicken_tenders', 'chicken_thighs', 'chicken_wings', 'chuck_roast',
34
+ 'cod', 'cod_fillet', 'filet_mignon', 'flank_steak', 'ground_beef',
35
+ 'ground_chicken', 'ground_lamb', 'ham', 'lobster', 'pork_belly',
36
+ 'pork_chops', 'pork_loin', 'pork_shoulder', 'pork_tenderloin',
37
+ 'rotisserie_chicken', 'ry_catfish_fillets', 'shrimp', 'sirloin_steak',
38
+ 'smoked_salmon', 'tilapia', 'tilapia_fillet'
39
+ ];
40
+ // Dairy
41
+ const dairy = [
42
+ 'blue_cheese', 'butter', 'cacique_queso_fresco', 'cheddar_cheese',
43
+ 'cr_m', 'egg_whites', 'eggs', 'goat_cheese', 'gouda_cheese',
44
+ 'greek_yogurt', 'h_vy_cr_m', 'half_and_half', 'large_eggs', 'milk',
45
+ 'mozzarella_cheese', 'parmesan_cheese', 'provolone_cheese',
46
+ 'salted_butter', 'shredded_cheese', 'skim_milk', 'sliced_cheese',
47
+ 'soy_milk', 'unsalted_butter', 'vegan_cr_m', 'whole_milk', 'yogurt'
48
+ ];
49
+ // Bakery
50
+ const bakery = [
51
+ 'baguette', 'br_d', 'br_dcrumbs', 'crusty_br_d', 'hot_dog_buns',
52
+ 'ladyfingers_bought_or', 'panko_br_d_crumbs', 'shortcrust_pastry',
53
+ 'white_bread'
54
+ ];
55
+ // Packaged/Pantry
56
+ const packaged = [
57
+ 'all_purpose_flour', 'balsamic_vinegar', 'bbq_sauce', 'blackberry_preserves_seedless',
58
+ 'blackeye_p_s', 'bonne_maman_blackberry_preserves', 'brown_rice', 'brown_sugar',
59
+ 'cardamom_pods', 'chickpeas', 'chilli_flakes', 'citric_acid', 'crushed_tomatoes',
60
+ 'diced_tomatoes', 'double_strength_liquid_rennet', 'extra_virgin_olive_oil',
61
+ 'flour', 'garam_masala', 'garbanzo_b_ns', 'herbs_de_province', 'honey',
62
+ 'hot_sauce', 'jam', 'marinara_sauce', 'mayonnaise', 'mustard',
63
+ 'non_dairy_nutritional_y_st', 'olive_oil', 'on_the_border_monterey_jack_queso',
64
+ 'oregano', 'paprika', 'parchment_pa_to_line_the_baking_pan', 'pasta',
65
+ 'pinto_beans', 'polaner_with_fiber_seedless_blackberry_preserves_g',
66
+ 'powdered_sugar', 'pre_d_pepitas', 'pumpkin_pie_spice_shaker', 'quick_p_rled_barley',
67
+ 'rice', 's_soning', 'salsa', 'shirataki', 'spaghetti', 'stock', 'sugar',
68
+ 'tomato_paste', 'tomato_sauce', 'unsweetened_chocolate_baking_squares',
69
+ 'unsweetened_coconut_flakes', 'vanilla', 'vegetable_oil', 'xanthan_gum',
70
+ 'rosemary_l_ves', 'bay_l_f'
71
+ ];
72
+ // Snacks
73
+ const snack = [
74
+ 'cashews', 'chifles_plantain_strips', 'granola_bar', 'kind_pumpkin_seeds',
75
+ 'mixed_nuts', 'peanuts', 'philadelphia_snack_de_s_chocolate', 'plantain_single',
76
+ 'pretzels', 'protein_bar', 'tortilla_chips', 'trail_mix', 'walnuts',
77
+ 'vegan_marshmallows'
78
+ ];
79
+ // Beverages
80
+ const beverage = [
81
+ 'bottled_water', 'cr_m_soda', 'cranberry_juice', 'orange_juice',
82
+ 'sparkling_water', 'bigelow_benefits_cinnamon_blackberry_herbal_t_s',
83
+ 'ly_pulled_espresso_to', 'mamma_chia_chia_squeeze_blackberry_bliss_vitality',
84
+ 'twinings_londin_immue_support_blackberry_flavored'
85
+ ];
86
+ // Frozen
87
+ const frozen = [
88
+ 'bakery_pumpkin_pie', 'frozen_fruit', 'marie_callender_s_pumpkin_pie_fr_en_dessert',
89
+ 'microwave_the_noodles'
90
+ ];
91
+ // Supplements/Other
92
+ const other = [
93
+ 'melatonin_gummies_blackberry_5mg', 'olly_men_s_multivitamin_blackberry_flavored_gummy',
94
+ 'olly_sleep_blackberry_flavor_gummy_supplement_mela',
95
+ 'olly_strength_sleep_blackberry_flavor_gummy_supple',
96
+ 'purina_friskies_fish_a_licious_wet_cat_in_gravy_va',
97
+ 'spice_islands_pumpkin_pie_spice_kosher', 'grown_fairytale_pumpkin',
98
+ 'grown_pie_pumpkins', 'grown_pumpkins_up_to_13_s', 'grown_pumpkins_up_to_19_s',
99
+ 'la_costena_tomatillos', 'portobello_mushrooms'
100
+ ];
101
+ if (produce.includes(label))
102
+ return 'produce';
103
+ if (meat.includes(label))
104
+ return 'meat';
105
+ if (dairy.includes(label))
106
+ return 'dairy';
107
+ if (bakery.includes(label))
108
+ return 'bakery';
109
+ if (packaged.includes(label))
110
+ return 'packaged';
111
+ if (snack.includes(label))
112
+ return 'snack';
113
+ if (beverage.includes(label))
114
+ return 'beverage';
115
+ if (frozen.includes(label))
116
+ return 'frozen';
117
+ if (other.includes(label))
118
+ return 'unknown';
119
+ // Default categorization based on common patterns
120
+ if (label.includes('cheese'))
121
+ return 'dairy';
122
+ if (label.includes('milk') || label.includes('cream') || label.includes('butter'))
123
+ return 'dairy';
124
+ if (label.includes('beef') || label.includes('chicken') || label.includes('pork') ||
125
+ label.includes('fish') || label.includes('shrimp') || label.includes('salmon'))
126
+ return 'meat';
127
+ if (label.includes('bread') || label.includes('bun'))
128
+ return 'bakery';
129
+ if (label.includes('juice') || label.includes('water') || label.includes('soda'))
130
+ return 'beverage';
131
+ return 'unknown';
132
+ }
133
+ /**
134
+ * Map class index to label and category (233 classes)
135
+ */
136
+ export const CLASS_LABELS = {
137
+ 0: { label: 'acorn_squash', category: 'produce' },
138
+ 1: { label: 'ahi_tuna', category: 'meat' },
139
+ 2: { label: 'all_purpose_flour', category: 'packaged' },
140
+ 3: { label: 'apple', category: 'produce' },
141
+ 4: { label: 'asparagus', category: 'produce' },
142
+ 5: { label: 'baby_carrots', category: 'produce' },
143
+ 6: { label: 'baby_spinach', category: 'produce' },
144
+ 7: { label: 'bacon', category: 'meat' },
145
+ 8: { label: 'baguette', category: 'bakery' },
146
+ 9: { label: 'bakery_pumpkin_pie', category: 'frozen' },
147
+ 10: { label: 'balsamic_vinegar', category: 'packaged' },
148
+ 11: { label: 'banana', category: 'produce' },
149
+ 12: { label: 'basil', category: 'produce' },
150
+ 13: { label: 'bay_l_f', category: 'spice' },
151
+ 14: { label: 'bbq_sauce', category: 'condiment' },
152
+ 15: { label: 'beef_brisket', category: 'meat' },
153
+ 16: { label: 'beef_broth', category: 'packaged' },
154
+ 17: { label: 'beef_short_ribs', category: 'meat' },
155
+ 18: { label: 'beef_tenderloin', category: 'meat' },
156
+ 19: { label: 'bell_pepper', category: 'produce' },
157
+ 20: { label: 'bigelow_benefits_cinnamon_blackberry_herbal_t_s', category: 'beverage' },
158
+ 21: { label: 'blackberries', category: 'produce' },
159
+ 22: { label: 'blackberry_preserves_seedless', category: 'packaged' },
160
+ 23: { label: 'blackeye_p_s', category: 'packaged' },
161
+ 24: { label: 'blue_cheese', category: 'dairy' },
162
+ 25: { label: 'blueberries', category: 'produce' },
163
+ 26: { label: 'bonne_maman_blackberry_preserves', category: 'packaged' },
164
+ 27: { label: 'bottled_water', category: 'beverage' },
165
+ 28: { label: 'br_d', category: 'bakery' },
166
+ 29: { label: 'br_dcrumbs', category: 'packaged' },
167
+ 30: { label: 'broccoli', category: 'produce' },
168
+ 31: { label: 'brown_rice', category: 'packaged' },
169
+ 32: { label: 'brown_sugar', category: 'packaged' },
170
+ 33: { label: 'brussels_sprouts', category: 'produce' },
171
+ 34: { label: 'butter', category: 'dairy' },
172
+ 35: { label: 'butternut_squash', category: 'produce' },
173
+ 36: { label: 'button_mushrooms', category: 'produce' },
174
+ 37: { label: 'cacique_queso_fresco', category: 'dairy' },
175
+ 38: { label: 'cardamom_pods', category: 'spice' },
176
+ 39: { label: 'carrot', category: 'produce' },
177
+ 40: { label: 'cashews', category: 'snack' },
178
+ 41: { label: 'catfish_fillets', category: 'meat' },
179
+ 42: { label: 'catfish_fillets_fr_en_big_d_l', category: 'meat' },
180
+ 43: { label: 'catfish_st_k_sustainably_sourced', category: 'meat' },
181
+ 44: { label: 'cauliflower', category: 'produce' },
182
+ 45: { label: 'celery', category: 'produce' },
183
+ 46: { label: 'cheddar_cheese', category: 'dairy' },
184
+ 47: { label: 'cherries', category: 'produce' },
185
+ 48: { label: 'cherry_tomatoes', category: 'produce' },
186
+ 49: { label: 'chicken_drumsticks', category: 'meat' },
187
+ 50: { label: 'chicken_legs', category: 'meat' },
188
+ 51: { label: 'chicken_tenders', category: 'meat' },
189
+ 52: { label: 'chicken_thighs', category: 'meat' },
190
+ 53: { label: 'chicken_wings', category: 'meat' },
191
+ 54: { label: 'chickpeas', category: 'packaged' },
192
+ 55: { label: 'chifles_plantain_strips', category: 'snack' },
193
+ 56: { label: 'chilli_flakes', category: 'spice' },
194
+ 57: { label: 'chillies', category: 'produce' },
195
+ 58: { label: 'chives', category: 'produce' },
196
+ 59: { label: 'chuck_roast', category: 'meat' },
197
+ 60: { label: 'citric_acid', category: 'packaged' },
198
+ 61: { label: 'clementine', category: 'produce' },
199
+ 62: { label: 'coconut', category: 'produce' },
200
+ 63: { label: 'cod', category: 'meat' },
201
+ 64: { label: 'cod_fillet', category: 'meat' },
202
+ 65: { label: 'corn', category: 'produce' },
203
+ 66: { label: 'cr_m', category: 'dairy' },
204
+ 67: { label: 'cr_m_soda', category: 'beverage' },
205
+ 68: { label: 'cranberry_juice', category: 'beverage' },
206
+ 69: { label: 'crushed_tomatoes', category: 'packaged' },
207
+ 70: { label: 'crusty_br_d', category: 'bakery' },
208
+ 71: { label: 'cucumber', category: 'produce' },
209
+ 72: { label: 'd_anjou_p_r', category: 'produce' },
210
+ 73: { label: 'd_anjou_p_rs_2_pound', category: 'produce' },
211
+ 74: { label: 'diced_tomatoes', category: 'packaged' },
212
+ 75: { label: 'dill', category: 'produce' },
213
+ 76: { label: 'double_strength_liquid_rennet', category: 'packaged' },
214
+ 77: { label: 'egg_whites', category: 'dairy' },
215
+ 78: { label: 'eggplant', category: 'produce' },
216
+ 79: { label: 'eggs', category: 'dairy' },
217
+ 80: { label: 'english_cucumber', category: 'produce' },
218
+ 81: { label: 'extra_virgin_olive_oil', category: 'packaged' },
219
+ 82: { label: 'filet_mignon', category: 'meat' },
220
+ 83: { label: 'flank_steak', category: 'meat' },
221
+ 84: { label: 'flour', category: 'packaged' },
222
+ 85: { label: 'frozen_fruit', category: 'frozen' },
223
+ 86: { label: 'fuji_apple', category: 'produce' },
224
+ 87: { label: 'garam_masala', category: 'spice' },
225
+ 88: { label: 'garbanzo_b_ns', category: 'packaged' },
226
+ 89: { label: 'garlic', category: 'produce' },
227
+ 90: { label: 'ginger', category: 'produce' },
228
+ 91: { label: 'goat_cheese', category: 'dairy' },
229
+ 92: { label: 'gouda_cheese', category: 'dairy' },
230
+ 93: { label: 'granola_bar', category: 'snack' },
231
+ 94: { label: 'grapes', category: 'produce' },
232
+ 95: { label: 'greek_yogurt', category: 'dairy' },
233
+ 96: { label: 'green_bell_pepper', category: 'produce' },
234
+ 97: { label: 'green_onion', category: 'produce' },
235
+ 98: { label: 'ground_beef', category: 'meat' },
236
+ 99: { label: 'ground_chicken', category: 'meat' },
237
+ 100: { label: 'ground_lamb', category: 'meat' },
238
+ 101: { label: 'grown_fairytale_pumpkin', category: 'produce' },
239
+ 102: { label: 'grown_pie_pumpkins', category: 'produce' },
240
+ 103: { label: 'grown_pumpkins_up_to_13_s', category: 'produce' },
241
+ 104: { label: 'grown_pumpkins_up_to_19_s', category: 'produce' },
242
+ 105: { label: 'h_vy_cr_m', category: 'dairy' },
243
+ 106: { label: 'half_and_half', category: 'dairy' },
244
+ 107: { label: 'herbs_de_province', category: 'spice' },
245
+ 108: { label: 'honey', category: 'packaged' },
246
+ 109: { label: 'honeydew_melon', category: 'produce' },
247
+ 110: { label: 'hot_dog_buns', category: 'bakery' },
248
+ 111: { label: 'hot_sauce', category: 'condiment' },
249
+ 112: { label: 'jalapeno', category: 'produce' },
250
+ 113: { label: 'jam', category: 'packaged' },
251
+ 114: { label: 'kind_pumpkin_seeds', category: 'snack' },
252
+ 115: { label: 'kiwi', category: 'produce' },
253
+ 116: { label: 'la_costena_tomatillos', category: 'packaged' },
254
+ 117: { label: 'ladyfingers_bought_or', category: 'bakery' },
255
+ 118: { label: 'large_eggs', category: 'dairy' },
256
+ 119: { label: 'lemon', category: 'produce' },
257
+ 120: { label: 'lettuce', category: 'produce' },
258
+ 121: { label: 'lime', category: 'produce' },
259
+ 122: { label: 'lobster', category: 'meat' },
260
+ 123: { label: 'ly_pulled_espresso_to', category: 'beverage' },
261
+ 124: { label: 'mamma_chia_chia_squeeze_blackberry_bliss_vitality', category: 'beverage' },
262
+ 125: { label: 'mango', category: 'produce' },
263
+ 126: { label: 'marie_callender_s_pumpkin_pie_fr_en_dessert', category: 'frozen' },
264
+ 127: { label: 'marinara_sauce', category: 'packaged' },
265
+ 128: { label: 'mayonnaise', category: 'condiment' },
266
+ 129: { label: 'melatonin_gummies_blackberry_5mg', category: 'unknown' },
267
+ 130: { label: 'microwave_the_noodles', category: 'frozen' },
268
+ 131: { label: 'mixed_greens', category: 'produce' },
269
+ 132: { label: 'mixed_nuts', category: 'snack' },
270
+ 133: { label: 'mozzarella_cheese', category: 'dairy' },
271
+ 134: { label: 'mushrooms', category: 'produce' },
272
+ 135: { label: 'mustard', category: 'condiment' },
273
+ 136: { label: 'napa_cabbage', category: 'produce' },
274
+ 137: { label: 'non_dairy_nutritional_y_st', category: 'packaged' },
275
+ 138: { label: 'olive_oil', category: 'packaged' },
276
+ 139: { label: 'olly_men_s_multivitamin_blackberry_flavored_gummy', category: 'unknown' },
277
+ 140: { label: 'olly_sleep_blackberry_flavor_gummy_supplement_mela', category: 'unknown' },
278
+ 141: { label: 'olly_strength_sleep_blackberry_flavor_gummy_supple', category: 'unknown' },
279
+ 142: { label: 'on_the_border_monterey_jack_queso', category: 'packaged' },
280
+ 143: { label: 'onion', category: 'produce' },
281
+ 144: { label: 'orange', category: 'produce' },
282
+ 145: { label: 'orange_juice', category: 'beverage' },
283
+ 146: { label: 'oregano', category: 'spice' },
284
+ 147: { label: 'p_es', category: 'produce' },
285
+ 148: { label: 'p_rs', category: 'produce' },
286
+ 149: { label: 'panko_br_d_crumbs', category: 'packaged' },
287
+ 150: { label: 'paprika', category: 'spice' },
288
+ 151: { label: 'parchment_pa_to_line_the_baking_pan', category: 'packaged' },
289
+ 152: { label: 'parmesan_cheese', category: 'dairy' },
290
+ 153: { label: 'pasta', category: 'packaged' },
291
+ 154: { label: 'pe_s', category: 'produce' },
292
+ 155: { label: 'peanuts', category: 'snack' },
293
+ 156: { label: 'philadelphia_snack_de_s_chocolate', category: 'snack' },
294
+ 157: { label: 'pinto_beans', category: 'packaged' },
295
+ 158: { label: 'plantain_single', category: 'produce' },
296
+ 159: { label: 'polaner_with_fiber_seedless_blackberry_preserves_g', category: 'packaged' },
297
+ 160: { label: 'pomegranate', category: 'produce' },
298
+ 161: { label: 'pork_belly', category: 'meat' },
299
+ 162: { label: 'pork_chops', category: 'meat' },
300
+ 163: { label: 'pork_loin', category: 'meat' },
301
+ 164: { label: 'pork_shoulder', category: 'meat' },
302
+ 165: { label: 'pork_tenderloin', category: 'meat' },
303
+ 166: { label: 'portobello_mushrooms', category: 'produce' },
304
+ 167: { label: 'potato', category: 'produce' },
305
+ 168: { label: 'powdered_sugar', category: 'packaged' },
306
+ 169: { label: 'pre_d_pepitas', category: 'snack' },
307
+ 170: { label: 'pretzels', category: 'snack' },
308
+ 171: { label: 'protein_bar', category: 'snack' },
309
+ 172: { label: 'provolone_cheese', category: 'dairy' },
310
+ 173: { label: 'pumpkin_pie_spice_shaker', category: 'spice' },
311
+ 174: { label: 'purina_friskies_fish_a_licious_wet_cat_in_gravy_va', category: 'unknown' },
312
+ 175: { label: 'quick_p_rled_barley', category: 'packaged' },
313
+ 176: { label: 'raspberries', category: 'produce' },
314
+ 177: { label: 'red_cabbage', category: 'produce' },
315
+ 178: { label: 'red_onion', category: 'produce' },
316
+ 179: { label: 'rice', category: 'packaged' },
317
+ 180: { label: 'roma_tomato', category: 'produce' },
318
+ 181: { label: 'romaine_lettuce', category: 'produce' },
319
+ 182: { label: 'rosemary', category: 'produce' },
320
+ 183: { label: 'rosemary_l_ves', category: 'spice' },
321
+ 184: { label: 'rotisserie_chicken', category: 'meat' },
322
+ 185: { label: 'ry_catfish_fillets', category: 'meat' },
323
+ 186: { label: 's_soning', category: 'spice' },
324
+ 187: { label: 'sage', category: 'produce' },
325
+ 188: { label: 'salsa', category: 'condiment' },
326
+ 189: { label: 'salted_butter', category: 'dairy' },
327
+ 190: { label: 'shallot', category: 'produce' },
328
+ 191: { label: 'shirataki', category: 'packaged' },
329
+ 192: { label: 'shortcrust_pastry', category: 'bakery' },
330
+ 193: { label: 'shredded_cheese', category: 'dairy' },
331
+ 194: { label: 'shrimp', category: 'meat' },
332
+ 195: { label: 'sirloin_steak', category: 'meat' },
333
+ 196: { label: 'skim_milk', category: 'dairy' },
334
+ 197: { label: 'sliced_cheese', category: 'dairy' },
335
+ 198: { label: 'smoked_salmon', category: 'meat' },
336
+ 199: { label: 'soy_milk', category: 'dairy' },
337
+ 200: { label: 'spaghetti', category: 'packaged' },
338
+ 201: { label: 'spaghetti_squash', category: 'produce' },
339
+ 202: { label: 'sparkling_water', category: 'beverage' },
340
+ 203: { label: 'spice_islands_pumpkin_pie_spice_kosher', category: 'spice' },
341
+ 204: { label: 'spinach', category: 'produce' },
342
+ 205: { label: 'stock', category: 'packaged' },
343
+ 206: { label: 'sugar', category: 'packaged' },
344
+ 207: { label: 'tilapia', category: 'meat' },
345
+ 208: { label: 'tilapia_fillet', category: 'meat' },
346
+ 209: { label: 'tomatillo', category: 'produce' },
347
+ 210: { label: 'tomato', category: 'produce' },
348
+ 211: { label: 'tomato_paste', category: 'packaged' },
349
+ 212: { label: 'tomato_sauce', category: 'packaged' },
350
+ 213: { label: 'tortilla_chips', category: 'snack' },
351
+ 214: { label: 'trail_mix', category: 'snack' },
352
+ 215: { label: 'twinings_londin_immue_support_blackberry_flavored', category: 'beverage' },
353
+ 216: { label: 'unsalted_butter', category: 'dairy' },
354
+ 217: { label: 'unsweetened_chocolate_baking_squares', category: 'packaged' },
355
+ 218: { label: 'unsweetened_coconut_flakes', category: 'packaged' },
356
+ 219: { label: 'vanilla', category: 'packaged' },
357
+ 220: { label: 'vegan_cr_m', category: 'dairy' },
358
+ 221: { label: 'vegan_marshmallows', category: 'snack' },
359
+ 222: { label: 'vegetable_oil', category: 'packaged' },
360
+ 223: { label: 'walnuts', category: 'snack' },
361
+ 224: { label: 'white_bread', category: 'bakery' },
362
+ 225: { label: 'white_onion', category: 'produce' },
363
+ 226: { label: 'whole_milk', category: 'dairy' },
364
+ 227: { label: 'xanthan_gum', category: 'packaged' },
365
+ 228: { label: 'yellow_onion', category: 'produce' },
366
+ 229: { label: 'yellow_squash', category: 'produce' },
367
+ 230: { label: 'yogurt', category: 'dairy' },
368
+ 231: { label: 'yukon_gold_potato', category: 'produce' },
369
+ 232: { label: 'zucchini', category: 'produce' },
370
+ };
371
+ /**
372
+ * Number of classes in the model
373
+ */
374
+ export const NUM_CLASSES = 233;
375
+ /**
376
+ * Get label info for a class index
377
+ */
378
+ export function getClassInfo(classIndex) {
379
+ const info = CLASS_LABELS[classIndex];
380
+ if (info) {
381
+ return info;
382
+ }
383
+ // Fallback for unknown indices
384
+ return { label: `class_${classIndex}`, category: 'unknown' };
385
+ }
386
+ /**
387
+ * Get all labels as an array (ordered by class index)
388
+ */
389
+ export function getLabelsArray() {
390
+ const labels = [];
391
+ for (let i = 0; i < NUM_CLASSES; i++) {
392
+ labels.push(CLASS_LABELS[i]?.label ?? `class_${i}`);
393
+ }
394
+ return labels;
395
+ }
396
+ /**
397
+ * Category to class indices mapping
398
+ */
399
+ export const CATEGORY_CLASSES = {
400
+ produce: Object.entries(CLASS_LABELS)
401
+ .filter(([, v]) => v.category === 'produce')
402
+ .map(([k]) => parseInt(k, 10)),
403
+ meat: Object.entries(CLASS_LABELS)
404
+ .filter(([, v]) => v.category === 'meat')
405
+ .map(([k]) => parseInt(k, 10)),
406
+ dairy: Object.entries(CLASS_LABELS)
407
+ .filter(([, v]) => v.category === 'dairy')
408
+ .map(([k]) => parseInt(k, 10)),
409
+ packaged: Object.entries(CLASS_LABELS)
410
+ .filter(([, v]) => v.category === 'packaged')
411
+ .map(([k]) => parseInt(k, 10)),
412
+ bakery: Object.entries(CLASS_LABELS)
413
+ .filter(([, v]) => v.category === 'bakery')
414
+ .map(([k]) => parseInt(k, 10)),
415
+ snack: Object.entries(CLASS_LABELS)
416
+ .filter(([, v]) => v.category === 'snack')
417
+ .map(([k]) => parseInt(k, 10)),
418
+ beverage: Object.entries(CLASS_LABELS)
419
+ .filter(([, v]) => v.category === 'beverage')
420
+ .map(([k]) => parseInt(k, 10)),
421
+ condiment: Object.entries(CLASS_LABELS)
422
+ .filter(([, v]) => v.category === 'condiment')
423
+ .map(([k]) => parseInt(k, 10)),
424
+ spice: Object.entries(CLASS_LABELS)
425
+ .filter(([, v]) => v.category === 'spice')
426
+ .map(([k]) => parseInt(k, 10)),
427
+ frozen: Object.entries(CLASS_LABELS)
428
+ .filter(([, v]) => v.category === 'frozen')
429
+ .map(([k]) => parseInt(k, 10)),
430
+ unknown: Object.entries(CLASS_LABELS)
431
+ .filter(([, v]) => v.category === 'unknown')
432
+ .map(([k]) => parseInt(k, 10)),
433
+ };
434
+ // Export the categorize function for use elsewhere
435
+ export { categorizeLabel };
436
+ //# sourceMappingURL=classLabels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classLabels.js","sourceRoot":"","sources":["../../../src/hooks/classLabels.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Class label mappings for YOLOv8 COCO model
3
+ *
4
+ * These labels correspond to the 80 classes in the COCO dataset.
5
+ * Food-related classes: banana (46), apple (47), sandwich (48), orange (49),
6
+ * broccoli (50), carrot (51), hot dog (52), pizza (53), donut (54), cake (55)
7
+ */
8
+ /**
9
+ * COCO class names in order
10
+ */
11
+ export const COCO_CLASSES = [
12
+ 'person', 'bicycle', 'car', 'motorcycle', 'airplane', 'bus', 'train', 'truck',
13
+ 'boat', 'traffic light', 'fire hydrant', 'stop sign', 'parking meter', 'bench',
14
+ 'bird', 'cat', 'dog', 'horse', 'sheep', 'cow', 'elephant', 'bear', 'zebra',
15
+ 'giraffe', 'backpack', 'umbrella', 'handbag', 'tie', 'suitcase', 'frisbee',
16
+ 'skis', 'snowboard', 'sports ball', 'kite', 'baseball bat', 'baseball glove',
17
+ 'skateboard', 'surfboard', 'tennis racket', 'bottle', 'wine glass', 'cup',
18
+ 'fork', 'knife', 'spoon', 'bowl', 'banana', 'apple', 'sandwich', 'orange',
19
+ 'broccoli', 'carrot', 'hot dog', 'pizza', 'donut', 'cake', 'chair', 'couch',
20
+ 'potted plant', 'bed', 'dining table', 'toilet', 'tv', 'laptop', 'mouse',
21
+ 'remote', 'keyboard', 'cell phone', 'microwave', 'oven', 'toaster', 'sink',
22
+ 'refrigerator', 'book', 'clock', 'vase', 'scissors', 'teddy bear', 'hair drier',
23
+ 'toothbrush'
24
+ ];
25
+ /**
26
+ * Map COCO class to a product category
27
+ */
28
+ function getCocoCategory(label) {
29
+ // Food items
30
+ const produceItems = ['banana', 'apple', 'orange', 'broccoli', 'carrot'];
31
+ const meatItems = ['hot dog'];
32
+ const bakeryItems = ['sandwich', 'pizza', 'donut', 'cake'];
33
+ const dairyItems = [];
34
+ const beverageItems = ['bottle', 'wine glass', 'cup'];
35
+ const condimentItems = ['bowl']; // Often contains condiments/sauces
36
+ if (produceItems.includes(label))
37
+ return 'produce';
38
+ if (meatItems.includes(label))
39
+ return 'meat';
40
+ if (bakeryItems.includes(label))
41
+ return 'bakery';
42
+ if (dairyItems.includes(label))
43
+ return 'dairy';
44
+ if (beverageItems.includes(label))
45
+ return 'beverage';
46
+ if (condimentItems.includes(label))
47
+ return 'condiment';
48
+ // Kitchen items (useful for context)
49
+ const kitchenItems = [
50
+ 'fork', 'knife', 'spoon', 'microwave', 'oven', 'toaster', 'sink',
51
+ 'refrigerator', 'dining table'
52
+ ];
53
+ if (kitchenItems.includes(label))
54
+ return 'unknown'; // Not a product but kitchen context
55
+ return 'unknown';
56
+ }
57
+ /**
58
+ * Map class index to label and category for COCO
59
+ */
60
+ export const CLASS_LABELS_COCO = Object.fromEntries(COCO_CLASSES.map((label, index) => [
61
+ index,
62
+ { label, category: getCocoCategory(label) }
63
+ ]));
64
+ /**
65
+ * Number of classes in COCO model
66
+ */
67
+ export const NUM_CLASSES_COCO = 80;
68
+ /**
69
+ * Food class indices in COCO (useful for filtering)
70
+ */
71
+ export const FOOD_CLASS_INDICES = [46, 47, 48, 49, 50, 51, 52, 53, 54, 55];
72
+ /**
73
+ * Kitchen/dining class indices (context)
74
+ */
75
+ export const KITCHEN_CLASS_INDICES = [39, 40, 41, 42, 43, 44, 45, 60, 68, 69, 70, 71, 72];
76
+ /**
77
+ * Get label info for a COCO class index
78
+ */
79
+ export function getCocoClassInfo(classIndex) {
80
+ const info = CLASS_LABELS_COCO[classIndex];
81
+ if (info) {
82
+ return info;
83
+ }
84
+ return { label: `class_${classIndex}`, category: 'unknown' };
85
+ }
86
+ /**
87
+ * Check if a class index is a food item
88
+ */
89
+ export function isFoodClass(classIndex) {
90
+ return FOOD_CLASS_INDICES.includes(classIndex);
91
+ }
92
+ /**
93
+ * Get all COCO labels as an array
94
+ */
95
+ export function getCocoLabelsArray() {
96
+ return [...COCO_CLASSES];
97
+ }
98
+ //# sourceMappingURL=classLabelsCoco.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classLabelsCoco.js","sourceRoot":"","sources":["../../../src/hooks/classLabelsCoco.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Hooks exports
3
+ */
4
+ export { useProductDetector, default as useProductDetectorDefault } from './useProductDetector';
5
+ export { useMultiBarcodeScanner, default as useMultiBarcodeScannerDefault } from './useMultiBarcodeScanner';
6
+ export { useReceiptScanner, default as useReceiptScannerDefault } from './useReceiptScanner';
7
+ export { useVideoScanner, default as useVideoScannerDefault, } from './useVideoScanner';
8
+ export { CLASS_LABELS, NUM_CLASSES, getClassInfo, getLabelsArray, CATEGORY_CLASSES } from './classLabels';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAChG,OAAO,EAAE,sBAAsB,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AAC5G,OAAO,EAAE,iBAAiB,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EACL,eAAe,EACf,OAAO,IAAI,sBAAsB,GAKlC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}