Browse Source

修正 Den、Vel measure

gavin.chen 9 months ago
parent
commit
4329d702c6

+ 0 - 38
lib/process/calcuators/urm.dart

@@ -650,44 +650,6 @@ class URMVelCal extends Calculator<URMVelAbstract, double> {
   }
 }
 
-class URMDenCal extends Calculator<URMDenAbstract, double> {
-  URMDenCal(URMDenAbstract ref) : super(ref);
-
-  @override
-  void calculate() {
-    if (ref.feature == null) return;
-
-    final a1 = _pickChildValue(ref.child1);
-    final a2 = _pickChildValue(ref.child2);
-    final a3 = _pickChildValue(ref.child2);
-
-    final feature = ref.feature!;
-    final viewport = feature.hostVisualArea!.viewport!;
-
-    // if (a1 != null && a2 != null) {
-    //   final value = GeneralFormulas.countStenosis(
-    //     a1,
-    //     a2,
-    //   );
-    //   updateFloatValue(value);
-    // }
-  }
-
-  double? _pickChildValue(MeasureItem item) {
-    if (item.calculator == null) return null;
-    ValueBase? value;
-    if (item.measuredFeatures.isNotEmpty) {
-      value = item.measuredFeatures.first.value;
-    } else if (item.feature != null) {
-      value = item.feature!.value;
-    }
-    if (value != null && value is FloatValue) {
-      return (value).value ?? 0;
-    }
-    return null;
-  }
-}
-
 class URMSrDensityCal extends Calculator<URMTwoSRRoiRectAbstract, double> {
   URMSrDensityCal(URMTwoSRRoiRectAbstract ref) : super(ref);
 

+ 42 - 0
lib/process/calcuators/urm_calcuators/urm_den.dart

@@ -0,0 +1,42 @@
+import 'package:fis_measure/interfaces/process/calculators/values.dart';
+import 'package:fis_measure/process/calcuators/calculator.dart';
+import 'package:fis_measure/process/items/item.dart';
+import 'package:fis_measure/process/primitives/urm_measure/urm_den.dart';
+
+class URMDenCal extends Calculator<URMDenAbstract, double> {
+  URMDenCal(URMDenAbstract ref) : super(ref);
+
+  @override
+  void calculate() {
+    if (ref.feature == null) return;
+
+    final a1 = _pickChildValue(ref.child1);
+    final a2 = _pickChildValue(ref.child2);
+    final a3 = _pickChildValue(ref.child2);
+
+    final feature = ref.feature!;
+    final viewport = feature.hostVisualArea!.viewport!;
+
+    // if (a1 != null && a2 != null) {
+    //   final value = GeneralFormulas.countStenosis(
+    //     a1,
+    //     a2,
+    //   );
+    //   updateFloatValue(value);
+    // }
+  }
+
+  double? _pickChildValue(MeasureItem item) {
+    if (item.calculator == null) return null;
+    ValueBase? value;
+    if (item.measuredFeatures.isNotEmpty) {
+      value = item.measuredFeatures.first.value;
+    } else if (item.feature != null) {
+      value = item.feature!.value;
+    }
+    if (value != null && value is FloatValue) {
+      return (value).value ?? 0;
+    }
+    return null;
+  }
+}

+ 1 - 2
lib/process/calcuators/urm_calcuators/urm_rect.dart

@@ -9,9 +9,8 @@ import 'package:fis_measure/interfaces/process/items/terms.dart';
 import 'package:fis_measure/interfaces/process/items/types.dart';
 import 'package:fis_measure/process/items/item.dart';
 import 'package:fis_measure/process/primitives/area_abstract.dart';
-import 'package:fis_measure/process/primitives/combos/urm_den_combo.dart';
 import 'package:fis_measure/process/primitives/combos/urm_sr_roi_rect_combo.dart';
-import 'package:fis_measure/process/primitives/combos/urm_vel_combo.dart';
+
 import 'package:fis_measure/process/primitives/location.dart';
 import 'package:fis_measure/process/primitives/straightline.dart';
 import 'package:fis_measure/process/primitives/urm_measure/urm_rect_measure.dart';

+ 42 - 0
lib/process/calcuators/urm_calcuators/urm_vel.dart

@@ -0,0 +1,42 @@
+import 'package:fis_measure/interfaces/process/calculators/values.dart';
+import 'package:fis_measure/process/calcuators/calculator.dart';
+import 'package:fis_measure/process/items/item.dart';
+import 'package:fis_measure/process/primitives/urm_measure/urm_vel.dart';
+
+class URMVelCal extends Calculator<URMVelAbstract, double> {
+  URMVelCal(URMVelAbstract ref) : super(ref);
+
+  @override
+  void calculate() {
+    if (ref.feature == null) return;
+
+    final a1 = _pickChildValue(ref.child1);
+    final a2 = _pickChildValue(ref.child2);
+    final a3 = _pickChildValue(ref.child2);
+
+    final feature = ref.feature!;
+    final viewport = feature.hostVisualArea!.viewport!;
+
+    // if (a1 != null && a2 != null) {
+    //   final value = GeneralFormulas.countStenosis(
+    //     a1,
+    //     a2,
+    //   );
+    //   updateFloatValue(value);
+    // }
+  }
+
+  double? _pickChildValue(MeasureItem item) {
+    if (item.calculator == null) return null;
+    ValueBase? value;
+    if (item.measuredFeatures.isNotEmpty) {
+      value = item.measuredFeatures.first.value;
+    } else if (item.feature != null) {
+      value = item.feature!.value;
+    }
+    if (value != null && value is FloatValue) {
+      return (value).value ?? 0;
+    }
+    return null;
+  }
+}

+ 0 - 18
lib/process/primitives/combos/urm_den_combo.dart

@@ -1,18 +0,0 @@
-import 'package:fis_measure/interfaces/process/items/item_metas.dart';
-import 'package:fis_measure/process/items/item.dart';
-import 'package:fis_measure/process/items/item_feature.dart';
-import 'package:fis_measure/process/items/top_item.dart';
-
-abstract class URMDenAbstract<T extends MeasureItemFeature>
-    extends TopMeasureItem<T> {
-  URMDenAbstract(ItemMeta meta) : super(meta);
-
-  MeasureItem get child1;
-  MeasureItem get child2;
-  MeasureItem get child3;
-  MeasureItem get child4;
-  MeasureItem get child5;
-
-  @override
-  bool get finishAfterUnactive => true;
-}

+ 1 - 1
lib/process/primitives/combos/urm_sr_roi_rect.dart

@@ -36,7 +36,7 @@ class URMTwoSRRoiRect extends URMTwoSRRoiRectAbstract<URMVelFeature> {
   static URMTwoSRRoiRect crateURMTwoSRRoiRect(ItemMeta meta,
       [IMeasureItem? parent]) {
     var urmVel = URMTwoSRRoiRect(meta);
-    urmVel.calculator = URMSrDensityCal(urmVel);
+    // urmVel.calculator = URMSrDensityCal(urmVel);
 
     return urmVel;
   }

+ 0 - 16
lib/process/primitives/combos/urm_vel_combo.dart

@@ -1,16 +0,0 @@
-import 'package:fis_measure/interfaces/process/items/item_metas.dart';
-import 'package:fis_measure/process/items/item.dart';
-import 'package:fis_measure/process/items/item_feature.dart';
-import 'package:fis_measure/process/items/top_item.dart';
-
-abstract class URMVelAbstract<T extends MeasureItemFeature>
-    extends TopMeasureItem<T> {
-  URMVelAbstract(ItemMeta meta) : super(meta);
-
-  MeasureItem get child1;
-  MeasureItem get child2;
-  MeasureItem get child3;
-
-  @override
-  bool get finishAfterUnactive => true;
-}

+ 22 - 6
lib/process/primitives/urm_measure/urm_den.dart

@@ -1,14 +1,16 @@
 import 'package:fis_measure/interfaces/process/items/item.dart';
 import 'package:fis_measure/interfaces/process/items/item_metas.dart';
-import 'package:fis_measure/process/calcuators/urm.dart';
+import 'package:fis_measure/process/calcuators/urm_calcuators/urm_den.dart';
 import 'package:fis_measure/process/items/top_item_feature.dart';
-import 'package:fis_measure/process/primitives/combos/urm_den_combo.dart';
 import 'package:fis_measure/process/primitives/straightline.dart';
 import 'package:fis_measure/process/primitives/urm_measure/urm_rect_measure.dart';
 import 'package:fis_measure/process/primitives/urm_measure/urm_straight_curvature_line_measure.dart';
+import 'package:fis_measure/process/items/item.dart';
+import 'package:fis_measure/process/items/item_feature.dart';
+import 'package:fis_measure/process/items/top_item.dart';
 // import 'package:fis_measure/process/primitives/urm_straightline.dart';
 
-class URMDen extends URMDenAbstract<URMVelFeature> {
+class URMDen extends URMDenAbstract<URMDenFeature> {
   static const String _area1Key = "SRCurvature";
   static const String _area2Key = "SRRoiDensity";
   static const String _area3Key = "SRROIFractalDim";
@@ -56,7 +58,7 @@ class URMDen extends URMDenAbstract<URMVelFeature> {
   StraightLine get child5 => a5;
 
   @override
-  URMVelFeature buildFeature() => URMVelFeature(this);
+  URMDenFeature buildFeature() => URMDenFeature(this);
 
   @override
   void onCancelingOnce() {}
@@ -69,8 +71,22 @@ class URMDen extends URMDenAbstract<URMVelFeature> {
   }
 }
 
-class URMVelFeature extends TopMeasureItemFeature {
-  URMVelFeature(
+abstract class URMDenAbstract<T extends MeasureItemFeature>
+    extends TopMeasureItem<T> {
+  URMDenAbstract(ItemMeta meta) : super(meta);
+
+  MeasureItem get child1;
+  MeasureItem get child2;
+  MeasureItem get child3;
+  MeasureItem get child4;
+  MeasureItem get child5;
+
+  @override
+  bool get finishAfterUnactive => true;
+}
+
+class URMDenFeature extends TopMeasureItemFeature {
+  URMDenFeature(
     ITopMeasureItem refItem,
   ) : super(refItem);
 }

+ 15 - 1
lib/process/primitives/urm_measure/urm_vel.dart

@@ -2,9 +2,11 @@ import 'package:fis_measure/interfaces/process/items/item.dart';
 import 'package:fis_measure/interfaces/process/items/item_metas.dart';
 import 'package:fis_measure/process/calcuators/urm.dart';
 import 'package:fis_measure/process/items/top_item_feature.dart';
-import 'package:fis_measure/process/primitives/combos/urm_vel_combo.dart';
 import 'package:fis_measure/process/primitives/straightline.dart';
 import 'package:fis_measure/process/primitives/urm_location.dart';
+import 'package:fis_measure/process/items/item.dart';
+import 'package:fis_measure/process/items/item_feature.dart';
+import 'package:fis_measure/process/items/top_item.dart';
 
 class URMVel extends URMVelAbstract<URMVelFeature> {
   static const String _area1Key = "SRLoactionVel";
@@ -55,3 +57,15 @@ class URMVelFeature extends TopMeasureItemFeature {
     ITopMeasureItem refItem,
   ) : super(refItem);
 }
+
+abstract class URMVelAbstract<T extends MeasureItemFeature>
+    extends TopMeasureItem<T> {
+  URMVelAbstract(ItemMeta meta) : super(meta);
+
+  MeasureItem get child1;
+  MeasureItem get child2;
+  MeasureItem get child3;
+
+  @override
+  bool get finishAfterUnactive => true;
+}