|
@@ -1,3 +1,4 @@
|
|
|
+import 'package:fis_common/logger/logger.dart';
|
|
|
import 'package:fis_measure/interfaces/date_types/rect_region.dart';
|
|
|
import 'package:fis_measure/interfaces/enums/annotation.dart';
|
|
|
import 'package:fis_measure/interfaces/enums/operate.dart';
|
|
@@ -5,8 +6,6 @@ import 'package:fis_measure/interfaces/process/annotations/annotation.dart';
|
|
|
import 'package:fis_measure/interfaces/process/items/item.dart';
|
|
|
import 'package:fis_measure/interfaces/process/items/item_feature.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/interfaces/process/visuals/visual_area.dart';
|
|
|
import 'package:fis_measure/interfaces/process/visuals/visual.dart';
|
|
|
import 'package:fis_measure/interfaces/process/viewports/viewport.dart';
|
|
@@ -19,13 +18,10 @@ import 'package:fis_measure/process/annotations/arrow_annotation.dart';
|
|
|
import 'package:fis_measure/process/annotations/input_annotation.dart';
|
|
|
import 'package:fis_measure/process/annotations/label_annotation.dart';
|
|
|
import 'package:fis_measure/process/items/factory.dart';
|
|
|
-import 'package:fis_measure/process/primitives/carotid_imt.dart';
|
|
|
-import 'package:fis_measure/process/primitives/detection.dart';
|
|
|
import 'package:flutter/foundation.dart';
|
|
|
import 'package:flutter/painting.dart';
|
|
|
import 'package:vid/us/vid_us_image.dart';
|
|
|
import 'package:vid/us/vid_us_probe.dart';
|
|
|
-import 'package:vid/us/vid_us_unit.dart';
|
|
|
import 'dart:math';
|
|
|
import 'recorder.dart';
|
|
|
import 'visual_loader.dart';
|
|
@@ -262,10 +258,13 @@ class Application implements IApplication {
|
|
|
bool isSameIndex = _frame?.index == frame.index;
|
|
|
_frame = frame;
|
|
|
if (isSameIndex == false) {
|
|
|
- if (clearable) _clearFrameCache();
|
|
|
- if (canMeasure) {
|
|
|
- loadVisuals();
|
|
|
+ if (clearable) {
|
|
|
+ _clearFrameCache();
|
|
|
+ if (canMeasure) {
|
|
|
+ loadVisuals();
|
|
|
+ }
|
|
|
}
|
|
|
+ //如果clearable为false,需要手动调用loadCarotidVisuals加载visuals
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -368,14 +367,17 @@ class Application implements IApplication {
|
|
|
@override
|
|
|
void switchVisual(int indicator) {
|
|
|
if (_visuals == null) return;
|
|
|
-
|
|
|
- for (var i = 0; i < _visuals!.length; i++) {
|
|
|
- final v = _visuals![i];
|
|
|
- if (i == indicator) {
|
|
|
- v.visualAreas.first.isActive = true;
|
|
|
- } else {
|
|
|
- v.setUnAcitve();
|
|
|
+ try {
|
|
|
+ for (var i = 0; i < _visuals!.length; i++) {
|
|
|
+ final v = _visuals![i];
|
|
|
+ if (i == indicator) {
|
|
|
+ v.visualAreas.first.isActive = true;
|
|
|
+ } else {
|
|
|
+ v.setUnAcitve();
|
|
|
+ }
|
|
|
}
|
|
|
+ } catch (e) {
|
|
|
+ logger.e('switch error: $e');
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -463,6 +465,14 @@ class Application implements IApplication {
|
|
|
visualsLoaded.emit(this, null);
|
|
|
}
|
|
|
|
|
|
+ @override
|
|
|
+ void loadCarotidVisuals(VidUsImage carotidVid) {
|
|
|
+ _clearVisuals();
|
|
|
+ _visuals = VisualsLoader(carotidVid.visuals).load();
|
|
|
+ switchVisual(0);
|
|
|
+ visualsLoaded.emit(this, null);
|
|
|
+ }
|
|
|
+
|
|
|
void _clearVisuals() {
|
|
|
_visuals = [];
|
|
|
}
|