Преглед изворни кода

fix: 修复保存图像处理参数时缺少对比度和亮度参数的问题

- 在 sliderAdjustmentPanelSlice.ts 中将 API 从 saveImageProcessingParams 改为 rebuildDcm
- 更新参数类型定义,增加 ww_coef(对比度)和 wl_coef(亮度)两个必需参数
- 在 SliderAdjustmentPanel.tsx 的三个保存位置添加缺失参数:
  - handleSave(手动保存按钮)
  - handleReset(重置后自动保存)
  - handleStyleChange(切换风格后自动保存)
- 将 UI 层的 brightness 和 sharpness 正确映射为 ww_coef 和 wl_coef
- 版本号从 1.2.4 升级到 1.2.5

改动文件:
- src/states/view/sliderAdjustmentPanelSlice.ts
- src/pages/view/components/SliderAdjustmentPanel.tsx
- package.json
dengdx пре 1 месец
родитељ
комит
6f0a0a6a97

+ 2 - 2
package.json

@@ -1,6 +1,6 @@
 {
 {
   "name": "zsis",
   "name": "zsis",
-  "version": "1.2.4",
+  "version": "1.2.5",
   "private": true,
   "private": true,
   "description": "医学成像系统",
   "description": "医学成像系统",
   "main": "main.js",
   "main": "main.js",
@@ -146,4 +146,4 @@
       "public"
       "public"
     ]
     ]
   }
   }
-}
+}

+ 6 - 0
src/pages/view/components/SliderAdjustmentPanel.tsx

@@ -244,6 +244,8 @@ const SliderAdjustmentPanel = () => {
               detail: preset.detail,
               detail: preset.detail,
               latitude: preset.latitude,
               latitude: preset.latitude,
               noise: preset.noise,
               noise: preset.noise,
+              ww_coef: preset.brightness,
+              wl_coef: preset.sharpness,
             },
             },
           }) as any
           }) as any
         );
         );
@@ -283,6 +285,8 @@ const SliderAdjustmentPanel = () => {
               detail: parameters.detail,
               detail: parameters.detail,
               latitude: parameters.latitude,
               latitude: parameters.latitude,
               noise: parameters.noise,
               noise: parameters.noise,
+              ww_coef: parameters.brightness,
+              wl_coef: parameters.sharpness,
             },
             },
           }) as any
           }) as any
         );
         );
@@ -303,6 +307,8 @@ const SliderAdjustmentPanel = () => {
             detail: parameters.detail,
             detail: parameters.detail,
             latitude: parameters.latitude,
             latitude: parameters.latitude,
             noise: parameters.noise,
             noise: parameters.noise,
+            ww_coef: parameters.brightness,
+            wl_coef: parameters.sharpness,
           },
           },
         }) as any
         }) as any
       ).then(() => {
       ).then(() => {

+ 11 - 4
src/states/view/sliderAdjustmentPanelSlice.ts

@@ -16,7 +16,7 @@ import {
 import { DEFAULT_LUT } from '../../domain/lutConfig';
 import { DEFAULT_LUT } from '../../domain/lutConfig';
 import {
 import {
   getImageProcessingParamsV2,
   getImageProcessingParamsV2,
-  saveImageProcessingParams
+  rebuildDcm
 } from '../../API/imageActions';
 } from '../../API/imageActions';
 
 
 /**
 /**
@@ -87,7 +87,7 @@ export const loadImageProcessingParams = createAsyncThunk(
 );
 );
 
 
 /**
 /**
- * 异步操作:保存图像处理参数
+ * 异步操作:保存图像处理参数(使用 rebuild_dcm API)
  */
  */
 export const saveProcessingParams = createAsyncThunk(
 export const saveProcessingParams = createAsyncThunk(
   'sliderAdjustmentPanel/saveParams',
   'sliderAdjustmentPanel/saveParams',
@@ -97,12 +97,19 @@ export const saveProcessingParams = createAsyncThunk(
       params
       params
     }: {
     }: {
       sopInstanceUid: string;
       sopInstanceUid: string;
-      params: { contrast: number; detail: number; latitude: number; noise: number }
+      params: {
+        contrast: number;
+        detail: number;
+        latitude: number;
+        noise: number;
+        ww_coef: number;
+        wl_coef: number;
+      }
     },
     },
     { rejectWithValue }
     { rejectWithValue }
   ) => {
   ) => {
     try {
     try {
-      await saveImageProcessingParams(sopInstanceUid, params);
+      await rebuildDcm(sopInstanceUid, params);
       return params;
       return params;
     } catch (error) {
     } catch (error) {
       return rejectWithValue(
       return rejectWithValue(