buildMatrix method

void buildMatrix()

Build matrix of current filter

Implementation

void buildMatrix() {
  if (filters.isEmpty) {
    return;
  }

  Matrix2d m2d = const Matrix2d();

  List result = m2d.reshape([filters[0]], 4, 5);
  // List listA = m2d.reshape([filters[0]], 4, 5);

  for (int i = 1; i < filters.length; i++) {
    List listB = [
      ...(filters[i] is ColorFilterGenerator
          ? (filters[i] as ColorFilterGenerator).matrix
          : filters[i]),
      0,
      0,
      0,
      0,
      1,
    ];

    // print(listA);
    // print(listB);

    result = m2d.dot(
      result,
      m2d.reshape([listB], 5, 5),
    );
  }

  matrix = List<double>.from(result.flatten.sublist(0, 20));
}