123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- import 'dart:math' as math;
- import 'package:fis_measure/configs/cardiac.dart';
- import 'package:fis_measure/utils/number.dart';
- class CardiacFormulas {
- CardiacFormulas._();
-
-
-
- static double teiIndex(double co, double et) {
- double imp = 0.0;
- if (et != 0.0) {
- imp = (((co).abs() - (et).abs()) / et).abs();
- }
- return imp;
- }
-
-
-
-
-
- static double ef(double edv, double esv) {
-
-
-
-
- return (edv - esv) / edv * 100;
- }
-
-
-
-
- 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;
- }
-
-
-
-
- static double edvCube(double lvidd) {
- double edv = double.nan;
- if (!NumUtil.almostEquals(lvidd, 0)) {
- edv = math.pow(lvidd, 3).toDouble();
- }
- return edv;
- }
-
-
-
-
- static double esvTeichholz(double lvids) {
-
- return edvTeichholz(lvids);
- }
-
-
-
-
- static double esvCube(double lvids) {
-
- return edvCube(lvids);
- }
-
- static double sv(double edv, double esv) {
- return edv - esv;
- }
-
- static double co(
- double sv, {
- required int hr,
- }) {
- return (sv - hr) / 1000.0;
- }
-
- static double ci(
- double sv, {
- required int hr,
- required double bsa,
- }) {
- return ((sv - hr) / 1000.0) / bsa;
- }
-
- static double lvdMass(double ivsd, double lvidd, double lvpwd) {
- const density = GlobalCardiacConfigs.density;
- const correctionFactor = GlobalCardiacConfigs.correctionFactor;
- double part1 = math.pow(ivsd + lvidd + lvpwd, 3).toDouble();
- double part2 = math.pow(lvidd, 3).toDouble();
- double value = ((density * part1 - part2) + correctionFactor) / 1000.0;
- return value;
- }
-
- static double lvdMassAL(
- double lvadSaxEpi,
- double lvadSaxEndo,
- double lvldApical,
- ) {
- double t =
- math.sqrt(lvadSaxEpi / math.pi) - math.sqrt(lvadSaxEndo / math.pi);
- double mass = 1.05 *
- 5 /
- 6 *
- (lvadSaxEpi * (lvldApical + t) - lvadSaxEndo * lvldApical) /
- 1000;
- return mass;
- }
-
- static double lvdMassIndex(double lvdmass, double bsa) {
- return lvdmass / bsa * 1000;
- }
-
- static double fsPercent(double lvidd, double lvids) {
- return ((lvidd - lvids) / lvidd) * 100;
- }
-
- static double ivsPercent(double ivss, double ivsd) {
- return ((ivss - ivsd) / ivsd) * 100;
- }
-
- static double lvpwPercent(double lvpws, double lvpwd) {
- return ((lvpws - lvpwd) / lvpwd) * 100;
- }
-
- static double mamPercent(double mapse, double lvidd, double lvids) {
- return mapse / (lvidd - lvids + mapse) * 100;
- }
- }
|