getTypeFromResultVector function

Future<MagikaType> getTypeFromResultVector(
  1. Float32List resultVector
)

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;
}