carotid_measure_tool.dart 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. import 'package:fis_measure/interfaces/process/items/item_metas.dart';
  2. import 'package:fis_measure/interfaces/process/items/terms.dart';
  3. import 'package:fis_measure/interfaces/process/items/types.dart';
  4. import 'package:fis_measure/view/measure/measure_tool.dart';
  5. import 'package:fis_ui/index.dart';
  6. import 'package:flutter/material.dart';
  7. import 'package:vid/us/vid_us_unit.dart';
  8. /// 颈动脉测量项页面(继承自 测量项页面)
  9. class CarotidLeftSiderSelectMeasure extends LeftSiderSelectMeasure {
  10. const CarotidLeftSiderSelectMeasure({Key? key}) : super(key: key);
  11. @override
  12. FState<LeftSiderSelectMeasure> createState() =>
  13. _CarotidLeftSiderSelectMeasure();
  14. }
  15. class _CarotidLeftSiderSelectMeasure extends LeftSiderSelectMeasureState {
  16. // late final measure3DViewController = Get.find<Measure3DViewController>();
  17. ///写死的颈动脉测量项
  18. List<ItemMeta> carotidMeasureApplicationList = [
  19. ItemMeta(
  20. MeasureTypes.Distance,
  21. measureType: MeasureTypes.Distance,
  22. description: MeasureTypes.Distance,
  23. briefAnnotation: "D",
  24. outputs: [
  25. ItemOutputMeta(MeasureTypes.Distance, "Distance", VidUsUnit.cm),
  26. ],
  27. ),
  28. ItemMeta(
  29. MeasureTerms.Area,
  30. measureType: MeasureTypes.AreaPerimeterTrace,
  31. description: MeasureTerms.Area,
  32. briefAnnotation: MeasureTerms.Area,
  33. outputs: [
  34. ItemOutputMeta(MeasureTerms.Area, "Area", VidUsUnit.cm2),
  35. ],
  36. ),
  37. ItemMeta(
  38. MeasureTerms.Stenosis,
  39. measureType: MeasureTypes.StenosisTwoArea,
  40. description: MeasureTerms.Stenosis,
  41. outputs: [
  42. ItemOutputMeta(MeasureTerms.Stenosis, "%Stenosis", VidUsUnit.percent),
  43. ],
  44. childItems: [
  45. ItemMeta(
  46. "A1",
  47. description: "A1",
  48. measureType: MeasureTypes.AreaPerimeterTrace,
  49. outputs: [
  50. ItemOutputMeta("Area", "Area", VidUsUnit.cm2),
  51. ],
  52. ),
  53. ItemMeta(
  54. "A2",
  55. description: "A2",
  56. measureType: MeasureTypes.AreaPerimeterTrace,
  57. outputs: [
  58. ItemOutputMeta("Area", "Area", VidUsUnit.cm2),
  59. ],
  60. ),
  61. ],
  62. ),
  63. // '%Stenosis',
  64. ItemMeta(
  65. MeasureTerms.AntCCA_IMT,
  66. description: MeasureTerms.AntCCA_IMT,
  67. measureType: MeasureTypes.AntCCA_IMT,
  68. outputs: [
  69. ItemOutputMeta(MeasureTerms.AntCCA_IMT, "", VidUsUnit.cm),
  70. ],
  71. ),
  72. ItemMeta(
  73. MeasureTerms.PostCCA_IMT,
  74. description: MeasureTerms.PostCCA_IMT,
  75. measureType: MeasureTypes.PostCCA_IMT,
  76. outputs: [
  77. ItemOutputMeta(MeasureTerms.PostCCA_IMT, "", VidUsUnit.cm),
  78. ],
  79. ),
  80. ItemMeta(
  81. MeasureTerms.BothCCA_IMT,
  82. description: MeasureTerms.BothCCA_IMT,
  83. measureType: MeasureTypes.BothCCA_IMT,
  84. outputs: [
  85. ItemOutputMeta(MeasureTerms.BothCCA_IMT, "", VidUsUnit.cm),
  86. ],
  87. ),
  88. ItemMeta(
  89. MeasureTerms.PlaqueDetection,
  90. description: MeasureTerms.PlaqueDetection,
  91. measureType: MeasureTypes.PlaqueDetection,
  92. outputs: [
  93. ItemOutputMeta(MeasureTerms.PlaqueDetection, "", VidUsUnit.cm2),
  94. ],
  95. ),
  96. ItemMeta(
  97. MeasureTerms.IntimaDetection,
  98. description: MeasureTerms.IntimaDetection,
  99. measureType: MeasureTypes.IntimaDetection,
  100. outputs: [
  101. ItemOutputMeta(MeasureTerms.IntimaDetection, "", VidUsUnit.cm2),
  102. ],
  103. ),
  104. ];
  105. @override
  106. void initState() {
  107. WidgetsBinding.instance.addPostFrameCallback((call) {
  108. measureData.curItemMetaList = carotidMeasureApplicationList;
  109. });
  110. super.initState();
  111. }
  112. }