123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- import 'dart:math' as math;
- import 'package:fis_measure/utils/number.dart';
- class CardiacFormulas {
- CardiacFormulas._();
- /// <summary>
- /// IMP=(CO-ET)/ET
- /// </summary>
- /// <param name="co">s</param>
- /// <param name="et">s</param>
- /// <returns>(unit None)</returns>
- static double teiIndex(double co, double et) {
- double imp = 0.0;
- if (et != 0.0) {
- imp = (((co).abs() - (et).abs()) / et).abs();
- }
- return imp;
- }
- /// <summary>
- /// EF = (EDV - ESV )/EDV
- /// </summary>
- /// <param name="edv">cm³</param>
- /// <param name="esv">cm³</param>
- /// <returns>None</returns>
- static double ef(double edv, double esv) {
- // 这行判断暂时注释掉是为了使实际表现与旧版一致
- // if (edv < esv) {
- // return double.nan;
- // }
- return (edv - esv) / edv * 100;
- }
- /// <summary>
- /// EDV (Teichholz) = [7.0/(2.4 + LVIDd)] x LVIDd^3
- /// </summary>
- /// <param name="lvidd">Unit cm</param>
- /// <returns>cm³</returns>
- static double edvTeichholz(double lvidd) {
- double edv = double.nan;
- if (!NumUtil.almostEquals(lvidd, 0)) {
- edv = 7.0 * math.pow(lvidd, 3) / (2.4 + lvidd);
- }
- return edv;
- }
- }
|