getTypeFromResultVector function
Implementation
Future<MagikaType> getTypeFromResultVector(Float32List resultVector) async {
int maxIndex = 0; // Default to the first index if all else fails.
double maxValue = -double.infinity;
// Efficiently find the index of the maximum value in the result vector
for (int i = 0; i < resultVector.length; i++) {
if (resultVector[i] > maxValue) {
maxValue = resultVector[i];
maxIndex = i;
// final label = labels[maxIndex];
// print('Label: $label, Value: $maxValue');
}
}
final label = labels[maxIndex];
assert(
resultVector.length == labels.length,
'Result vector length does not match the number of labels',
);
final matchingType = MagikaType.values.firstWhere(
(type) => type.targetLabel == label,
orElse: () {
return MagikaType.unknown;
},
);
return matchingType;
}