Эх сурвалжийг харах

1、更新urm测量
2、屏蔽小动物测量

guanxinyi 9 сар өмнө
parent
commit
440a9bcc7b

+ 3 - 3
lib/interfaces/process/items/item_metas.dart

@@ -1,4 +1,3 @@
-import 'package:fis_jsonrpc/rpc.dart';
 import 'package:vid/us/vid_us_unit.dart';
 
 /// 测量项配置元信息
@@ -26,14 +25,15 @@ class ItemMeta {
   /// 1: Probation 试用中
   /// 2: Unpaid 未购买
   /// 3: Purchased 已购买
-  WorkingItemStatusEnum? buyStatus;
+  ///   /// 【TODO】 暂时屏蔽 buyStatus
+  // WorkingItemStatusEnum? buyStatus;
 
   ItemMeta(
     this.name, {
     required this.measureType,
     required this.description,
     required this.outputs,
-    this.buyStatus,
+    // this.buyStatus,
     this.briefAnnotation = '',
     this.childItems = const [],
   });

+ 9 - 32
lib/interfaces/process/items/terms.dart

@@ -117,38 +117,15 @@ class MeasureTerms {
   static const URMDenROI = "Vessel ratio";
 
   static const URMDenFractalDim = "Complexity level";
-  static const URMDenMax = "Max";
-  static const URMDenMin = "Min";
-  static const URMDenMean = "Mean";
-  static const URMDenStd = "Std";
-  // static const URMDenROIIn = "Vessel ratio(In)";
-  // static const URMDenFractalDimIn = "Complexity level(In)";
-  // static const URMDenMaxIn = "Max(In)";
-  // static const URMDenMinIn = "Min(In)";
-  // static const URMDenMeanIn = "Mean(In)";
-  // static const URMDenStdIn = "Std(In)";
-  // static const URMDenROIOut = "Vessel ratio(Out)";
-  // static const URMDenFractalDimOut = "Complexity level(Out)";
-  // static const URMDenMaxOut = "Max(Out)";
-  // static const URMDenMinOut = "Min(Out)";
-  // static const URMDenMeanOut = "Mean(Out)";
-  // static const URMDenStdOut = "Std(Out)";
-
-  static const URMVelMax = "Max";
-  static const URMVelMin = "Min";
-  static const URMVelMean = "Mean";
-  static const URMVelStd = "Std";
-  // static const URMVelMaxIn = "Max(In)";
-  // static const URMVelMinIn = "Min(In)";
-  // static const URMVelMeanIn = "Mean(In)";
-  // static const URMVelStdIn = "Std(In)";
-  // static const URMVelMaxOut = "Max(Out)";
-  // static const URMVelMinOut = "Min(Out)";
-  // static const URMVelMeanOut = "Mean(Out)";
-  // static const URMVelStdOut = "Std(Out)";
-
-  // static const URMAreaIn = "Area(In)";
-  // static const URMAreaOut = "Area(Out)";
+
+  static const URMDenMax = "MaxDen";
+  static const URMDenMin = "MinDen";
+  static const URMDenMean = "MeanDen";
+  static const URMDenStd = "StdDen";
+  static const URMVelMax = "MaxVel";
+  static const URMVelMin = "MinVel";
+  static const URMVelMean = "MeanVel";
+  static const URMVelStd = "StdVel";
 
   static const MaxVessDistance = "Max Distance";
   static const MinVessDistance = "Min Distance";

+ 0 - 43
lib/process/calcuators/urm_calcuators/urm_ellipse_den_measure.dart

@@ -51,49 +51,6 @@ class URMEllipseDenMeasureCal extends URMEllipseMeasureCal {
             output.unit = VidUsUnit.None;
             feature.updateFloatValue(
                 output, math.sqrt(result.varianceDensity), output.unit);
-          } else if (output.name == MeasureTerms.InURMDenROI) {
-            output.unit = VidUsUnit.None;
-            feature.updateFloatValue(
-                output, result.inRoiDen * 100, output.unit);
-          } else if (output.name == MeasureTerms.InURMDenFractalDim) {
-            output.unit = VidUsUnit.None;
-            feature.updateFloatValue(
-                output, result.inRoiFractalDim, output.unit);
-          } else if (output.name == MeasureTerms.InURMDenMax) {
-            output.unit = VidUsUnit.None;
-            feature.updateFloatValue(output, result.inMaxDensity, output.unit);
-          } else if (output.name == MeasureTerms.InURMDenMin) {
-            output.unit = VidUsUnit.None;
-            feature.updateFloatValue(output, result.inMinDensity, output.unit);
-          } else if (output.name == MeasureTerms.InURMDenMean) {
-            output.unit = VidUsUnit.None;
-            feature.updateFloatValue(output, result.inMeanDensity, output.unit);
-          } else if (output.name == MeasureTerms.InURMDenStd) {
-            output.unit = VidUsUnit.None;
-            feature.updateFloatValue(
-                output, math.sqrt(result.inVarianceDensity), output.unit);
-          } else if (output.name == MeasureTerms.OutURMDenROI) {
-            output.unit = VidUsUnit.None;
-            feature.updateFloatValue(
-                output, result.outRoiDen * 100, output.unit);
-          } else if (output.name == MeasureTerms.OutURMDenFractalDim) {
-            output.unit = VidUsUnit.None;
-            feature.updateFloatValue(
-                output, result.outRoiFractalDim, output.unit);
-          } else if (output.name == MeasureTerms.OutURMDenMax) {
-            output.unit = VidUsUnit.None;
-            feature.updateFloatValue(output, result.outMaxDensity, output.unit);
-          } else if (output.name == MeasureTerms.OutURMDenMin) {
-            output.unit = VidUsUnit.None;
-            feature.updateFloatValue(output, result.outMinDensity, output.unit);
-          } else if (output.name == MeasureTerms.OutURMDenMean) {
-            output.unit = VidUsUnit.None;
-            feature.updateFloatValue(
-                output, result.outMeanDensity, output.unit);
-          } else if (output.name == MeasureTerms.OutURMDenStd) {
-            output.unit = VidUsUnit.None;
-            feature.updateFloatValue(
-                output, math.sqrt(result.outVarianceDensity), output.unit);
           } else if (output.name == MeasureTerms.Area) {
             output.unit = VidUsUnit.cm2;
             feature.updateFloatValue(output, result.roiArea, output.unit);

+ 0 - 43
lib/process/calcuators/urm_calcuators/urm_rect_den_measure.dart

@@ -51,49 +51,6 @@ class URMRectDenMeasureCal extends URMRectMeasureCal {
             output.unit = VidUsUnit.None;
             feature.updateFloatValue(
                 output, math.sqrt(result.varianceDensity), output.unit);
-          } else if (output.name == MeasureTerms.InURMDenROI) {
-            output.unit = VidUsUnit.None;
-            feature.updateFloatValue(
-                output, result.inRoiDen * 100, output.unit);
-          } else if (output.name == MeasureTerms.InURMDenFractalDim) {
-            output.unit = VidUsUnit.None;
-            feature.updateFloatValue(
-                output, result.inRoiFractalDim, output.unit);
-          } else if (output.name == MeasureTerms.InURMDenMax) {
-            output.unit = VidUsUnit.None;
-            feature.updateFloatValue(output, result.inMaxDensity, output.unit);
-          } else if (output.name == MeasureTerms.InURMDenMin) {
-            output.unit = VidUsUnit.None;
-            feature.updateFloatValue(output, result.inMinDensity, output.unit);
-          } else if (output.name == MeasureTerms.InURMDenMean) {
-            output.unit = VidUsUnit.None;
-            feature.updateFloatValue(output, result.inMeanDensity, output.unit);
-          } else if (output.name == MeasureTerms.InURMDenStd) {
-            output.unit = VidUsUnit.None;
-            feature.updateFloatValue(
-                output, math.sqrt(result.inVarianceDensity), output.unit);
-          } else if (output.name == MeasureTerms.OutURMDenROI) {
-            output.unit = VidUsUnit.None;
-            feature.updateFloatValue(
-                output, result.outRoiDen * 100, output.unit);
-          } else if (output.name == MeasureTerms.OutURMDenFractalDim) {
-            output.unit = VidUsUnit.None;
-            feature.updateFloatValue(
-                output, result.outRoiFractalDim, output.unit);
-          } else if (output.name == MeasureTerms.OutURMDenMax) {
-            output.unit = VidUsUnit.None;
-            feature.updateFloatValue(output, result.outMaxDensity, output.unit);
-          } else if (output.name == MeasureTerms.OutURMDenMin) {
-            output.unit = VidUsUnit.None;
-            feature.updateFloatValue(output, result.outMinDensity, output.unit);
-          } else if (output.name == MeasureTerms.OutURMDenMean) {
-            output.unit = VidUsUnit.None;
-            feature.updateFloatValue(
-                output, result.outMeanDensity, output.unit);
-          } else if (output.name == MeasureTerms.OutURMDenStd) {
-            output.unit = VidUsUnit.None;
-            feature.updateFloatValue(
-                output, math.sqrt(result.outVarianceDensity), output.unit);
           } else if (output.name == MeasureTerms.Area) {
             output.unit = VidUsUnit.cm2;
             feature.updateFloatValue(output, result.roiArea, output.unit);

+ 14 - 3
lib/process/calcuators/urm_calcuators/urm_shell_den_measure.dart

@@ -1,6 +1,7 @@
 import 'package:fis_common/logger/logger.dart';
 import 'package:fis_jsonrpc/rpc.dart';
 import 'package:fis_measure/interfaces/date_types/point.dart';
+import 'package:fis_measure/interfaces/process/items/item_metas.dart';
 import 'package:fis_measure/interfaces/process/items/terms.dart';
 import 'package:fis_measure/process/calcuators/urm_calcuators/urm_shell_measure.dart';
 import 'package:fis_measure/process/primitives/urm_measure/urm_shell_measure.dart';
@@ -41,7 +42,10 @@ class URMShellDenMeasureCal extends URMShellMeasureCal {
           });
           feature.outerExterPoints = outerExterPoints;
         }
-
+        feature.updateStringValue(
+            ItemOutputMeta("Placeholder", "Placeholder", VidUsUnit.None),
+            "",
+            VidUsUnit.None);
         for (var output in ref.meta.outputs) {
           if (output.name == MeasureTerms.URMDenROI) {
             output.unit = VidUsUnit.percent;
@@ -62,6 +66,9 @@ class URMShellDenMeasureCal extends URMShellMeasureCal {
             output.unit = VidUsUnit.None;
             feature.updateFloatValue(
                 output, math.sqrt(result.varianceDensity), output.unit);
+          } else if (output.name == MeasureTerms.Area) {
+            output.unit = VidUsUnit.cm2;
+            feature.updateFloatValue(output, result.roiArea, output.unit);
           } else if (output.name == MeasureTerms.InURMDenROI) {
             output.unit = VidUsUnit.None;
             feature.updateFloatValue(
@@ -83,6 +90,9 @@ class URMShellDenMeasureCal extends URMShellMeasureCal {
             output.unit = VidUsUnit.None;
             feature.updateFloatValue(
                 output, math.sqrt(result.inVarianceDensity), output.unit);
+          } else if (output.name == MeasureTerms.InArea) {
+            output.unit = VidUsUnit.cm2;
+            feature.updateFloatValue(output, result.inRoiArea, output.unit);
           } else if (output.name == MeasureTerms.OutURMDenROI) {
             output.unit = VidUsUnit.None;
             feature.updateFloatValue(
@@ -105,11 +115,12 @@ class URMShellDenMeasureCal extends URMShellMeasureCal {
             output.unit = VidUsUnit.None;
             feature.updateFloatValue(
                 output, math.sqrt(result.outVarianceDensity), output.unit);
-          } else if (output.name == MeasureTerms.Area) {
+          } else if (output.name == MeasureTerms.OutArea) {
             output.unit = VidUsUnit.cm2;
-            feature.updateFloatValue(output, result.roiArea, output.unit);
+            feature.updateFloatValue(output, result.outRoiArea, output.unit);
           }
         }
+        urmApplication.onUpdateRimResult?.call(outResult);
       } else {
         throw Exception("URM Measure API error");
       }

+ 0 - 43
lib/process/calcuators/urm_calcuators/urm_trace_den_measure.dart

@@ -54,49 +54,6 @@ class URMTraceDenMeasureCal extends URMTraceMeasureCal {
             output.unit = VidUsUnit.None;
             feature.updateFloatValue(
                 output, math.sqrt(result.varianceDensity), output.unit);
-          } else if (output.name == MeasureTerms.InURMDenROI) {
-            output.unit = VidUsUnit.None;
-            feature.updateFloatValue(
-                output, result.inRoiDen * 100, output.unit);
-          } else if (output.name == MeasureTerms.InURMDenFractalDim) {
-            output.unit = VidUsUnit.None;
-            feature.updateFloatValue(
-                output, result.inRoiFractalDim, output.unit);
-          } else if (output.name == MeasureTerms.InURMDenMax) {
-            output.unit = VidUsUnit.None;
-            feature.updateFloatValue(output, result.inMaxDensity, output.unit);
-          } else if (output.name == MeasureTerms.InURMDenMin) {
-            output.unit = VidUsUnit.None;
-            feature.updateFloatValue(output, result.inMinDensity, output.unit);
-          } else if (output.name == MeasureTerms.InURMDenMean) {
-            output.unit = VidUsUnit.None;
-            feature.updateFloatValue(output, result.inMeanDensity, output.unit);
-          } else if (output.name == MeasureTerms.InURMDenStd) {
-            output.unit = VidUsUnit.None;
-            feature.updateFloatValue(
-                output, math.sqrt(result.inVarianceDensity), output.unit);
-          } else if (output.name == MeasureTerms.OutURMDenROI) {
-            output.unit = VidUsUnit.None;
-            feature.updateFloatValue(
-                output, result.outRoiDen * 100, output.unit);
-          } else if (output.name == MeasureTerms.OutURMDenFractalDim) {
-            output.unit = VidUsUnit.None;
-            feature.updateFloatValue(
-                output, result.outRoiFractalDim, output.unit);
-          } else if (output.name == MeasureTerms.OutURMDenMax) {
-            output.unit = VidUsUnit.None;
-            feature.updateFloatValue(output, result.outMaxDensity, output.unit);
-          } else if (output.name == MeasureTerms.OutURMDenMin) {
-            output.unit = VidUsUnit.None;
-            feature.updateFloatValue(output, result.outMinDensity, output.unit);
-          } else if (output.name == MeasureTerms.OutURMDenMean) {
-            output.unit = VidUsUnit.None;
-            feature.updateFloatValue(
-                output, result.outMeanDensity, output.unit);
-          } else if (output.name == MeasureTerms.OutURMDenStd) {
-            output.unit = VidUsUnit.None;
-            feature.updateFloatValue(
-                output, math.sqrt(result.outVarianceDensity), output.unit);
           } else if (output.name == MeasureTerms.Area) {
             output.unit = VidUsUnit.cm2;
             feature.updateFloatValue(output, result.roiArea, output.unit);

+ 3 - 1
lib/process/items/item_meta_convert.dart

@@ -32,7 +32,9 @@ class ItemMetaConverter {
       briefAnnotation: dto.briefAnnotation ?? '',
       outputs: _outputs,
       childItems: _childItems,
-      buyStatus: dto.status,
+
+      /// 【TODO】 暂时屏蔽 buyStatus
+      // buyStatus: dto.status,
     );
 
     return meta;

+ 71 - 66
lib/view/measure/measure_config/widgets/measurement_tool_selection.dart

@@ -386,70 +386,73 @@ class _SelectModulePageState extends FState<SelectModulePage> {
             ),
             // ),
           ),
-          if (e.status != null)
-            FPositioned(
-              bottom: 0,
-              right: 0,
-              child: _buildItemBuyStatusName(
-                e.status ?? WorkingItemStatusEnum.Free,
-              ),
-            )
+
+          /// 【TODO】 暂时屏蔽 buyStatus
+          // if (e.status != null)
+          //   FPositioned(
+          //     bottom: 0,
+          //     right: 0,
+          //     child: _buildItemBuyStatusName(
+          //       e.status ?? WorkingItemStatusEnum.Free,
+          //     ),
+          //   )
         ],
       ),
     );
   }
 
   // 构建测量项是否需要购买
-  FWidget _buildItemBuyStatusName(WorkingItemStatusEnum buyStatus) {
-    String name = "";
-    Color textColor = Colors.white;
-
-    switch (buyStatus) {
-      case WorkingItemStatusEnum.Probation:
-        name = i18nBook.measure.probation.t;
-        textColor = Colors.yellow;
-        break;
-      case WorkingItemStatusEnum.Unpaid:
-        name = i18nBook.measure.unpaid.t;
-        textColor = Colors.red;
-        break;
-      // case WorkingItemStatusEnum.Purchased:
-      //   name = i18nBook.measure.purchased.t;
-      //   textColor = childButtonHighlight;
-      //   break;
-      case WorkingItemStatusEnum.Expired:
-        name = i18nBook.measure.expired.t;
-        textColor = Colors.red;
-        break;
-      default:
-        break;
-    }
-    if (name.isNotEmpty) {
-      return QuickFWidget(
-        Tooltip(
-          message: buyStatus == WorkingItemStatusEnum.Unpaid
-              ? "如需继续使用该测量项,请联系Vinno申请试用或购买。"
-              : "",
-          padding: EdgeInsets.zero,
-          margin: EdgeInsets.zero,
-          child: Container(
-            alignment: Alignment.center,
-            padding: const EdgeInsets.symmetric(horizontal: 4, vertical: 2),
-            color: textColor.withOpacity(0.4),
-            // color: Colors.black.withOpacity(0.2),
-            child: FText(
-              name,
-              style: const TextStyle(
-                color: Colors.white,
-                fontSize: 10,
-              ),
-            ),
-          ),
-        ),
-      );
-    }
-    return const FSizedBox();
-  }
+  /// 【TODO】 暂时屏蔽 buyStatus
+  // FWidget _buildItemBuyStatusName(WorkingItemStatusEnum buyStatus) {
+  //   String name = "";
+  //   Color textColor = Colors.white;
+
+  //   switch (buyStatus) {
+  //     case WorkingItemStatusEnum.Probation:
+  //       name = i18nBook.measure.probation.t;
+  //       textColor = Colors.yellow;
+  //       break;
+  //     case WorkingItemStatusEnum.Unpaid:
+  //       name = i18nBook.measure.unpaid.t;
+  //       textColor = Colors.red;
+  //       break;
+  //     // case WorkingItemStatusEnum.Purchased:
+  //     //   name = i18nBook.measure.purchased.t;
+  //     //   textColor = childButtonHighlight;
+  //     //   break;
+  //     case WorkingItemStatusEnum.Expired:
+  //       name = i18nBook.measure.expired.t;
+  //       textColor = Colors.red;
+  //       break;
+  //     default:
+  //       break;
+  //   }
+  //   if (name.isNotEmpty) {
+  //     return QuickFWidget(
+  //       Tooltip(
+  //         message: buyStatus == WorkingItemStatusEnum.Unpaid
+  //             ? "如需继续使用该测量项,请联系Vinno申请试用或购买。"
+  //             : "",
+  //         padding: EdgeInsets.zero,
+  //         margin: EdgeInsets.zero,
+  //         child: Container(
+  //           alignment: Alignment.center,
+  //           padding: const EdgeInsets.symmetric(horizontal: 4, vertical: 2),
+  //           color: textColor.withOpacity(0.4),
+  //           // color: Colors.black.withOpacity(0.2),
+  //           child: FText(
+  //             name,
+  //             style: const TextStyle(
+  //               color: Colors.white,
+  //               fontSize: 10,
+  //             ),
+  //           ),
+  //         ),
+  //       ),
+  //     );
+  //   }
+  //   return const FSizedBox();
+  // }
 
   /// 未选中的测量项
   FWidget _buildNoSlected(ItemMetaDTO e) {
@@ -494,14 +497,16 @@ class _SelectModulePageState extends FState<SelectModulePage> {
               ),
             ),
           ),
-          if (e.status != null)
-            FPositioned(
-              bottom: 0,
-              right: 0,
-              child: _buildItemBuyStatusName(
-                e.status ?? WorkingItemStatusEnum.Free,
-              ),
-            )
+
+          /// 【TODO】 暂时屏蔽 buyStatus
+          // if (e.status != null)
+          //   FPositioned(
+          //     bottom: 0,
+          //     right: 0,
+          //     child: _buildItemBuyStatusName(
+          //       e.status ?? WorkingItemStatusEnum.Free,
+          //     ),
+          //   )
         ],
       ),
     );

+ 6 - 5
lib/view/measure/measure_tool.dart

@@ -12,7 +12,6 @@ import 'package:fis_measure/process/language/measure_language.dart';
 import 'package:fis_measure/process/workspace/measure_data_controller.dart';
 import 'package:fis_measure/process/workspace/measure_data_helper.dart';
 import 'package:fis_measure/process/workspace/measure_handler.dart';
-import 'package:fis_measure/utils/prompt_box.dart';
 import 'package:fis_measure/view/measure/combo_widget.dart';
 import 'package:fis_measure/view/measure/measure_view_controller.dart';
 import 'package:fis_measure/view/player/controller.dart';
@@ -74,10 +73,12 @@ class LeftSiderSelectMeasureState extends FState<LeftSiderSelectMeasure> {
   void selectItem(int selectIndex) {
     if (selectIndex == activeItemIndex) return;
     final itemMeta = measureData.curItemMetaList[selectIndex];
-    if (itemMeta.buyStatus == WorkingItemStatusEnum.Unpaid) {
-      PromptBox.toast("如需继续使用该测量项,请联系Vinno申请试用或购买。");
-      return;
-    }
+
+    /// 【TODO】 暂时屏蔽 buyStatus
+    // if (itemMeta.buyStatus == WorkingItemStatusEnum.Unpaid) {
+    //   PromptBox.toast("如需继续使用该测量项,请联系Vinno申请试用或购买。");
+    //   return;
+    // }
     changeItem(itemMeta);
     // setState(() {
     //   activeItemIndex = selectIndex;

+ 3 - 1
lib/view/measure/measure_view_controller.dart

@@ -30,7 +30,9 @@ class MeasureMetaController extends GetxController {
       ItemMetaGroup('GYN', [], false),
       ItemMetaGroup('OB', [], false),
       ItemMetaGroup('VAS', [], false),
-      ItemMetaGroup('VET', [], false),
+
+      /// 【TODO】 暂时屏蔽 buyStatus
+      // ItemMetaGroup('VET', [], false),
       // ItemMetaGroup('URM', [], false),
     ];
   }