public static List <double> CaculateA(HolesAD ad, HolesAD fullAd, HolesT t, ALimit limit, string str) { List <double> tgList = new List <double>(); HolesA a = new HolesA(t.LED_ROW, t.LED_COL, t.LED_NUMS); for (int i = 0; i < t.LED_ROW; ++i) { for (int j = 0; j < t.LED_COL; ++j) { for (int k = 0; k < t.LED_NUMS; ++k) { if (_VALUE_INVALID == t.tValues[i][j][k]) { a.aValues[i][j][k] = _VALUE_INVALID; } else if (_VALUE_OVERFLOW == t.tValues[i][j][k]) { a.aValues[i][j][k] = _VALUE_OVERFLOW; } else if (1 == t.tValues[i][j][k]) { a.aValues[i][j][k] = 0; } else { if (ad.adValues[i][j][k] < 1) { a.aValues[i][j][k] = 5; } else { a.aValues[i][j][k] = Math.Log10(fullAd.adValues[i][j][k] / ad.adValues[i][j][k]); } } tgList.Add(a.aValues[i][j][k]); } } } return(tgList); }
// 吸光度 标准曲线法,只需要计算吸光度即可。 public static HolesA CaculateA(HolesAD ad, HolesAD fullAd, HolesT t, ALimit limit) { HolesA a = new HolesA(t.LED_ROW, t.LED_COL, t.LED_NUMS); for (int i = 0; i < t.LED_ROW; ++i) { for (int j = 0; j < t.LED_COL; ++j) { for (int k = 0; k < t.LED_NUMS; ++k) { if (_VALUE_INVALID == t.tValues[i][j][k]) { a.aValues[i][j][k] = _VALUE_INVALID; } else if (_VALUE_OVERFLOW == t.tValues[i][j][k]) { a.aValues[i][j][k] = _VALUE_OVERFLOW; } else if (1 == t.tValues[i][j][k]) { a.aValues[i][j][k] = 0; } else { if (ad.adValues[i][j][k] < 1) { a.aValues[i][j][k] = 5; } else { a.aValues[i][j][k] = Math.Log10(fullAd.adValues[i][j][k] / ad.adValues[i][j][k]); } } } } } return(a); }