DwtFilter constructor

DwtFilter(
  1. double thres,
  2. int level
)

Implementation

DwtFilter(this.thres, this.level) {
  wDec = List.generate(level, (_) => DwtDecompose());
  wRec = List.generate(level, (_) => DwtReconstruct());

  app = List<double>.filled(level, 0, growable: true);
  det = List<double>.filled(level, 0, growable: true);
  reconApp = List<double>.filled(level, 0, growable: true);
  reconDet = List<double>.filled(level, 0, growable: true);
  window = List.generate(level, (i) => (fs / pow(2, i + 1) * 2.5).floor());
  cntApp = List<double>.filled(level, 0, growable: true);
  numApp = List<double>.filled(level, 0, growable: true);
  threshLevel = List<double>.filled(level, 0, growable: true);

  newDet = List.generate(level, (_) => []);
  detWindow = List.generate(level, (_) => []);

  newDet[level - 1].add(0);

  var levelList = <int>[];
  for (var i = level; i > 0; i--) {
    levelList.add(i);
  }

  for (var j = 0; j < level; j++) {
    var numReq = 0;
    for (var i = levelList[j]; i > 0; i--) {
      numReq += pow(2, i - 1).toInt();
    }
    minReq.add(filterLen * numReq - 1);
  }
  minReq = minReq.reversed.toList();
  minReq.insert(0, 0);
}