|
@@ -1,9 +1,12 @@
|
|
|
import 'package:fis_common/logger/logger.dart';
|
|
|
import 'package:fis_jsonrpc/rpc.dart';
|
|
|
import 'package:fis_measure/interfaces/date_types/point.dart';
|
|
|
+import 'package:fis_measure/interfaces/process/items/item_metas.dart';
|
|
|
import 'package:fis_measure/interfaces/process/items/terms.dart';
|
|
|
+import 'package:fis_measure/interfaces/process/items/types.dart';
|
|
|
import 'package:fis_measure/process/calcuators/urm_calcuators/urm_shell_measure.dart';
|
|
|
import 'package:fis_measure/process/primitives/urm_measure/urm_shell_measure.dart';
|
|
|
+import 'dart:math' as math;
|
|
|
|
|
|
// import 'package:fis_measure/process/primitives/urm_straightline.dart';
|
|
|
import 'package:fis_measure/process/workspace/urm/application.dart';
|
|
@@ -44,7 +47,10 @@ class URMShellDenVelMeasureCal extends URMShellMeasureCal {
|
|
|
});
|
|
|
feature.outerExterPoints = outerExterPoints;
|
|
|
}
|
|
|
-
|
|
|
+ feature.updateStringValue(
|
|
|
+ ItemOutputMeta("Placeholder", "Placeholder", VidUsUnit.None),
|
|
|
+ "",
|
|
|
+ VidUsUnit.None);
|
|
|
for (var output in ref.meta.outputs) {
|
|
|
if (output.name == MeasureTerms.URMDenROI) {
|
|
|
output.unit = VidUsUnit.percent;
|
|
@@ -84,7 +90,65 @@ class URMShellDenVelMeasureCal extends URMShellMeasureCal {
|
|
|
} else if (output.name == MeasureTerms.Area) {
|
|
|
output.unit = VidUsUnit.cm2;
|
|
|
feature.updateFloatValue(output, velresult.roiArea, output.unit);
|
|
|
+ } else if (output.name == MeasureTerms.InURMDenROI) {
|
|
|
+ output.unit = VidUsUnit.None;
|
|
|
+ feature.updateFloatValue(
|
|
|
+ output, denresult.inRoiDen * 100, output.unit);
|
|
|
+ } else if (output.name == MeasureTerms.InURMDenFractalDim) {
|
|
|
+ output.unit = VidUsUnit.None;
|
|
|
+ feature.updateFloatValue(
|
|
|
+ output, denresult.inRoiFractalDim, output.unit);
|
|
|
+ } else if (output.name == MeasureTerms.InURMDenMax) {
|
|
|
+ output.unit = VidUsUnit.None;
|
|
|
+ feature.updateFloatValue(
|
|
|
+ output, denresult.inMaxDensity, output.unit);
|
|
|
+ } else if (output.name == MeasureTerms.InURMDenMin) {
|
|
|
+ output.unit = VidUsUnit.None;
|
|
|
+ feature.updateFloatValue(
|
|
|
+ output, denresult.inMinDensity, output.unit);
|
|
|
+ } else if (output.name == MeasureTerms.InURMDenMean) {
|
|
|
+ output.unit = VidUsUnit.None;
|
|
|
+ feature.updateFloatValue(
|
|
|
+ output, denresult.inMeanDensity, output.unit);
|
|
|
+ } else if (output.name == MeasureTerms.InURMDenStd) {
|
|
|
+ output.unit = VidUsUnit.None;
|
|
|
+ feature.updateFloatValue(
|
|
|
+ output, math.sqrt(denresult.inVarianceDensity), output.unit);
|
|
|
+ } else if (output.name == MeasureTerms.InArea) {
|
|
|
+ output.unit = VidUsUnit.cm2;
|
|
|
+ feature.updateFloatValue(output, denresult.inRoiArea, output.unit);
|
|
|
+ } else if (output.name == MeasureTerms.OutURMDenROI) {
|
|
|
+ output.unit = VidUsUnit.None;
|
|
|
+ feature.updateFloatValue(
|
|
|
+ output, denresult.outRoiDen * 100, output.unit);
|
|
|
+ } else if (output.name == MeasureTerms.OutURMDenFractalDim) {
|
|
|
+ output.unit = VidUsUnit.None;
|
|
|
+ feature.updateFloatValue(
|
|
|
+ output, denresult.outRoiFractalDim, output.unit);
|
|
|
+ } else if (output.name == MeasureTerms.OutURMDenMax) {
|
|
|
+ output.unit = VidUsUnit.None;
|
|
|
+ feature.updateFloatValue(
|
|
|
+ output, denresult.outMaxDensity, output.unit);
|
|
|
+ } else if (output.name == MeasureTerms.OutURMDenMin) {
|
|
|
+ output.unit = VidUsUnit.None;
|
|
|
+ feature.updateFloatValue(
|
|
|
+ output, denresult.outMinDensity, output.unit);
|
|
|
+ } else if (output.name == MeasureTerms.OutURMDenMean) {
|
|
|
+ output.unit = VidUsUnit.None;
|
|
|
+ feature.updateFloatValue(
|
|
|
+ output, denresult.outMeanDensity, output.unit);
|
|
|
+ } else if (output.name == MeasureTerms.OutURMDenStd) {
|
|
|
+ output.unit = VidUsUnit.None;
|
|
|
+ feature.updateFloatValue(
|
|
|
+ output, math.sqrt(denresult.outVarianceDensity), output.unit);
|
|
|
+ } else if (output.name == MeasureTerms.OutArea) {
|
|
|
+ output.unit = VidUsUnit.cm2;
|
|
|
+ feature.updateFloatValue(output, denresult.outRoiArea, output.unit);
|
|
|
}
|
|
|
+ urmApplication.onUpdateRimResult?.call(URMRimMesureResult(
|
|
|
+ result: outresult,
|
|
|
+ measureType: MeasureTypes.URMShellDenVelMeasure,
|
|
|
+ ));
|
|
|
}
|
|
|
} else {
|
|
|
throw Exception("URM Measure API error");
|