Jelajahi Sumber

Merge branch 'master' of http://git.ius.plus/Project-Wing/fis_lib_measure

Melon 10 bulan lalu
induk
melakukan
986ff4de0d

+ 6 - 0
lib/interfaces/process/items/types.dart

@@ -213,4 +213,10 @@ class MeasureTypes {
   static const URMVel = "URMVel";
   static const FractalDimSR = "FractalDimSR";
   static const DensitySR = "DensitySR";
+
+  static const DensityTwoSRRoiRect = "DensityTwoSRRoiRect";
+  static const FractalDimTwoSRRoiRect = "FractalDimTwoSRRoiRect";
+
+  static const Roi1 = "Roi1";
+  static const Roi2 = "Roi2";
 }

+ 130 - 8
lib/process/calcuators/urm.dart

@@ -9,6 +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';
@@ -54,18 +56,19 @@ class URMRectCal extends Calculator<URMRect, double> {
       updateStringValue(description);
 
       switch (type) {
-        // 对应的 SRRoiDensity
         case MeasureTypes.DensitySR:
+        case MeasureTypes.SRRoiDensity:
+        case MeasureTypes.Roi1:
+        case MeasureTypes.Roi2:
           await getSRRoiDensityResult(urmApplication, startPoint, endPoint);
           break;
-        // 对应的 SRROIFractalDim
         case MeasureTypes.FractalDimSR:
+        case MeasureTypes.SRROIFractalDim:
           await getSRRoiFractalDimResult(urmApplication, startPoint, endPoint);
           break;
         case MeasureTypes.SRRoiVel:
           await getSRRoiVelResult(urmApplication, startPoint, endPoint);
           break;
-        // 对应的URMRectVelMeasure
         case MeasureTypes.URMVelMeasure:
           await getURMVelMeasureResult(urmApplication, startPoint, endPoint);
           break;
@@ -88,7 +91,9 @@ class URMRectCal extends Calculator<URMRect, double> {
         print("URM Measure output: ${result.output} ");
         final feature = ref.feature!;
         for (var output in ref.meta.outputs) {
-          if (output.name == MeasureTerms.URMDenROI) {
+          if ([MeasureTerms.URMDenROI, MeasureTerms.URMDenFractalDim]
+              .contains(output.name)) {
+            output.unit = VidUsUnit.percent;
             feature.updateFloatValue(output, result.output, output.unit);
           }
         }
@@ -114,6 +119,7 @@ class URMRectCal extends Calculator<URMRect, double> {
         final feature = ref.feature!;
         for (var output in ref.meta.outputs) {
           if (output.name == MeasureTerms.URMDenFractalDim) {
+            output.unit = VidUsUnit.None;
             feature.updateFloatValue(output, result.output, output.unit);
           }
         }
@@ -139,6 +145,7 @@ class URMRectCal extends Calculator<URMRect, double> {
         final feature = ref.feature!;
         for (var output in ref.meta.outputs) {
           if (output.name == MeasureTerms.SRRoiVel) {
+            output.unit = VidUsUnit.percent;
             feature.updateFloatValue(output, result.output, output.unit);
           }
         }
@@ -165,22 +172,27 @@ class URMRectCal extends Calculator<URMRect, double> {
         final feature = ref.feature!;
         for (var output in ref.meta.outputs) {
           if (output.name == MeasureTerms.URMVelMax) {
+            output.unit = VidUsUnit.mms;
             feature.updateFloatValue(
                 output, result.maxVel + app.urmMinVel, VidUsUnit.mms);
           }
           if (output.name == MeasureTerms.URMVelMin) {
+            output.unit = VidUsUnit.mms;
             feature.updateFloatValue(
                 output, result.minVel + app.urmMinVel, VidUsUnit.mms);
           }
           if (output.name == MeasureTerms.URMVelMean) {
+            output.unit = VidUsUnit.mms;
             feature.updateFloatValue(
                 output, result.meanVel + app.urmMinVel, VidUsUnit.mms);
           }
           if (output.name == MeasureTerms.URMVelStd) {
+            output.unit = VidUsUnit.mms;
             feature.updateFloatValue(
                 output, sqrt(result.varianceVel), VidUsUnit.mms);
           }
           if (output.name == MeasureTerms.Area) {
+            output.unit = VidUsUnit.cm2;
             feature.updateFloatValue(output, result.roiArea, VidUsUnit.cm2);
           }
         }
@@ -237,6 +249,7 @@ class URMLocationCal extends Calculator<Location, double> {
         final feature = ref.feature!;
         for (var output in ref.meta.outputs) {
           if (output.name == MeasureTerms.SRVel) {
+            output.unit = VidUsUnit.mms;
             feature.updateFloatValue(output, result.output, output.unit);
           }
         }
@@ -288,7 +301,7 @@ class URMStraightLineCal extends Calculator<StraightLine, double> {
         case MeasureTypes.URMDensityMeasure:
           await getURMDenMeasureResult(urmApplication, startPoint, endPoint);
           break;
-        case MeasureTypes.URMVelMeasure: // TODO 修改为 URMVessMeasure
+        case MeasureTypes.URMVesselMeasure:
           final feature = ref.feature!;
           final viewport = feature.hostVisualArea!.viewport!;
           final p1 = feature.startPoint;
@@ -320,6 +333,7 @@ class URMStraightLineCal extends Calculator<StraightLine, double> {
         final feature = ref.feature!;
         for (var output in ref.meta.outputs) {
           if (output.name == MeasureTerms.SRCurvature) {
+            output.unit = VidUsUnit.None;
             feature.updateFloatValue(output, result.curvature, output.unit);
           }
         }
@@ -346,28 +360,35 @@ class URMStraightLineCal extends Calculator<StraightLine, double> {
         final feature = ref.feature!;
         for (var output in ref.meta.outputs) {
           if (output.name == MeasureTerms.URMDenROI) {
+            output.unit = VidUsUnit.percent;
             feature.updateFloatValue(
                 output, result.roiDen * 100, VidUsUnit.percent);
           }
           if (output.name == MeasureTerms.URMDenFractalDim) {
+            output.unit = VidUsUnit.None;
             feature.updateFloatValue(
                 output, result.roiFractalDim, VidUsUnit.None);
           }
           if (output.name == MeasureTerms.URMDenMax) {
+            output.unit = VidUsUnit.None;
             feature.updateFloatValue(output, result.maxDensity, VidUsUnit.None);
           }
           if (output.name == MeasureTerms.URMDenMin) {
+            output.unit = VidUsUnit.None;
             feature.updateFloatValue(output, result.minDensity, VidUsUnit.None);
           }
           if (output.name == MeasureTerms.URMDenMean) {
+            output.unit = VidUsUnit.None;
             feature.updateFloatValue(
                 output, result.meanDensity, VidUsUnit.None);
           }
           if (output.name == MeasureTerms.URMDenStd) {
+            output.unit = VidUsUnit.None;
             feature.updateFloatValue(
                 output, sqrt(result.varianceDensity), VidUsUnit.None);
           }
           if (output.name == MeasureTerms.Area) {
+            output.unit = VidUsUnit.cm2;
             feature.updateFloatValue(output, result.roiArea, VidUsUnit.cm2);
           }
         }
@@ -385,43 +406,58 @@ class URMStraightLineCal extends Calculator<StraightLine, double> {
       DPoint endPoint, double cmlength) async {
     String description = "URM\n Measuring";
     try {
-      // FIXME 修正为正确的返回值
       GetUrmVessMeasureResult? result =
           await app.getURMVessMeasureResult(startPoint, endPoint, cmlength);
       if (result != null) {
+        app.onUpdateChart?.call(
+          URMChartParams(
+            cmlength: cmlength,
+            minPointIndex: result.minPos,
+            maxPointIndex: result.maxPos,
+            points: convertPoints(result.outputPoints),
+          ),
+        );
         print(
             "URM Measure inMaxDensity: ${result.maxVessDiameter} inMeanDensity: ${result.meanVessDistacne}");
         final feature = ref.feature!;
         for (var output in ref.meta.outputs) {
           if (output.name == MeasureTerms.MaxVessDistance) {
+            output.unit = VidUsUnit.mm;
             feature.updateFloatValue(
                 output, result.maxVessDistance, VidUsUnit.mm);
           }
           if (output.name == MeasureTerms.MinVessDistance) {
+            output.unit = VidUsUnit.mm;
             feature.updateFloatValue(
                 output, result.minVessDistance, VidUsUnit.mm);
           }
           if (output.name == MeasureTerms.MeanVessDistacne) {
+            output.unit = VidUsUnit.mm;
             feature.updateFloatValue(
                 output, result.meanVessDistacne, VidUsUnit.mm);
           }
           if (output.name == MeasureTerms.StdVessDistance) {
+            output.unit = VidUsUnit.mm;
             feature.updateFloatValue(
                 output, sqrt(result.varianceVessDistance), VidUsUnit.mm);
           }
           if (output.name == MeasureTerms.MaxVessDiameter) {
+            output.unit = VidUsUnit.mm;
             feature.updateFloatValue(
                 output, result.maxVessDiameter, VidUsUnit.mm);
           }
           if (output.name == MeasureTerms.MinVessDiameter) {
+            output.unit = VidUsUnit.mm;
             feature.updateFloatValue(
                 output, result.minVessDiameter, VidUsUnit.mm);
           }
           if (output.name == MeasureTerms.MeanVessDiameter) {
+            output.unit = VidUsUnit.mm;
             feature.updateFloatValue(
                 output, result.meanVessDiameter, VidUsUnit.mm);
           }
           if (output.name == MeasureTerms.StdVessDiameter) {
+            output.unit = VidUsUnit.mm;
             feature.updateFloatValue(
                 output, sqrt(result.varianceVessDiameter), VidUsUnit.mm);
           }
@@ -430,12 +466,20 @@ class URMStraightLineCal extends Calculator<StraightLine, double> {
     } catch (e) {
       description = " ";
       updateStringValue(description);
-
       return;
     }
     ref.application.updateRenderReady.emit(this, null);
   }
 
+  List<Point> convertPoints(List<UrmPoint>? points) {
+    if (points == null) return [];
+    List<Point> urmPoints = [];
+    for (var point in points) {
+      urmPoints.add(Point(point.x, point.y));
+    }
+    return urmPoints;
+  }
+
   //
 }
 
@@ -490,7 +534,8 @@ class URMTraceCal extends Calculator<AreaItemAbstract, double> {
         print("URM Measure output: ${result.output} ");
         final feature = ref.feature!;
         for (var output in ref.meta.outputs) {
-          if (output.name == MeasureTerms.URMDenFractalDim) {
+          if (output.name == MeasureTerms.URMDenROI) {
+            output.unit = VidUsUnit.percent;
             feature.updateFloatValue(output, result.output, output.unit);
           }
         }
@@ -516,6 +561,7 @@ class URMTraceCal extends Calculator<AreaItemAbstract, double> {
         final feature = ref.feature!;
         for (var output in ref.meta.outputs) {
           if (output.name == MeasureTerms.URMDenFractalDim) {
+            output.unit = VidUsUnit.None;
             feature.updateFloatValue(output, result.output, output.unit);
           }
         }
@@ -575,3 +621,79 @@ class URMVelCal extends Calculator<URMVelAbstract, double> {
     return null;
   }
 }
+
+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) {
+      return (value as FloatValue).value ?? 0;
+    }
+    return null;
+  }
+}
+
+class URMSrDensityCal extends Calculator<URMTwoSRRoiRectAbstract, double> {
+  URMSrDensityCal(URMTwoSRRoiRectAbstract 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) {
+      return (value as FloatValue).value ?? 0;
+    }
+    return null;
+  }
+}

+ 20 - 0
lib/process/items/factory.dart

@@ -18,7 +18,9 @@ import 'package:fis_measure/process/primitives/combos/two_location.dart';
 import 'package:fis_measure/process/primitives/combos/two_ray.dart';
 import 'package:fis_measure/process/primitives/combos/two_straightline.dart';
 import 'package:fis_measure/process/primitives/combos/two_sv.dart';
+import 'package:fis_measure/process/primitives/combos/urm_den.dart';
 import 'package:fis_measure/process/primitives/combos/urm_vel.dart';
+import 'package:fis_measure/process/primitives/combos/urm_sr_roi_rect.dart';
 import 'package:fis_measure/process/primitives/detection.dart';
 import 'package:fis_measure/process/primitives/ellipse.dart';
 import 'package:fis_measure/process/primitives/empty.dart';
@@ -269,6 +271,10 @@ class MeasureItemFactory {
       MeasureTypes.URMRectDenMeasure,
       URMStraightLine.createURMStraightline,
     );
+    _singleton._register(
+      MeasureTypes.URMVesselMeasure,
+      URMStraightLine.createURMStraightline,
+    );
     _singleton._register(
       MeasureTypes.URMRectVelMeasure,
       URMRect.createMeasureRect,
@@ -277,5 +283,19 @@ class MeasureItemFactory {
       MeasureTypes.URMVel,
       URMVel.crateURMVel,
     );
+    _singleton._register(
+      MeasureTypes.URMDen,
+      URMDen.crateURMDen,
+    );
+
+    _singleton._register(
+      MeasureTypes.DensityTwoSRRoiRect,
+      URMTwoSRRoiRect.crateURMTwoSRRoiRect,
+    );
+
+    _singleton._register(
+      MeasureTypes.FractalDimTwoSRRoiRect,
+      URMTwoSRRoiRect.crateURMTwoSRRoiRect,
+    );
   }
 }

+ 74 - 0
lib/process/primitives/combos/urm_den.dart

@@ -0,0 +1,74 @@
+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_den_combo.dart';
+import 'package:fis_measure/process/primitives/straightline.dart';
+import 'package:fis_measure/process/primitives/urm_rect.dart';
+import 'package:fis_measure/process/primitives/urm_straightline.dart';
+
+class URMDen extends URMDenAbstract<URMVelFeature> {
+  static const String _area1Key = "SRCurvature";
+  static const String _area2Key = "SRRoiDensity";
+  static const String _area3Key = "SRROIFractalDim";
+  static const String _area4Key = "Vessel diameter";
+  static const String _area5Key = "Vessel distance";
+
+  late final URMStraightLine a1;
+  late final URMRect a2;
+  late final URMRect a3;
+  late final StraightLine a4;
+  late final StraightLine a5;
+
+  URMDen(ItemMeta meta) : super(meta) {
+    final metaA1 = meta.getChildByName(_area1Key)!;
+    final metaA2 = meta.getChildByName(_area2Key)!;
+    final metaA3 = meta.getChildByName(_area3Key)!;
+    final metaA4 = meta.getChildByName(_area4Key)!;
+    final metaA5 = meta.getChildByName(_area5Key)!;
+    a1 = URMStraightLine.createURMStraightline(metaA1, this);
+    a2 = URMRect.createMeasureRect(metaA2, this);
+    a3 = URMRect.createMeasureRect(metaA3, this);
+    a4 = StraightLine.createDistance(metaA4, this);
+    a5 = StraightLine.createDistance(metaA5, this);
+    childItems.add(a1);
+    childItems.add(a2);
+    childItems.add(a3);
+    childItems.add(a4);
+    childItems.add(a5);
+  }
+
+  @override
+  StraightLine get child1 => a1;
+
+  @override
+  URMRect get child2 => a2;
+
+  @override
+  URMRect get child3 => a3;
+
+  @override
+  StraightLine get child4 => a4;
+
+  @override
+  StraightLine get child5 => a5;
+
+  @override
+  URMVelFeature buildFeature() => URMVelFeature(this);
+
+  @override
+  void onCancelingOnce() {}
+
+  static URMDen crateURMDen(ItemMeta meta, [IMeasureItem? parent]) {
+    var urmDen = URMDen(meta);
+    urmDen.calculator = URMDenCal(urmDen);
+
+    return urmDen;
+  }
+}
+
+class URMVelFeature extends TopMeasureItemFeature {
+  URMVelFeature(
+    ITopMeasureItem refItem,
+  ) : super(refItem);
+}

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

@@ -0,0 +1,18 @@
+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;
+}

+ 49 - 0
lib/process/primitives/combos/urm_sr_roi_rect.dart

@@ -0,0 +1,49 @@
+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_sr_roi_rect_combo.dart';
+import 'package:fis_measure/process/primitives/urm_rect.dart';
+
+class URMTwoSRRoiRect extends URMTwoSRRoiRectAbstract<URMVelFeature> {
+  static const String _area1Key = "Roi1";
+  static const String _area2Key = "Roi2";
+
+  late final URMRect a1;
+  late final URMRect a2;
+
+  URMTwoSRRoiRect(ItemMeta meta) : super(meta) {
+    final metaA1 = meta.getChildByName(_area1Key)!;
+    final metaA2 = meta.getChildByName(_area2Key)!;
+    a1 = URMRect.createMeasureRect(metaA1, this);
+    a2 = URMRect.createMeasureRect(metaA2, this);
+    childItems.add(a1);
+    childItems.add(a2);
+  }
+
+  @override
+  URMRect get child1 => a1;
+
+  @override
+  URMRect get child2 => a2;
+
+  @override
+  URMVelFeature buildFeature() => URMVelFeature(this);
+
+  @override
+  void onCancelingOnce() {}
+
+  static URMTwoSRRoiRect crateURMTwoSRRoiRect(ItemMeta meta,
+      [IMeasureItem? parent]) {
+    var urmVel = URMTwoSRRoiRect(meta);
+    urmVel.calculator = URMSrDensityCal(urmVel);
+
+    return urmVel;
+  }
+}
+
+class URMVelFeature extends TopMeasureItemFeature {
+  URMVelFeature(
+    ITopMeasureItem refItem,
+  ) : super(refItem);
+}

+ 15 - 0
lib/process/primitives/combos/urm_sr_roi_rect_combo.dart

@@ -0,0 +1,15 @@
+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 URMTwoSRRoiRectAbstract<T extends MeasureItemFeature>
+    extends TopMeasureItem<T> {
+  URMTwoSRRoiRectAbstract(ItemMeta meta) : super(meta);
+
+  MeasureItem get child1;
+  MeasureItem get child2;
+
+  @override
+  bool get finishAfterUnactive => true;
+}

+ 56 - 8
lib/process/workspace/urm/application.dart

@@ -1,11 +1,10 @@
-import 'dart:ui';
-// import 'package:fis_measure/interfaces/date_types/rect_region.dart';
-// import 'package:fis_measure/interfaces/date_types/size.dart';
+import 'dart:math';
 import 'package:fis_jsonrpc/services/aIDiagnosis.m.dart';
 import 'package:fis_measure/interfaces/date_types/point.dart';
 import 'package:fis_measure/interfaces/process/visuals/visual.dart';
 import 'package:fis_measure/process/visual/v2d_visual.dart';
 import 'package:fis_measure/process/workspace/rpc_bridge.dart';
+import 'package:flutter/material.dart';
 import 'package:vid/us/vid_us_probe.dart';
 import '../application.dart';
 import 'package:fis_measure/interfaces/date_types/rect_region.dart';
@@ -14,7 +13,6 @@ import 'package:vid/us/vid_us_logical_coordinate.dart';
 import 'package:vid/us/vid_us_physical_coordinate.dart';
 import 'package:vid/us/vid_us_visual.dart';
 import 'package:fis_measure/interfaces/process/workspace/point_info.dart';
-import 'package:flutter/painting.dart';
 
 /// URM 专业应用
 class URMApplication extends Application {
@@ -27,6 +25,7 @@ class URMApplication extends Application {
     required this.resultHeight,
     required this.remedicalCode,
     required this.originVisuals,
+    this.onUpdateChart,
   }) : super(probe);
 
   @override
@@ -48,14 +47,24 @@ class URMApplication extends Application {
 
   bool syncDisplay = false; // 是否开启同步显示
 
-  double areaScaler = 1.0; // URM 画幅缩放比例
+  double urmPhysicalwidth = 1.0; // URM 结果物理宽度
+
+  double urmPhysicalheight = 1.0; // URM 结果物理高度
+
+  double areaScaler =
+      1.0; // URM 画幅缩放比例  (UrmPhysicalwidth / resultWidth) * (UrmPhysicalheight / resultHeight);
+
+  double pixelscaler = 1.0; // URM 像素缩放比例 UrmPhysicalwidth / resultWidth
 
   double urmMinVel = 1.0; // TODO 从分析结果获取该值
 
+  final ValueChanged<URMChartParams>? onUpdateChart;
+
   @override
   List<IVisual> convertVisuals() {
     var urmVisuals = originVisuals;
     double beamsPercent = 1;
+    Size physicalSize = Size.zero;
     if (originVisuals.isNotEmpty) {
       IVisual visual = originVisuals[0];
       if (visual is V2dVisual) {
@@ -67,11 +76,18 @@ class URMApplication extends Application {
               visualData.logicalCoordinates.entries.first.value,
               visualData.physicalCoordinates.entries.first.value,
             );
+            physicalSize = getPhysicalSize(
+                visualData.physicalCoordinates.entries.first.value);
           }
         }
 
         double scaleX = roiRect.width / beams * beamsPercent;
         double scaleY = roiRect.height / samples;
+        urmPhysicalwidth = physicalSize.width * roiRect.width / beams;
+        urmPhysicalheight = physicalSize.height * scaleY;
+        areaScaler = (urmPhysicalwidth / resultWidth) *
+            (urmPhysicalheight / resultHeight);
+        pixelscaler = urmPhysicalwidth / resultWidth;
         RectRegion region =
             RectRegion(left: 0, top: 0, right: 1 / scaleX, bottom: 1 / scaleY);
         V2dVisual v2dVisual = V2dVisual(visualData, region);
@@ -90,6 +106,14 @@ class URMApplication extends Application {
     return 1;
   }
 
+  Size getPhysicalSize(VidUsPhysicalCoordinate physicalCoordinates) {
+    if (physicalCoordinates is VidUsTissuePhysicalCoordinate) {
+      return Size(physicalCoordinates.width,
+          physicalCoordinates.depthEnd - physicalCoordinates.depthStart);
+    }
+    return Size.zero;
+  }
+
   @override
   PointInfo createPointInfo(Offset offset, PointInfoType type) {
     final width = displaySize.width;
@@ -114,6 +138,15 @@ class URMApplication extends Application {
     return info;
   }
 
+  @override
+  double get displayScaleRatio {
+    return max(
+        1,
+        min(displaySize.width / resultWidth,
+            displaySize.height / resultHeight));
+    // return 1.0;
+  }
+
   void loadURMVisuals() {
     loadVisuals();
   }
@@ -298,7 +331,7 @@ class URMApplication extends Application {
           startPointY: startPoint.y,
           endPointX: endPoint.x,
           endPointY: endPoint.y,
-          areaScaler: 1.0,
+          areaScaler: areaScaler,
           token: RPCBridge.ins.userToken,
         ),
       );
@@ -323,7 +356,7 @@ class URMApplication extends Application {
           startPointY: startPoint.y,
           endPointX: endPoint.x,
           endPointY: endPoint.y,
-          areaScaler: 1.0,
+          areaScaler: areaScaler,
           token: RPCBridge.ins.userToken,
         ),
       );
@@ -348,7 +381,8 @@ class URMApplication extends Application {
           startPointY: startPoint.y,
           endPointX: endPoint.x,
           endPointY: endPoint.y,
-          areaScaler: 1.0,
+          areaScaler: pixelscaler,
+          cmLength: cmlength,
           token: RPCBridge.ins.userToken,
         ),
       );
@@ -358,3 +392,17 @@ class URMApplication extends Application {
     }
   }
 }
+
+class URMChartParams {
+  final List<Point> points;
+  final double cmlength;
+  final int maxPointIndex;
+  final int minPointIndex;
+
+  URMChartParams({
+    required this.points,
+    required this.cmlength,
+    required this.maxPointIndex,
+    required this.minPointIndex,
+  });
+}

+ 1452 - 1422
urm-config.json

@@ -1,1487 +1,1517 @@
 [
-  {
-    "Name": "SRCurvature",
-    "Description": "SRCurvature",
-    "BriefAnnotation": "SRCurvature",
-    "MeasureTypeName": "SRCurvature",
-    "Categories": ["Common"],
-    "Calculator": {
-      "AvailableOutputs": [
-        {
-          "Name": "SRCurvature",
-          "Description": "SRCurvature",
-          "Unit": 0,
-          "IsWorking": true
-        }
-      ]
-    },
-    "MultiMethodItems": [
-      {
-        "Name": "SRStraightCurvatureLineMeasure",
-        "Description": "Auto",
-        "IsWorking": true,
-        "ChildItems": [],
+    {
+        "Name": "SRCurvature",
+        "Description": "SRCurvature",
+        "BriefAnnotation": "SRCurvature",
+        "MeasureTypeName": "SRCurvature",
+        "Categories": [
+            "Common"
+        ],
         "Calculator": {
-          "AvailableOutputs": [
-            {
-              "Name": "SRCurvature",
-              "Description": "SRCurvature",
-              "Unit": 0,
-              "IsWorking": true
-            }
-          ]
+            "AvailableOutputs": [
+                {
+                    "Name": "SRCurvature",
+                    "Description": "SRCurvature",
+                    "Unit": 0,
+                    "IsWorking": true
+                }
+            ]
         },
-        "MeasureTypeName": "SRStraightCurvatureLineMeasure"
-      },
-      {
-        "Name": "SRCurveCurvatureLineMeasure",
-        "Description": "Manual",
-        "IsWorking": false,
-        "ChildItems": [],
-        "Calculator": {
-          "AvailableOutputs": [
-            {
-              "Name": "SRCurvature",
-              "Description": "SRCurvature",
-              "Unit": 0,
-              "IsWorking": true
+        "MultiMethodItems": [
+            {
+                "Name": "SRStraightCurvatureLineMeasure",
+                "Description": "Auto",
+                "IsWorking": true,
+                "ChildItems": [],
+                "Calculator": {
+                    "AvailableOutputs": [
+                        {
+                            "Name": "SRCurvature",
+                            "Description": "SRCurvature",
+                            "Unit": 0,
+                            "IsWorking": true
+                        }
+                    ]
+                },
+                "MeasureTypeName": "SRStraightCurvatureLineMeasure"
+            },
+            {
+                "Name": "SRCurveCurvatureLineMeasure",
+                "Description": "Manual",
+                "IsWorking": false,
+                "ChildItems": [],
+                "Calculator": {
+                    "AvailableOutputs": [
+                        {
+                            "Name": "SRCurvature",
+                            "Description": "SRCurvature",
+                            "Unit": 0,
+                            "IsWorking": true
+                        }
+                    ]
+                },
+                "MeasureTypeName": "SRCurveCurvatureLineMeasure"
             }
-          ]
-        },
-        "MeasureTypeName": "SRCurveCurvatureLineMeasure"
-      }
-    ],
-    "MethodChildItems": []
-  },
-  {
-    "Name": "SRLoactionVel",
-    "Description": "SRLoactionVel",
-    "BriefAnnotation": "SRLoactionVel",
-    "MeasureTypeName": "SRLoactionVel",
-    "Categories": ["Common"],
-    "Calculator": {
-      "AvailableOutputs": [
-        {
-          "Name": "SRVel",
-          "Description": "SRVel",
-          "Unit": 0,
-          "IsWorking": true
-        }
-      ]
-    },
-    "MultiMethodItems": [],
-    "MethodChildItems": []
-  },
-  {
-    "Name": "SRTraceDensity",
-    "Description": "SRTraceDensity",
-    "BriefAnnotation": "SRTraceDensity",
-    "MeasureTypeName": "SRTraceDensity",
-    "Categories": ["Common"],
-    "Calculator": {
-      "AvailableOutputs": [
-        {
-          "Name": "Vessel ratio",
-          "Description": "Vessel ratio",
-          "Unit": 0,
-          "IsWorking": true
-        }
-      ]
-    },
-    "MultiMethodItems": [],
-    "MethodChildItems": []
-  },
-  {
-    "Name": "SRRoiDensity",
-    "Description": "SRRoiDensity",
-    "BriefAnnotation": "SRRoiDensity",
-    "MeasureTypeName": "SRRoiDensity",
-    "Categories": ["Common"],
-    "Calculator": {
-      "AvailableOutputs": [
-        {
-          "Name": "Vessel ratio",
-          "Description": "Vessel ratio",
-          "Unit": 0,
-          "IsWorking": true
-        }
-      ]
-    },
-    "MultiMethodItems": [],
-    "MethodChildItems": []
-  },
-  {
-    "Name": "SRRoiVel",
-    "Description": "SRRoiVel",
-    "BriefAnnotation": "SRRoiVel",
-    "MeasureTypeName": "SRRoiVel",
-    "Categories": ["Common"],
-    "Calculator": {
-      "AvailableOutputs": [
-        {
-          "Name": "SRRoiVel",
-          "Description": "SRRoiVel",
-          "Unit": 0,
-          "IsWorking": true
-        }
-      ]
-    },
-    "MultiMethodItems": [],
-    "MethodChildItems": []
-  },
-  {
-    "Name": "SRROIFractalDim",
-    "Description": "SRRoiFD",
-    "BriefAnnotation": "SRRoiFD",
-    "MeasureTypeName": "SRROIFractalDim",
-    "Categories": ["Common"],
-    "Calculator": {
-      "AvailableOutputs": [
-        {
-          "Name": "Complexity level",
-          "Description": "Complexity level",
-          "Unit": 0,
-          "IsWorking": true
-        }
-      ]
-    },
-    "MultiMethodItems": [],
-    "MethodChildItems": []
-  },
-  {
-    "Name": "SRTraceFractalDim",
-    "Description": "SRTraceFD",
-    "BriefAnnotation": "SRTraceFD",
-    "MeasureTypeName": "SRTraceFractalDim",
-    "Categories": ["Common"],
-    "Calculator": {
-      "AvailableOutputs": [
-        {
-          "Name": "Complexity level",
-          "Description": "Complexity level",
-          "Unit": 0,
-          "IsWorking": true
-        }
-      ]
-    },
-    "MultiMethodItems": [],
-    "MethodChildItems": []
-  },
-  {
-    "Name": "FractalDimSR",
-    "Description": "SR FractalDim",
-    "BriefAnnotation": "SR FractalDim",
-    "MeasureTypeName": "FractalDimSR",
-    "Categories": ["Common"],
-    "Calculator": {
-      "AvailableOutputs": [
-        {
-          "Name": "Complexity level",
-          "Description": "Complexity level",
-          "Unit": 0,
-          "IsWorking": true
-        }
-      ]
+        ],
+        "MethodChildItems": []
     },
-    "MultiMethodItems": [
-      {
-        "Name": "SRROIFractalDim",
-        "Description": "Rect",
-        "IsWorking": true,
-        "ChildItems": [],
-        "Calculator": {
-          "AvailableOutputs": [
-            {
-              "Name": "Complexity level",
-              "Description": "Complexity level",
-              "Unit": 0,
-              "IsWorking": true
-            }
-          ]
-        },
-        "MeasureTypeName": "SRROIFractalDim"
-      },
-      {
-        "Name": "SRTraceFractalDim",
-        "Description": "Trace",
-        "IsWorking": false,
-        "ChildItems": [],
-        "Calculator": {
-          "AvailableOutputs": [
-            {
-              "Name": "Complexity level",
-              "Description": "Complexity level",
-              "Unit": 0,
-              "IsWorking": true
-            }
-          ]
-        },
-        "MeasureTypeName": "SRTraceFractalDim"
-      },
-      {
-        "Name": "URMShellFractalDim",
-        "Description": "Shell",
-        "IsWorking": false,
-        "ChildItems": [],
+    {
+        "Name": "SRLoactionVel",
+        "Description": "SRLoactionVel",
+        "BriefAnnotation": "SRLoactionVel",
+        "MeasureTypeName": "SRLoactionVel",
+        "Categories": [
+            "Common"
+        ],
         "Calculator": {
-          "AvailableOutputs": [
-            {
-              "Name": "Complexity level",
-              "Description": "Complexity level",
-              "Unit": 0,
-              "IsWorking": true
-            }
-          ]
-        },
-        "MeasureTypeName": "URMShellFractalDim"
-      }
-    ],
-    "MethodChildItems": []
-  },
-  {
-    "Name": "SRROIFractalDimRation",
-    "Description": "SR FD 1/2",
-    "BriefAnnotation": "SR FD 1/2",
-    "MeasureTypeName": "SRROIFractalDimRation",
-    "Categories": ["Common"],
-    "Calculator": {
-      "AvailableOutputs": [
-        {
-          "Name": "Ratio",
-          "Description": "Ratio",
-          "Unit": 0,
-          "IsWorking": true
-        }
-      ]
-    },
-    "MultiMethodItems": [
-      {
-        "Name": "Rect",
-        "IsWorking": true,
-        "ChildItems": [
-          {
-            "Name": "Roi1",
-            "Description": "Roi1",
-            "IsWorking": false,
-            "ChildItems": [],
-            "Calculator": {
-              "AvailableOutputs": [
+            "AvailableOutputs": [
                 {
-                  "Name": "Complexity level",
-                  "Description": "Complexity level",
-                  "Unit": 0,
-                  "IsWorking": true
+                    "Name": "SRVel",
+                    "Description": "SRVel",
+                    "Unit": 0,
+                    "IsWorking": true
                 }
-              ]
-            },
-            "MeasureTypeName": "SRROIFractalDim"
-          },
-          {
-            "Name": "Roi2",
-            "Description": "Roi2",
-            "IsWorking": false,
-            "ChildItems": [],
-            "Calculator": {
-              "AvailableOutputs": [
-                {
-                  "Name": "Complexity level",
-                  "Description": "Complexity level",
-                  "Unit": 0,
-                  "IsWorking": true
-                }
-              ]
-            },
-            "MeasureTypeName": "SRROIFractalDim"
-          }
+            ]
+        },
+        "MultiMethodItems": [],
+        "MethodChildItems": []
+    },
+    {
+        "Name": "SRTraceDensity",
+        "Description": "SRTraceDensity",
+        "BriefAnnotation": "SRTraceDensity",
+        "MeasureTypeName": "SRTraceDensity",
+        "Categories": [
+            "Common"
         ],
         "Calculator": {
-          "AvailableOutputs": [
-            {
-              "Name": "Ratio",
-              "Description": "Ratio",
-              "Unit": 0,
-              "IsWorking": true
-            }
-          ]
-        },
-        "MeasureTypeName": "FractalDimTwoSRRoiRect"
-      },
-      {
-        "Name": "Trace",
-        "IsWorking": false,
-        "ChildItems": [
-          {
-            "Name": "Roi1",
-            "Description": "Roi1",
-            "IsWorking": false,
-            "ChildItems": [],
-            "Calculator": {
-              "AvailableOutputs": [
-                {
-                  "Name": "Complexity level",
-                  "Description": "Complexity level",
-                  "Unit": 0,
-                  "IsWorking": true
-                }
-              ]
-            },
-            "MeasureTypeName": "SRTraceFractalDim"
-          },
-          {
-            "Name": "Roi2",
-            "Description": "Roi2",
-            "IsWorking": false,
-            "ChildItems": [],
-            "Calculator": {
-              "AvailableOutputs": [
+            "AvailableOutputs": [
                 {
-                  "Name": "Complexity level",
-                  "Description": "Complexity level",
-                  "Unit": 0,
-                  "IsWorking": true
+                    "Name": "Vessel ratio",
+                    "Description": "Vessel ratio",
+                    "Unit": 0,
+                    "IsWorking": true
                 }
-              ]
-            },
-            "MeasureTypeName": "SRTraceFractalDim"
-          }
-        ],
-        "Calculator": {
-          "AvailableOutputs": [
-            {
-              "Name": "Ratio",
-              "Description": "Ratio",
-              "Unit": 0,
-              "IsWorking": true
-            }
-          ]
+            ]
         },
-        "MeasureTypeName": "FractalDimTwoSRROITrace"
-      }
-    ],
-    "MethodChildItems": []
-  },
-  {
-    "Name": "SRRoiDensityRation",
-    "Description": "SR Density 1/2",
-    "BriefAnnotation": "SR Density 1/2",
-    "MeasureTypeName": "SRRoiDensityRation",
-    "Categories": ["Common"],
-    "Calculator": {
-      "AvailableOutputs": [
-        {
-          "Name": "Ratio",
-          "Description": "Ratio",
-          "Unit": 0,
-          "IsWorking": true
-        }
-      ]
+        "MultiMethodItems": [],
+        "MethodChildItems": []
     },
-    "MultiMethodItems": [
-      {
-        "Name": "Rect",
-        "IsWorking": true,
-        "ChildItems": [
-          {
-            "Name": "Roi1",
-            "Description": "Roi1",
-            "IsWorking": false,
-            "ChildItems": [],
-            "Calculator": {
-              "AvailableOutputs": [
-                {
-                  "Name": "Vessel ratio",
-                  "Description": "Vessel ratio",
-                  "Unit": 0,
-                  "IsWorking": true
-                }
-              ]
-            },
-            "MeasureTypeName": "SRRoiDensity"
-          },
-          {
-            "Name": "Roi2",
-            "Description": "Roi2",
-            "IsWorking": false,
-            "ChildItems": [],
-            "Calculator": {
-              "AvailableOutputs": [
-                {
-                  "Name": "Vessel ratio",
-                  "Description": "Vessel ratio",
-                  "Unit": 0,
-                  "IsWorking": true
-                }
-              ]
-            },
-            "MeasureTypeName": "SRRoiDensity"
-          }
+    {
+        "Name": "SRRoiDensity",
+        "Description": "SRRoiDensity",
+        "BriefAnnotation": "SRRoiDensity",
+        "MeasureTypeName": "SRRoiDensity",
+        "Categories": [
+            "Common"
         ],
         "Calculator": {
-          "AvailableOutputs": [
-            {
-              "Name": "Ratio",
-              "Description": "Ratio",
-              "Unit": 0,
-              "IsWorking": true
-            }
-          ]
-        },
-        "MeasureTypeName": "DensityTwoSRRoiRect"
-      },
-      {
-        "Name": "Trace",
-        "IsWorking": false,
-        "ChildItems": [
-          {
-            "Name": "Roi1",
-            "Description": "Roi1",
-            "IsWorking": false,
-            "ChildItems": [],
-            "Calculator": {
-              "AvailableOutputs": [
+            "AvailableOutputs": [
                 {
-                  "Name": "Vessel ratio",
-                  "Description": "Vessel ratio",
-                  "Unit": 0,
-                  "IsWorking": true
+                    "Name": "Vessel ratio",
+                    "Description": "Vessel ratio",
+                    "Unit": 0,
+                    "IsWorking": true
                 }
-              ]
-            },
-            "MeasureTypeName": "SRTraceDensity"
-          },
-          {
-            "Name": "Roi2",
-            "Description": "Roi2",
-            "IsWorking": false,
-            "ChildItems": [],
-            "Calculator": {
-              "AvailableOutputs": [
+            ]
+        },
+        "MultiMethodItems": [],
+        "MethodChildItems": []
+    },
+    {
+        "Name": "SRRoiVel",
+        "Description": "SRRoiVel",
+        "BriefAnnotation": "SRRoiVel",
+        "MeasureTypeName": "SRRoiVel",
+        "Categories": [
+            "Common"
+        ],
+        "Calculator": {
+            "AvailableOutputs": [
                 {
-                  "Name": "Vessel ratio",
-                  "Description": "Vessel ratio",
-                  "Unit": 0,
-                  "IsWorking": true
+                    "Name": "SRRoiVel",
+                    "Description": "SRRoiVel",
+                    "Unit": 0,
+                    "IsWorking": true
                 }
-              ]
-            },
-            "MeasureTypeName": "SRTraceDensity"
-          }
+            ]
+        },
+        "MultiMethodItems": [],
+        "MethodChildItems": []
+    },
+    {
+        "Name": "SRROIFractalDim",
+        "Description": "SRRoiFD",
+        "BriefAnnotation": "SRRoiFD",
+        "MeasureTypeName": "SRROIFractalDim",
+        "Categories": [
+            "Common"
         ],
         "Calculator": {
-          "AvailableOutputs": [
-            {
-              "Name": "Ratio",
-              "Description": "Ratio",
-              "Unit": 0,
-              "IsWorking": true
-            }
-          ]
+            "AvailableOutputs": [
+                {
+                    "Name": "Complexity level",
+                    "Description": "Complexity level",
+                    "Unit": 0,
+                    "IsWorking": true
+                }
+            ]
         },
-        "MeasureTypeName": "DensityTwoSRROITrace"
-      }
-    ],
-    "MethodChildItems": []
-  },
-  {
-    "Name": "DensitySR",
-    "Description": "SR Density",
-    "BriefAnnotation": "SR Density",
-    "MeasureTypeName": "DensitySR",
-    "Categories": ["Common"],
-    "Calculator": {
-      "AvailableOutputs": [
-        {
-          "Name": "Vessel ratio",
-          "Description": "Vessel ratio",
-          "Unit": 0,
-          "IsWorking": true
-        }
-      ]
+        "MultiMethodItems": [],
+        "MethodChildItems": []
     },
-    "MultiMethodItems": [
-      {
-        "Name": "SRRoiDensity",
-        "Description": "Rect",
-        "IsWorking": true,
-        "ChildItems": [],
+    {
+        "Name": "SRTraceFractalDim",
+        "Description": "SRTraceFD",
+        "BriefAnnotation": "SRTraceFD",
+        "MeasureTypeName": "SRTraceFractalDim",
+        "Categories": [
+            "Common"
+        ],
         "Calculator": {
-          "AvailableOutputs": [
-            {
-              "Name": "Vessel ratio",
-              "Description": "Vessel ratio",
-              "Unit": 0,
-              "IsWorking": true
-            }
-          ]
+            "AvailableOutputs": [
+                {
+                    "Name": "Complexity level",
+                    "Description": "Complexity level",
+                    "Unit": 0,
+                    "IsWorking": true
+                }
+            ]
         },
-        "MeasureTypeName": "SRRoiDensity"
-      },
-      {
-        "Name": "SRTraceDensity",
-        "Description": "Trace",
-        "IsWorking": false,
-        "ChildItems": [],
+        "MultiMethodItems": [],
+        "MethodChildItems": []
+    },
+    {
+        "Name": "FractalDimSR",
+        "Description": "SR FractalDim",
+        "BriefAnnotation": "SR FractalDim",
+        "MeasureTypeName": "FractalDimSR",
+        "Categories": [
+            "Common"
+        ],
         "Calculator": {
-          "AvailableOutputs": [
-            {
-              "Name": "Vessel ratio",
-              "Description": "Vessel ratio",
-              "Unit": 0,
-              "IsWorking": true
-            }
-          ]
+            "AvailableOutputs": [
+                {
+                    "Name": "Complexity level",
+                    "Description": "Complexity level",
+                    "Unit": 0,
+                    "IsWorking": true
+                }
+            ]
         },
-        "MeasureTypeName": "SRTraceDensity"
-      },
-      {
-        "Name": "URMShellDensity",
-        "Description": "Shell",
-        "IsWorking": false,
-        "ChildItems": [],
-        "Calculator": {
-          "AvailableOutputs": [
-            {
-              "Name": "Vessel ratio",
-              "Description": "Vessel ratio",
-              "Unit": 0,
-              "IsWorking": true
+        "MultiMethodItems": [
+            {
+                "Name": "SRROIFractalDim",
+                "Description": "Rect",
+                "IsWorking": true,
+                "ChildItems": [],
+                "Calculator": {
+                    "AvailableOutputs": [
+                        {
+                            "Name": "Complexity level",
+                            "Description": "Complexity level",
+                            "Unit": 0,
+                            "IsWorking": true
+                        }
+                    ]
+                },
+                "MeasureTypeName": "SRROIFractalDim"
+            },
+            {
+                "Name": "SRTraceFractalDim",
+                "Description": "Trace",
+                "IsWorking": false,
+                "ChildItems": [],
+                "Calculator": {
+                    "AvailableOutputs": [
+                        {
+                            "Name": "Complexity level",
+                            "Description": "Complexity level",
+                            "Unit": 0,
+                            "IsWorking": true
+                        }
+                    ]
+                },
+                "MeasureTypeName": "SRTraceFractalDim"
+            },
+            {
+                "Name": "URMShellFractalDim",
+                "Description": "Shell",
+                "IsWorking": false,
+                "ChildItems": [],
+                "Calculator": {
+                    "AvailableOutputs": [
+                        {
+                            "Name": "Complexity level",
+                            "Description": "Complexity level",
+                            "Unit": 0,
+                            "IsWorking": true
+                        }
+                    ]
+                },
+                "MeasureTypeName": "URMShellFractalDim"
             }
-          ]
-        },
-        "MeasureTypeName": "URMShellDensity"
-      }
-    ],
-    "MethodChildItems": []
-  },
-  {
-    "Name": "URMDensityMeasure",
-    "Description": "URMDensityMeasure",
-    "BriefAnnotation": "URMDensityMeasure",
-    "MeasureTypeName": "URMDensityMeasure",
-    "Categories": ["Common"],
-    "Calculator": {
-      "AvailableOutputs": [
-        {
-          "Name": "Vessel ratio",
-          "Description": "Vessel ratio",
-          "Unit": 0,
-          "IsWorking": true
-        },
-        {
-          "Name": "Complexity level",
-          "Description": "Complexity level",
-          "Unit": 0
-        },
-        {
-          "Name": "Max",
-          "Description": "Max",
-          "Unit": 0
-        },
-        {
-          "Name": "Min",
-          "Description": "Min",
-          "Unit": 0
-        },
-        {
-          "Name": "Mean",
-          "Description": "Mean",
-          "Unit": 0
-        },
-        {
-          "Name": "Std",
-          "Description": "Std",
-          "Unit": 0
-        },
-        {
-          "Name": "Area",
-          "Description": "Area",
-          "Unit": 50
-        },
-        {
-          "Name": "Vessel ratio(In)",
-          "Description": "Vessel ratio(In)",
-          "Unit": 0
-        },
-        {
-          "Name": "Complexity level(In)",
-          "Description": "Complexity level(In)",
-          "Unit": 0
-        },
-        {
-          "Name": "Max(In)",
-          "Description": "Max(In)",
-          "Unit": 0
-        },
-        {
-          "Name": "Min(In)",
-          "Description": "Min(In)",
-          "Unit": 0
-        },
-        {
-          "Name": "Mean(In)",
-          "Description": "Mean(In)",
-          "Unit": 0
-        },
-        {
-          "Name": "Std(In)",
-          "Description": "Std(In)",
-          "Unit": 0
-        },
-        {
-          "Name": "Area(In)",
-          "Description": "Area(In)",
-          "Unit": 0
-        },
-        {
-          "Name": "Vessel ratio(Out)",
-          "Description": "Vessel ratio(Out)",
-          "Unit": 0
-        },
-        {
-          "Name": "Complexity level(Out)",
-          "Description": "Complexity level(Out)",
-          "Unit": 0
-        },
-        {
-          "Name": "Max(Out)",
-          "Description": "Max(Out)",
-          "Unit": 0
-        },
-        {
-          "Name": "Min(Out)",
-          "Description": "Min(Out)",
-          "Unit": 0
-        },
-        {
-          "Name": "Mean(Out)",
-          "Description": "Mean(Out)",
-          "Unit": 0
-        },
-        {
-          "Name": "Std(Out)",
-          "Description": "Std(Out)",
-          "Unit": 0
-        },
-        {
-          "Name": "Area(Out)",
-          "Description": "Area(Out)",
-          "Unit": 0
-        }
-      ]
+        ],
+        "MethodChildItems": []
     },
-    "MultiMethodItems": [
-      {
-        "Name": "URMRectDenMeasure",
-        "Description": "Rect",
-        "IsWorking": true,
-        "ChildItems": [],
+    {
+        "Name": "SRROIFractalDimRation",
+        "Description": "SR FD 1/2",
+        "BriefAnnotation": "SR FD 1/2",
+        "MeasureTypeName": "SRROIFractalDimRation",
+        "Categories": [
+            "Common"
+        ],
         "Calculator": {
-          "AvailableOutputs": [
-            {
-              "Name": "Vessel ratio",
-              "Description": "Vessel ratio",
-              "Unit": 0
-            },
-            {
-              "Name": "Complexity level",
-              "Description": "Complexity level",
-              "Unit": 0
-            },
-            {
-              "Name": "Max",
-              "Description": "Max",
-              "Unit": 0
-            },
-            {
-              "Name": "Min",
-              "Description": "Min",
-              "Unit": 0
-            },
-            {
-              "Name": "Mean",
-              "Description": "Mean",
-              "Unit": 0
-            },
-            {
-              "Name": "Std",
-              "Description": "Std",
-              "Unit": 0
-            },
-            {
-              "Name": "Area",
-              "Description": "Area",
-              "Unit": 50
-            },
-            {
-              "Name": "Vessel ratio(In)",
-              "Description": "Vessel ratio(In)",
-              "Unit": 0
-            },
-            {
-              "Name": "Complexity level(In)",
-              "Description": "Complexity level(In)",
-              "Unit": 0
-            },
-            {
-              "Name": "Max(In)",
-              "Description": "Max(In)",
-              "Unit": 0
-            },
-            {
-              "Name": "Min(In)",
-              "Description": "Min(In)",
-              "Unit": 0
-            },
-            {
-              "Name": "Mean(In)",
-              "Description": "Mean(In)",
-              "Unit": 0
-            },
-            {
-              "Name": "Std(In)",
-              "Description": "Std(In)",
-              "Unit": 0
-            },
-            {
-              "Name": "Area(In)",
-              "Description": "Area(In)",
-              "Unit": 0
-            },
-            {
-              "Name": "Vessel ratio(Out)",
-              "Description": "Vessel ratio(Out)",
-              "Unit": 0
-            },
-            {
-              "Name": "Complexity level(Out)",
-              "Description": "Complexity level(Out)",
-              "Unit": 0
-            },
-            {
-              "Name": "Max(Out)",
-              "Description": "Max(Out)",
-              "Unit": 0
-            },
-            {
-              "Name": "Min(Out)",
-              "Description": "Min(Out)",
-              "Unit": 0
-            },
-            {
-              "Name": "Mean(Out)",
-              "Description": "Mean(Out)",
-              "Unit": 0
-            },
-            {
-              "Name": "Std(Out)",
-              "Description": "Std(Out)",
-              "Unit": 0
-            },
-            {
-              "Name": "Area(Out)",
-              "Description": "Area(Out)",
-              "Unit": 0
-            }
-          ]
+            "AvailableOutputs": [
+                {
+                    "Name": "Ratio",
+                    "Description": "Ratio",
+                    "Unit": 0,
+                    "IsWorking": true
+                }
+            ]
         },
-        "MeasureTypeName": "URMRectDenMeasure"
-      },
-      {
-        "Name": "URMTraceDenMeasure",
-        "Description": "Trace",
-        "IsWorking": false,
-        "ChildItems": [],
-        "Calculator": {
-          "AvailableOutputs": [
-            {
-              "Name": "Vessel ratio",
-              "Description": "Vessel ratio",
-              "Unit": 0
-            },
-            {
-              "Name": "Complexity level",
-              "Description": "Complexity level",
-              "Unit": 0
-            },
-            {
-              "Name": "Max",
-              "Description": "Max",
-              "Unit": 0
-            },
-            {
-              "Name": "Min",
-              "Description": "Min",
-              "Unit": 0
-            },
-            {
-              "Name": "Mean",
-              "Description": "Mean",
-              "Unit": 0
-            },
-            {
-              "Name": "Std",
-              "Description": "Std",
-              "Unit": 0
-            },
-            {
-              "Name": "Area",
-              "Description": "Area",
-              "Unit": 50
+        "MultiMethodItems": [
+            {
+                "Name": "Rect",
+                "IsWorking": true,
+                "ChildItems": [
+                    {
+                        "Name": "Roi1",
+                        "Description": "Roi1",
+                        "IsWorking": false,
+                        "ChildItems": [],
+                        "Calculator": {
+                            "AvailableOutputs": [
+                                {
+                                    "Name": "Complexity level",
+                                    "Description": "Complexity level",
+                                    "Unit": 0,
+                                    "IsWorking": true
+                                }
+                            ]
+                        },
+                        "MeasureTypeName": "SRROIFractalDim"
+                    },
+                    {
+                        "Name": "Roi2",
+                        "Description": "Roi2",
+                        "IsWorking": false,
+                        "ChildItems": [],
+                        "Calculator": {
+                            "AvailableOutputs": [
+                                {
+                                    "Name": "Complexity level",
+                                    "Description": "Complexity level",
+                                    "Unit": 0,
+                                    "IsWorking": true
+                                }
+                            ]
+                        },
+                        "MeasureTypeName": "SRROIFractalDim"
+                    }
+                ],
+                "Calculator": {
+                    "AvailableOutputs": [
+                        {
+                            "Name": "Ratio",
+                            "Description": "Ratio",
+                            "Unit": 0,
+                            "IsWorking": true
+                        }
+                    ]
+                },
+                "MeasureTypeName": "FractalDimTwoSRRoiRect"
+            },
+            {
+                "Name": "Trace",
+                "IsWorking": false,
+                "ChildItems": [
+                    {
+                        "Name": "Roi1",
+                        "Description": "Roi1",
+                        "IsWorking": false,
+                        "ChildItems": [],
+                        "Calculator": {
+                            "AvailableOutputs": [
+                                {
+                                    "Name": "Complexity level",
+                                    "Description": "Complexity level",
+                                    "Unit": 0,
+                                    "IsWorking": true
+                                }
+                            ]
+                        },
+                        "MeasureTypeName": "SRTraceFractalDim"
+                    },
+                    {
+                        "Name": "Roi2",
+                        "Description": "Roi2",
+                        "IsWorking": false,
+                        "ChildItems": [],
+                        "Calculator": {
+                            "AvailableOutputs": [
+                                {
+                                    "Name": "Complexity level",
+                                    "Description": "Complexity level",
+                                    "Unit": 0,
+                                    "IsWorking": true
+                                }
+                            ]
+                        },
+                        "MeasureTypeName": "SRTraceFractalDim"
+                    }
+                ],
+                "Calculator": {
+                    "AvailableOutputs": [
+                        {
+                            "Name": "Ratio",
+                            "Description": "Ratio",
+                            "Unit": 0,
+                            "IsWorking": true
+                        }
+                    ]
+                },
+                "MeasureTypeName": "FractalDimTwoSRROITrace"
             }
-          ]
-        },
-        "MeasureTypeName": "URMTraceDenMeasure"
-      },
-      {
-        "Name": "URMShellDensityMeasure",
-        "Description": "Shell",
-        "IsWorking": false,
-        "ChildItems": [],
-        "Calculator": {
-          "AvailableOutputs": [
-            {
-              "Name": "Vessel ratio",
-              "Description": "Vessel ratio",
-              "Unit": 0
-            },
-            {
-              "Name": "Complexity level",
-              "Description": "Complexity level",
-              "Unit": 0
-            },
-            {
-              "Name": "Max",
-              "Description": "Max",
-              "Unit": 0
-            },
-            {
-              "Name": "Min",
-              "Description": "Min",
-              "Unit": 0
-            },
-            {
-              "Name": "Mean",
-              "Description": "Mean",
-              "Unit": 0
-            },
-            {
-              "Name": "Std",
-              "Description": "Std",
-              "Unit": 0
-            },
-            {
-              "Name": "Area",
-              "Description": "Area",
-              "Unit": 50
-            },
-            {
-              "Name": "Vessel ratio(In)",
-              "Description": "Vessel ratio(In)",
-              "Unit": 0
-            },
-            {
-              "Name": "Complexity level(In)",
-              "Description": "Complexity level(In)",
-              "Unit": 0
-            },
-            {
-              "Name": "Max(In)",
-              "Description": "Max(In)",
-              "Unit": 0
-            },
-            {
-              "Name": "Min(In)",
-              "Description": "Min(In)",
-              "Unit": 0
-            },
-            {
-              "Name": "Mean(In)",
-              "Description": "Mean(In)",
-              "Unit": 0
-            },
-            {
-              "Name": "Std(In)",
-              "Description": "Std(In)",
-              "Unit": 0
-            },
-            {
-              "Name": "Area(In)",
-              "Description": "Area(In)",
-              "Unit": 0
-            },
-            {
-              "Name": "Vessel ratio(Out)",
-              "Description": "Vessel ratio(Out)",
-              "Unit": 0
-            },
-            {
-              "Name": "Complexity level(Out)",
-              "Description": "Complexity level(Out)",
-              "Unit": 0
-            },
-            {
-              "Name": "Max(Out)",
-              "Description": "Max(Out)",
-              "Unit": 0
-            },
-            {
-              "Name": "Min(Out)",
-              "Description": "Min(Out)",
-              "Unit": 0
-            },
-            {
-              "Name": "Mean(Out)",
-              "Description": "Mean(Out)",
-              "Unit": 0
-            },
-            {
-              "Name": "Std(Out)",
-              "Description": "Std(Out)",
-              "Unit": 0
-            },
-            {
-              "Name": "Area(Out)",
-              "Description": "Area(Out)",
-              "Unit": 0
-            }
-          ]
-        },
-        "MeasureTypeName": "URMShellDenMeasure"
-      }
-    ],
-    "MethodChildItems": []
-  },
-  {
-    "Name": "URMVelMeasure",
-    "Description": "URMVelMeasure",
-    "BriefAnnotation": "URMVelMeasure",
-    "MeasureTypeName": "URMVelMeasure",
-    "Categories": ["Common"],
-    "Calculator": {
-      "AvailableOutputs": [
-        {
-          "Name": "Max",
-          "Description": "Max",
-          "Unit": 0,
-          "IsWorking": true
-        },
-        {
-          "Name": "Min",
-          "Description": "Min",
-          "Unit": 0
-        },
-        {
-          "Name": "Mean",
-          "Description": "Mean",
-          "Unit": 0
-        },
-        {
-          "Name": "Std",
-          "Description": "Std",
-          "Unit": 0
-        },
-        {
-          "Name": "Area",
-          "Description": "Area",
-          "Unit": 50
-        },
-        {
-          "Name": "Max(In)",
-          "Description": "Max(In)",
-          "Unit": 0
-        },
-        {
-          "Name": "Min(In)",
-          "Description": "Min(In)",
-          "Unit": 0
-        },
-        {
-          "Name": "Mean(In)",
-          "Description": "Mean(In)",
-          "Unit": 0
-        },
-        {
-          "Name": "Std(In)",
-          "Description": "Std(In)",
-          "Unit": 0
-        },
-        {
-          "Name": "Area(In)",
-          "Description": "Area(In)",
-          "Unit": 0
-        },
-        {
-          "Name": "Max(Out)",
-          "Description": "Max(Out)",
-          "Unit": 0
-        },
-        {
-          "Name": "Min(Out)",
-          "Description": "Min(Out)",
-          "Unit": 0
-        },
-        {
-          "Name": "Mean(Out)",
-          "Description": "Mean(Out)",
-          "Unit": 0
-        },
-        {
-          "Name": "Std(Out)",
-          "Description": "Std(Out)",
-          "Unit": 0
-        },
-        {
-          "Name": "Area(Out)",
-          "Description": "Area(Out)",
-          "Unit": 0
-        }
-      ]
+        ],
+        "MethodChildItems": []
     },
-    "MultiMethodItems": [
-      {
-        "Name": "URMRectVelMeasure",
-        "Description": "Rect",
-        "IsWorking": true,
-        "ChildItems": [],
+    {
+        "Name": "SRRoiDensityRation",
+        "Description": "SR Density 1/2",
+        "BriefAnnotation": "SR Density 1/2",
+        "MeasureTypeName": "SRRoiDensityRation",
+        "Categories": [
+            "Common"
+        ],
         "Calculator": {
-          "AvailableOutputs": [
-            {
-              "Name": "Max",
-              "Description": "Max",
-              "Unit": 0
-            },
-            {
-              "Name": "Min",
-              "Description": "Min",
-              "Unit": 0
-            },
-            {
-              "Name": "Mean",
-              "Description": "Mean",
-              "Unit": 0
-            },
-            {
-              "Name": "Std",
-              "Description": "Std",
-              "Unit": 0
-            },
-            {
-              "Name": "Area",
-              "Description": "Area",
-              "Unit": 50
-            },
-            {
-              "Name": "Max(In)",
-              "Description": "Max(In)",
-              "Unit": 0
-            },
-            {
-              "Name": "Min(In)",
-              "Description": "Min(In)",
-              "Unit": 0
-            },
-            {
-              "Name": "Mean(In)",
-              "Description": "Mean(In)",
-              "Unit": 0
-            },
-            {
-              "Name": "Std(In)",
-              "Description": "Std(In)",
-              "Unit": 0
-            },
-            {
-              "Name": "Area(In)",
-              "Description": "Area(In)",
-              "Unit": 0
-            },
-            {
-              "Name": "Max(Out)",
-              "Description": "Max(Out)",
-              "Unit": 0
-            },
-            {
-              "Name": "Min(Out)",
-              "Description": "Min(Out)",
-              "Unit": 0
-            },
-            {
-              "Name": "Mean(Out)",
-              "Description": "Mean(Out)",
-              "Unit": 0
-            },
-            {
-              "Name": "Std(Out)",
-              "Description": "Std(Out)",
-              "Unit": 0
-            },
-            {
-              "Name": "Area(Out)",
-              "Description": "Area(Out)",
-              "Unit": 0
-            }
-          ]
+            "AvailableOutputs": [
+                {
+                    "Name": "Ratio",
+                    "Description": "Ratio",
+                    "Unit": 0,
+                    "IsWorking": true
+                }
+            ]
         },
-        "MeasureTypeName": "URMRectVelMeasure"
-      },
-      {
-        "Name": "URMTraceVelMeasure",
-        "Description": "Trace",
-        "IsWorking": false,
-        "ChildItems": [],
-        "Calculator": {
-          "AvailableOutputs": [
-            {
-              "Name": "Max",
-              "Description": "Max",
-              "Unit": 0
-            },
-            {
-              "Name": "Min",
-              "Description": "Min",
-              "Unit": 0
-            },
-            {
-              "Name": "Mean",
-              "Description": "Mean",
-              "Unit": 0
-            },
-            {
-              "Name": "Std",
-              "Description": "Std",
-              "Unit": 0
-            },
-            {
-              "Name": "Area",
-              "Description": "Area",
-              "Unit": 50
+        "MultiMethodItems": [
+            {
+                "Name": "Rect",
+                "IsWorking": true,
+                "ChildItems": [
+                    {
+                        "Name": "Roi1",
+                        "Description": "Roi1",
+                        "IsWorking": false,
+                        "ChildItems": [],
+                        "Calculator": {
+                            "AvailableOutputs": [
+                                {
+                                    "Name": "Vessel ratio",
+                                    "Description": "Vessel ratio",
+                                    "Unit": 0,
+                                    "IsWorking": true
+                                }
+                            ]
+                        },
+                        "MeasureTypeName": "SRRoiDensity"
+                    },
+                    {
+                        "Name": "Roi2",
+                        "Description": "Roi2",
+                        "IsWorking": false,
+                        "ChildItems": [],
+                        "Calculator": {
+                            "AvailableOutputs": [
+                                {
+                                    "Name": "Vessel ratio",
+                                    "Description": "Vessel ratio",
+                                    "Unit": 0,
+                                    "IsWorking": true
+                                }
+                            ]
+                        },
+                        "MeasureTypeName": "SRRoiDensity"
+                    }
+                ],
+                "Calculator": {
+                    "AvailableOutputs": [
+                        {
+                            "Name": "Ratio",
+                            "Description": "Ratio",
+                            "Unit": 0,
+                            "IsWorking": true
+                        }
+                    ]
+                },
+                "MeasureTypeName": "DensityTwoSRRoiRect"
+            },
+            {
+                "Name": "Trace",
+                "IsWorking": false,
+                "ChildItems": [
+                    {
+                        "Name": "Roi1",
+                        "Description": "Roi1",
+                        "IsWorking": false,
+                        "ChildItems": [],
+                        "Calculator": {
+                            "AvailableOutputs": [
+                                {
+                                    "Name": "Vessel ratio",
+                                    "Description": "Vessel ratio",
+                                    "Unit": 0,
+                                    "IsWorking": true
+                                }
+                            ]
+                        },
+                        "MeasureTypeName": "SRTraceDensity"
+                    },
+                    {
+                        "Name": "Roi2",
+                        "Description": "Roi2",
+                        "IsWorking": false,
+                        "ChildItems": [],
+                        "Calculator": {
+                            "AvailableOutputs": [
+                                {
+                                    "Name": "Vessel ratio",
+                                    "Description": "Vessel ratio",
+                                    "Unit": 0,
+                                    "IsWorking": true
+                                }
+                            ]
+                        },
+                        "MeasureTypeName": "SRTraceDensity"
+                    }
+                ],
+                "Calculator": {
+                    "AvailableOutputs": [
+                        {
+                            "Name": "Ratio",
+                            "Description": "Ratio",
+                            "Unit": 0,
+                            "IsWorking": true
+                        }
+                    ]
+                },
+                "MeasureTypeName": "DensityTwoSRROITrace"
             }
-          ]
-        },
-        "MeasureTypeName": "URMTraceVelMeasure"
-      },
-      {
-        "Name": "URMShellVelMeasure",
-        "Description": "Shell",
-        "IsWorking": false,
-        "ChildItems": [],
+        ],
+        "MethodChildItems": []
+    },
+    {
+        "Name": "DensitySR",
+        "Description": "SR Density",
+        "BriefAnnotation": "SR Density",
+        "MeasureTypeName": "DensitySR",
+        "Categories": [
+            "Common"
+        ],
         "Calculator": {
-          "AvailableOutputs": [
-            {
-              "Name": "Max",
-              "Description": "Max",
-              "Unit": 0
-            },
-            {
-              "Name": "Min",
-              "Description": "Min",
-              "Unit": 0
-            },
-            {
-              "Name": "Mean",
-              "Description": "Mean",
-              "Unit": 0
-            },
-            {
-              "Name": "Std",
-              "Description": "Std",
-              "Unit": 0
-            },
-            {
-              "Name": "Area",
-              "Description": "Area",
-              "Unit": 50
-            },
-            {
-              "Name": "Max(In)",
-              "Description": "Max(In)",
-              "Unit": 0
-            },
-            {
-              "Name": "Min(In)",
-              "Description": "Min(In)",
-              "Unit": 0
-            },
-            {
-              "Name": "Mean(In)",
-              "Description": "Mean(In)",
-              "Unit": 0
-            },
-            {
-              "Name": "Std(In)",
-              "Description": "Std(In)",
-              "Unit": 0
-            },
-            {
-              "Name": "Area(In)",
-              "Description": "Area(In)",
-              "Unit": 0
-            },
-            {
-              "Name": "Max(Out)",
-              "Description": "Max(Out)",
-              "Unit": 0
-            },
-            {
-              "Name": "Min(Out)",
-              "Description": "Min(Out)",
-              "Unit": 0
-            },
-            {
-              "Name": "Mean(Out)",
-              "Description": "Mean(Out)",
-              "Unit": 0
-            },
-            {
-              "Name": "Std(Out)",
-              "Description": "Std(Out)",
-              "Unit": 0
-            },
-            {
-              "Name": "Area(Out)",
-              "Description": "Area(Out)",
-              "Unit": 0
-            }
-          ]
+            "AvailableOutputs": [
+                {
+                    "Name": "Vessel ratio",
+                    "Description": "Vessel ratio",
+                    "Unit": 0,
+                    "IsWorking": true
+                }
+            ]
         },
-        "MeasureTypeName": "URMShellVelMeasure"
-      }
-    ],
-    "MethodChildItems": []
-  },
-  {
-    "Name": "URMDen",
-    "Description": "URMDen",
-    "BriefAnnotation": "URMDen",
-    "MeasureTypeName": "URMDen",
-    "Categories": ["Common"],
-    "Calculator": {
-      "AvailableOutputs": [
-        {
-          "Name": "URMDen",
-          "Description": "URMDen",
-          "Unit": 0,
-          "IsWorking": true
-        }
-      ]
+        "MultiMethodItems": [
+            {
+                "Name": "SRRoiDensity",
+                "Description": "Rect",
+                "IsWorking": true,
+                "ChildItems": [],
+                "Calculator": {
+                    "AvailableOutputs": [
+                        {
+                            "Name": "Vessel ratio",
+                            "Description": "Vessel ratio",
+                            "Unit": 0,
+                            "IsWorking": true
+                        }
+                    ]
+                },
+                "MeasureTypeName": "SRRoiDensity"
+            },
+            {
+                "Name": "SRTraceDensity",
+                "Description": "Trace",
+                "IsWorking": false,
+                "ChildItems": [],
+                "Calculator": {
+                    "AvailableOutputs": [
+                        {
+                            "Name": "Vessel ratio",
+                            "Description": "Vessel ratio",
+                            "Unit": 0,
+                            "IsWorking": true
+                        }
+                    ]
+                },
+                "MeasureTypeName": "SRTraceDensity"
+            },
+            {
+                "Name": "URMShellDensity",
+                "Description": "Shell",
+                "IsWorking": false,
+                "ChildItems": [],
+                "Calculator": {
+                    "AvailableOutputs": [
+                        {
+                            "Name": "Vessel ratio",
+                            "Description": "Vessel ratio",
+                            "Unit": 0,
+                            "IsWorking": true
+                        }
+                    ]
+                },
+                "MeasureTypeName": "URMShellDensity"
+            }
+        ],
+        "MethodChildItems": []
     },
-    "MultiMethodItems": [],
-    "MethodChildItems": [
-      {
-        "Name": "SRCurvature",
-        "IsWorking": false,
-        "ChildItems": [
-          {
-            "Name": "SRStraightCurvatureLineMeasure",
-            "Description": "Auto",
-            "IsWorking": true,
-            "ChildItems": [],
-            "Calculator": {
-              "AvailableOutputs": [
+    {
+        "Name": "URMDensityMeasure",
+        "Description": "URMDensityMeasure",
+        "BriefAnnotation": "URMDensityMeasure",
+        "MeasureTypeName": "URMDensityMeasure",
+        "Categories": [
+            "Common"
+        ],
+        "Calculator": {
+            "AvailableOutputs": [
                 {
-                  "Name": "SRCurvature",
-                  "Description": "SRCurvature",
-                  "Unit": 0,
-                  "IsWorking": true
-                }
-              ]
-            },
-            "MeasureTypeName": "SRStraightCurvatureLineMeasure"
-          },
-          {
-            "Name": "SRCurveCurvatureLineMeasure",
-            "Description": "Manual",
-            "IsWorking": false,
-            "ChildItems": [],
-            "Calculator": {
-              "AvailableOutputs": [
+                    "Name": "Vessel ratio",
+                    "Description": "Vessel ratio",
+                    "Unit": 0,
+                    "IsWorking": true
+                },
+                {
+                    "Name": "Complexity level",
+                    "Description": "Complexity level",
+                    "Unit": 0
+                },
+                {
+                    "Name": "Max",
+                    "Description": "Max",
+                    "Unit": 0
+                },
+                {
+                    "Name": "Min",
+                    "Description": "Min",
+                    "Unit": 0
+                },
+                {
+                    "Name": "Mean",
+                    "Description": "Mean",
+                    "Unit": 0
+                },
+                {
+                    "Name": "Std",
+                    "Description": "Std",
+                    "Unit": 0
+                },
+                {
+                    "Name": "Area",
+                    "Description": "Area",
+                    "Unit": 50
+                },
+                {
+                    "Name": "Vessel ratio(In)",
+                    "Description": "Vessel ratio(In)",
+                    "Unit": 0
+                },
+                {
+                    "Name": "Complexity level(In)",
+                    "Description": "Complexity level(In)",
+                    "Unit": 0
+                },
+                {
+                    "Name": "Max(In)",
+                    "Description": "Max(In)",
+                    "Unit": 0
+                },
+                {
+                    "Name": "Min(In)",
+                    "Description": "Min(In)",
+                    "Unit": 0
+                },
+                {
+                    "Name": "Mean(In)",
+                    "Description": "Mean(In)",
+                    "Unit": 0
+                },
+                {
+                    "Name": "Std(In)",
+                    "Description": "Std(In)",
+                    "Unit": 0
+                },
+                {
+                    "Name": "Area(In)",
+                    "Description": "Area(In)",
+                    "Unit": 0
+                },
                 {
-                  "Name": "SRCurvature",
-                  "Description": "SRCurvature",
-                  "Unit": 0,
-                  "IsWorking": true
+                    "Name": "Vessel ratio(Out)",
+                    "Description": "Vessel ratio(Out)",
+                    "Unit": 0
+                },
+                {
+                    "Name": "Complexity level(Out)",
+                    "Description": "Complexity level(Out)",
+                    "Unit": 0
+                },
+                {
+                    "Name": "Max(Out)",
+                    "Description": "Max(Out)",
+                    "Unit": 0
+                },
+                {
+                    "Name": "Min(Out)",
+                    "Description": "Min(Out)",
+                    "Unit": 0
+                },
+                {
+                    "Name": "Mean(Out)",
+                    "Description": "Mean(Out)",
+                    "Unit": 0
+                },
+                {
+                    "Name": "Std(Out)",
+                    "Description": "Std(Out)",
+                    "Unit": 0
+                },
+                {
+                    "Name": "Area(Out)",
+                    "Description": "Area(Out)",
+                    "Unit": 0
                 }
-              ]
-            },
-            "MeasureTypeName": "SRCurveCurvatureLineMeasure"
-          }
+            ]
+        },
+        "MultiMethodItems": [
+            {
+                "Name": "URMRectDenMeasure",
+                "Description": "Rect",
+                "IsWorking": true,
+                "ChildItems": [],
+                "Calculator": {
+                    "AvailableOutputs": [
+                        {
+                            "Name": "Vessel ratio",
+                            "Description": "Vessel ratio",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Complexity level",
+                            "Description": "Complexity level",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Max",
+                            "Description": "Max",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Min",
+                            "Description": "Min",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Mean",
+                            "Description": "Mean",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Std",
+                            "Description": "Std",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Area",
+                            "Description": "Area",
+                            "Unit": 50
+                        },
+                        {
+                            "Name": "Vessel ratio(In)",
+                            "Description": "Vessel ratio(In)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Complexity level(In)",
+                            "Description": "Complexity level(In)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Max(In)",
+                            "Description": "Max(In)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Min(In)",
+                            "Description": "Min(In)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Mean(In)",
+                            "Description": "Mean(In)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Std(In)",
+                            "Description": "Std(In)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Area(In)",
+                            "Description": "Area(In)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Vessel ratio(Out)",
+                            "Description": "Vessel ratio(Out)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Complexity level(Out)",
+                            "Description": "Complexity level(Out)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Max(Out)",
+                            "Description": "Max(Out)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Min(Out)",
+                            "Description": "Min(Out)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Mean(Out)",
+                            "Description": "Mean(Out)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Std(Out)",
+                            "Description": "Std(Out)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Area(Out)",
+                            "Description": "Area(Out)",
+                            "Unit": 0
+                        }
+                    ]
+                },
+                "MeasureTypeName": "URMRectDenMeasure"
+            },
+            {
+                "Name": "URMTraceDenMeasure",
+                "Description": "Trace",
+                "IsWorking": false,
+                "ChildItems": [],
+                "Calculator": {
+                    "AvailableOutputs": [
+                        {
+                            "Name": "Vessel ratio",
+                            "Description": "Vessel ratio",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Complexity level",
+                            "Description": "Complexity level",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Max",
+                            "Description": "Max",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Min",
+                            "Description": "Min",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Mean",
+                            "Description": "Mean",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Std",
+                            "Description": "Std",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Area",
+                            "Description": "Area",
+                            "Unit": 50
+                        }
+                    ]
+                },
+                "MeasureTypeName": "URMTraceDenMeasure"
+            },
+            {
+                "Name": "URMShellDensityMeasure",
+                "Description": "Shell",
+                "IsWorking": false,
+                "ChildItems": [],
+                "Calculator": {
+                    "AvailableOutputs": [
+                        {
+                            "Name": "Vessel ratio",
+                            "Description": "Vessel ratio",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Complexity level",
+                            "Description": "Complexity level",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Max",
+                            "Description": "Max",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Min",
+                            "Description": "Min",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Mean",
+                            "Description": "Mean",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Std",
+                            "Description": "Std",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Area",
+                            "Description": "Area",
+                            "Unit": 50
+                        },
+                        {
+                            "Name": "Vessel ratio(In)",
+                            "Description": "Vessel ratio(In)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Complexity level(In)",
+                            "Description": "Complexity level(In)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Max(In)",
+                            "Description": "Max(In)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Min(In)",
+                            "Description": "Min(In)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Mean(In)",
+                            "Description": "Mean(In)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Std(In)",
+                            "Description": "Std(In)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Area(In)",
+                            "Description": "Area(In)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Vessel ratio(Out)",
+                            "Description": "Vessel ratio(Out)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Complexity level(Out)",
+                            "Description": "Complexity level(Out)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Max(Out)",
+                            "Description": "Max(Out)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Min(Out)",
+                            "Description": "Min(Out)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Mean(Out)",
+                            "Description": "Mean(Out)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Std(Out)",
+                            "Description": "Std(Out)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Area(Out)",
+                            "Description": "Area(Out)",
+                            "Unit": 0
+                        }
+                    ]
+                },
+                "MeasureTypeName": "URMShellDenMeasure"
+            }
+        ],
+        "MethodChildItems": []
+    },
+    {
+        "Name": "URMVelMeasure",
+        "Description": "URMVelMeasure",
+        "BriefAnnotation": "URMVelMeasure",
+        "MeasureTypeName": "URMVelMeasure",
+        "Categories": [
+            "Common"
         ],
         "Calculator": {
-          "AvailableOutputs": [
-            {
-              "Name": "SRCurvature",
-              "Description": "SRCurvature",
-              "Unit": 0,
-              "IsWorking": true
-            }
-          ]
+            "AvailableOutputs": [
+                {
+                    "Name": "Max",
+                    "Description": "Max",
+                    "Unit": 0,
+                    "IsWorking": true
+                },
+                {
+                    "Name": "Min",
+                    "Description": "Min",
+                    "Unit": 0
+                },
+                {
+                    "Name": "Mean",
+                    "Description": "Mean",
+                    "Unit": 0
+                },
+                {
+                    "Name": "Std",
+                    "Description": "Std",
+                    "Unit": 0
+                },
+                {
+                    "Name": "Area",
+                    "Description": "Area",
+                    "Unit": 50
+                },
+                {
+                    "Name": "Max(In)",
+                    "Description": "Max(In)",
+                    "Unit": 0
+                },
+                {
+                    "Name": "Min(In)",
+                    "Description": "Min(In)",
+                    "Unit": 0
+                },
+                {
+                    "Name": "Mean(In)",
+                    "Description": "Mean(In)",
+                    "Unit": 0
+                },
+                {
+                    "Name": "Std(In)",
+                    "Description": "Std(In)",
+                    "Unit": 0
+                },
+                {
+                    "Name": "Area(In)",
+                    "Description": "Area(In)",
+                    "Unit": 0
+                },
+                {
+                    "Name": "Max(Out)",
+                    "Description": "Max(Out)",
+                    "Unit": 0
+                },
+                {
+                    "Name": "Min(Out)",
+                    "Description": "Min(Out)",
+                    "Unit": 0
+                },
+                {
+                    "Name": "Mean(Out)",
+                    "Description": "Mean(Out)",
+                    "Unit": 0
+                },
+                {
+                    "Name": "Std(Out)",
+                    "Description": "Std(Out)",
+                    "Unit": 0
+                },
+                {
+                    "Name": "Area(Out)",
+                    "Description": "Area(Out)",
+                    "Unit": 0
+                }
+            ]
         },
-        "MeasureTypeName": "SRCurvature"
-      },
-      {
-        "Name": "SRRoiDensity",
-        "IsWorking": false,
-        "ChildItems": [],
-        "Calculator": {
-          "AvailableOutputs": [
-            {
-              "Name": "Vessel ratio",
-              "Description": "Vessel ratio",
-              "Unit": 0,
-              "IsWorking": true
+        "MultiMethodItems": [
+            {
+                "Name": "URMRectVelMeasure",
+                "Description": "Rect",
+                "IsWorking": true,
+                "ChildItems": [],
+                "Calculator": {
+                    "AvailableOutputs": [
+                        {
+                            "Name": "Max",
+                            "Description": "Max",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Min",
+                            "Description": "Min",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Mean",
+                            "Description": "Mean",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Std",
+                            "Description": "Std",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Area",
+                            "Description": "Area",
+                            "Unit": 50
+                        },
+                        {
+                            "Name": "Max(In)",
+                            "Description": "Max(In)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Min(In)",
+                            "Description": "Min(In)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Mean(In)",
+                            "Description": "Mean(In)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Std(In)",
+                            "Description": "Std(In)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Area(In)",
+                            "Description": "Area(In)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Max(Out)",
+                            "Description": "Max(Out)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Min(Out)",
+                            "Description": "Min(Out)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Mean(Out)",
+                            "Description": "Mean(Out)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Std(Out)",
+                            "Description": "Std(Out)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Area(Out)",
+                            "Description": "Area(Out)",
+                            "Unit": 0
+                        }
+                    ]
+                },
+                "MeasureTypeName": "URMRectVelMeasure"
+            },
+            {
+                "Name": "URMTraceVelMeasure",
+                "Description": "Trace",
+                "IsWorking": false,
+                "ChildItems": [],
+                "Calculator": {
+                    "AvailableOutputs": [
+                        {
+                            "Name": "Max",
+                            "Description": "Max",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Min",
+                            "Description": "Min",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Mean",
+                            "Description": "Mean",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Std",
+                            "Description": "Std",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Area",
+                            "Description": "Area",
+                            "Unit": 50
+                        }
+                    ]
+                },
+                "MeasureTypeName": "URMTraceVelMeasure"
+            },
+            {
+                "Name": "URMShellVelMeasure",
+                "Description": "Shell",
+                "IsWorking": false,
+                "ChildItems": [],
+                "Calculator": {
+                    "AvailableOutputs": [
+                        {
+                            "Name": "Max",
+                            "Description": "Max",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Min",
+                            "Description": "Min",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Mean",
+                            "Description": "Mean",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Std",
+                            "Description": "Std",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Area",
+                            "Description": "Area",
+                            "Unit": 50
+                        },
+                        {
+                            "Name": "Max(In)",
+                            "Description": "Max(In)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Min(In)",
+                            "Description": "Min(In)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Mean(In)",
+                            "Description": "Mean(In)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Std(In)",
+                            "Description": "Std(In)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Area(In)",
+                            "Description": "Area(In)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Max(Out)",
+                            "Description": "Max(Out)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Min(Out)",
+                            "Description": "Min(Out)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Mean(Out)",
+                            "Description": "Mean(Out)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Std(Out)",
+                            "Description": "Std(Out)",
+                            "Unit": 0
+                        },
+                        {
+                            "Name": "Area(Out)",
+                            "Description": "Area(Out)",
+                            "Unit": 0
+                        }
+                    ]
+                },
+                "MeasureTypeName": "URMShellVelMeasure"
             }
-          ]
-        },
-        "MeasureTypeName": "SRRoiDensity"
-      },
-      {
-        "Name": "SRROIFractalDim",
-        "IsWorking": false,
-        "ChildItems": [],
+        ],
+        "MethodChildItems": []
+    },
+    {
+        "Name": "URMDen",
+        "Description": "URMDen",
+        "BriefAnnotation": "URMDen",
+        "MeasureTypeName": "URMDen",
+        "Categories": [
+            "Common"
+        ],
         "Calculator": {
-          "AvailableOutputs": [
-            {
-              "Name": "Complexity level",
-              "Description": "Complexity level",
-              "Unit": 0,
-              "IsWorking": true
-            }
-          ]
+            "AvailableOutputs": [
+                {
+                    "Name": "URMDen",
+                    "Description": "URMDen",
+                    "Unit": 0,
+                    "IsWorking": true
+                }
+            ]
         },
-        "MeasureTypeName": "SRROIFractalDim"
-      },
-      {
+        "MultiMethodItems": [],
+        "MethodChildItems": [
+            {
+                "Name": "SRCurvature",
+                "IsWorking": false,
+                "ChildItems": [
+                    {
+                        "Name": "SRStraightCurvatureLineMeasure",
+                        "Description": "Auto",
+                        "IsWorking": true,
+                        "ChildItems": [],
+                        "Calculator": {
+                            "AvailableOutputs": [
+                                {
+                                    "Name": "SRCurvature",
+                                    "Description": "SRCurvature",
+                                    "Unit": 0,
+                                    "IsWorking": true
+                                }
+                            ]
+                        },
+                        "MeasureTypeName": "SRStraightCurvatureLineMeasure"
+                    },
+                    {
+                        "Name": "SRCurveCurvatureLineMeasure",
+                        "Description": "Manual",
+                        "IsWorking": false,
+                        "ChildItems": [],
+                        "Calculator": {
+                            "AvailableOutputs": [
+                                {
+                                    "Name": "SRCurvature",
+                                    "Description": "SRCurvature",
+                                    "Unit": 0,
+                                    "IsWorking": true
+                                }
+                            ]
+                        },
+                        "MeasureTypeName": "SRCurveCurvatureLineMeasure"
+                    }
+                ],
+                "Calculator": {
+                    "AvailableOutputs": [
+                        {
+                            "Name": "SRCurvature",
+                            "Description": "SRCurvature",
+                            "Unit": 0,
+                            "IsWorking": true
+                        }
+                    ]
+                },
+                "MeasureTypeName": "SRCurvature"
+            },
+            {
+                "Name": "SRRoiDensity",
+                "IsWorking": false,
+                "ChildItems": [],
+                "Calculator": {
+                    "AvailableOutputs": [
+                        {
+                            "Name": "Vessel ratio",
+                            "Description": "Vessel ratio",
+                            "Unit": 0,
+                            "IsWorking": true
+                        }
+                    ]
+                },
+                "MeasureTypeName": "SRRoiDensity"
+            },
+            {
+                "Name": "SRROIFractalDim",
+                "IsWorking": false,
+                "ChildItems": [],
+                "Calculator": {
+                    "AvailableOutputs": [
+                        {
+                            "Name": "Complexity level",
+                            "Description": "Complexity level",
+                            "Unit": 0,
+                            "IsWorking": true
+                        }
+                    ]
+                },
+                "MeasureTypeName": "SRROIFractalDim"
+            },
+            {
+                "Name": "Vessel diameter",
+                "IsWorking": false,
+                "ChildItems": [],
+                "Calculator": {
+                    "AvailableOutputs": [
+                        {
+                            "Name": "Distance",
+                            "Description": "Distance",
+                            "Unit": 10,
+                            "IsWorking": true
+                        }
+                    ]
+                },
+                "MeasureTypeName": "Distance"
+            },
+            {
+                "Name": "Vessel distance",
+                "IsWorking": false,
+                "ChildItems": [],
+                "Calculator": {
+                    "AvailableOutputs": [
+                        {
+                            "Name": "Distance",
+                            "Description": "Distance",
+                            "Unit": 10,
+                            "IsWorking": true
+                        }
+                    ]
+                },
+                "MeasureTypeName": "Distance"
+            }
+        ]
+    },
+    {
         "Name": "Vessel diameter",
         "IsWorking": false,
         "ChildItems": [],
         "Calculator": {
-          "AvailableOutputs": [
-            {
-              "Name": "Distance",
-              "Description": "Distance",
-              "Unit": 10,
-              "IsWorking": true
-            }
-          ]
+            "AvailableOutputs": [
+                {
+                    "Name": "Distance",
+                    "Description": "Distance",
+                    "Unit": 10,
+                    "IsWorking": true
+                }
+            ]
         },
         "MeasureTypeName": "Distance"
-      },
-      {
+    },
+    {
         "Name": "Vessel distance",
         "IsWorking": false,
         "ChildItems": [],
         "Calculator": {
-          "AvailableOutputs": [
-            {
-              "Name": "Distance",
-              "Description": "Distance",
-              "Unit": 10,
-              "IsWorking": true
-            }
-          ]
+            "AvailableOutputs": [
+                {
+                    "Name": "Distance",
+                    "Description": "Distance",
+                    "Unit": 10,
+                    "IsWorking": true
+                }
+            ]
         },
         "MeasureTypeName": "Distance"
-      }
-    ]
-  },
-  {
-    "Name": "Vessel diameter",
-    "IsWorking": false,
-    "ChildItems": [],
-    "Calculator": {
-      "AvailableOutputs": [
-        {
-          "Name": "Distance",
-          "Description": "Distance",
-          "Unit": 10,
-          "IsWorking": true
-        }
-      ]
-    },
-    "MeasureTypeName": "Distance"
-  },
-  {
-    "Name": "Vessel distance",
-    "IsWorking": false,
-    "ChildItems": [],
-    "Calculator": {
-      "AvailableOutputs": [
-        {
-          "Name": "Distance",
-          "Description": "Distance",
-          "Unit": 10,
-          "IsWorking": true
-        }
-      ]
-    },
-    "MeasureTypeName": "Distance"
-  },
-  {
-    "Name": "URMVel",
-    "Description": "URMVel",
-    "BriefAnnotation": "URMVel",
-    "MeasureTypeName": "URMVel",
-    "Categories": ["Common"],
-    "Calculator": {
-      "AvailableOutputs": [
-        {
-          "Name": "URMVel",
-          "Description": "URMVel",
-          "Unit": 0,
-          "IsWorking": true
-        }
-      ]
     },
-    "MultiMethodItems": [],
-    "MethodChildItems": [
-      {
-        "Name": "SRLoactionVel",
-        "IsWorking": false,
-        "ChildItems": [],
-        "Calculator": {
-          "AvailableOutputs": [
-            {
-              "Name": "SRVel",
-              "Description": "SRVel",
-              "Unit": 0,
-              "IsWorking": true
-            }
-          ]
-        },
-        "MeasureTypeName": "SRLoactionVel"
-      },
-      {
-        "Name": "Vessel diameter",
-        "IsWorking": false,
-        "ChildItems": [],
+    {
+        "Name": "URMVel",
+        "Description": "URMVel",
+        "BriefAnnotation": "URMVel",
+        "MeasureTypeName": "URMVel",
+        "Categories": [
+            "Common"
+        ],
         "Calculator": {
-          "AvailableOutputs": [
-            {
-              "Name": "Distance",
-              "Description": "Distance",
-              "Unit": 10,
-              "IsWorking": true
-            }
-          ]
+            "AvailableOutputs": [
+                {
+                    "Name": "URMVel",
+                    "Description": "URMVel",
+                    "Unit": 0,
+                    "IsWorking": true
+                }
+            ]
         },
-        "MeasureTypeName": "Distance"
-      },
-      {
-        "Name": "Vessel distance",
-        "IsWorking": false,
-        "ChildItems": [],
-        "Calculator": {
-          "AvailableOutputs": [
-            {
-              "Name": "Distance",
-              "Description": "Distance",
-              "Unit": 10,
-              "IsWorking": true
+        "MultiMethodItems": [],
+        "MethodChildItems": [
+            {
+                "Name": "SRLoactionVel",
+                "IsWorking": false,
+                "ChildItems": [],
+                "Calculator": {
+                    "AvailableOutputs": [
+                        {
+                            "Name": "SRVel",
+                            "Description": "SRVel",
+                            "Unit": 0,
+                            "IsWorking": true
+                        }
+                    ]
+                },
+                "MeasureTypeName": "SRLoactionVel"
+            },
+            {
+                "Name": "Vessel diameter",
+                "IsWorking": false,
+                "ChildItems": [],
+                "Calculator": {
+                    "AvailableOutputs": [
+                        {
+                            "Name": "Distance",
+                            "Description": "Distance",
+                            "Unit": 10,
+                            "IsWorking": true
+                        }
+                    ]
+                },
+                "MeasureTypeName": "Distance"
+            },
+            {
+                "Name": "Vessel distance",
+                "IsWorking": false,
+                "ChildItems": [],
+                "Calculator": {
+                    "AvailableOutputs": [
+                        {
+                            "Name": "Distance",
+                            "Description": "Distance",
+                            "Unit": 10,
+                            "IsWorking": true
+                        }
+                    ]
+                },
+                "MeasureTypeName": "Distance"
             }
-          ]
-        },
-        "MeasureTypeName": "Distance"
-      }
-    ]
-  }
-]
+        ]
+    }
+]