Преглед на файлове

refactor: 图像处理API重构支持对比度和亮度系数参数

- 重构saveWindowCenterWidth函数为getImageProcessingParams,实现获取图像处理参数功能
- 在图像处理接口中新增对比度系数(ww_coef)和亮度系数(wl_coef)参数支持
- 扩展GetProcessingParamsResponse、SaveProcessingParamsRequest、GetProcessedDcmRequest等接口定义
- 在SliderAdjustmentPanel组件中集成新的参数传递逻辑
- 重构API文档结构,重新编号所有API端点确保逻辑顺序
- 新增设置相关API:修改密码、获取新版本信息、下载安装包、安装指定版本软件包
- 更新CHANGELOG.md记录版本变更历史

改动文件:
- src/API/imageActions.ts
- src/pages/view/components/SliderAdjustmentPanel.tsx
- docs/DR.md
- CHANGELOG.md
dengdx преди 4 седмици
родител
ревизия
f24ba2305d
променени са 4 файла, в които са добавени 254 реда и са изтрити 93 реда
  1. 47 0
      CHANGELOG.md
  2. 167 78
      docs/DR.md
  3. 38 15
      src/API/imageActions.ts
  4. 2 0
      src/pages/view/components/SliderAdjustmentPanel.tsx

+ 47 - 0
CHANGELOG.md

@@ -5,6 +5,53 @@
 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
 版本号遵循 [语义化版本](https://semver.org/lang/zh-CN/)。
 
+## [1.10.2] - 2025-12-16 16:55
+
+### 新增 (Added)
+- **图像处理参数扩展支持对比度和亮度系数** ([src/API/imageActions.ts](src/API/imageActions.ts), [src/pages/view/components/SliderAdjustmentPanel.tsx](src/pages/view/components/SliderAdjustmentPanel.tsx))
+  - 在图像处理API中新增对比度系数(ww_coef)和亮度系数(wl_coef)参数支持
+  - 修改saveWindowCenterWidth函数为getImageProcessingParams,实现获取当前图像处理参数功能
+  - 在SliderAdjustmentPanel组件中集成新的参数传递逻辑
+  - 扩展GetProcessingParamsResponse、SaveProcessingParamsRequest、GetProcessedDcmRequest等接口定义
+  - 更新buildProcessedDcmUrl和getProcessedDcm函数支持新的参数处理
+
+**核心改进:**
+- 扩展图像处理参数:新增对比度系数和亮度系数支持,丰富图像调节选项
+- API功能增强:saveWindowCenterWidth函数重构为getImageProcessingParams,提供更完整的数据获取能力
+- 类型安全:完善TypeScript接口定义,确保参数传递的类型正确性
+- 前后端一致性:SliderAdjustmentPanel组件同步更新参数处理逻辑
+
+**技术实现:**
+- 扩展接口定义:GetProcessingParamsResponse、SaveProcessingParamsRequest、GetProcessedDcmRequest
+- 函数重构:saveWindowCenterWidth → getImageProcessingParams,功能从保存改为获取
+- 参数映射:brightness → ww_coef, sharpness → wl_coef
+- URL构建:buildProcessedDcmUrl函数集成新参数处理
+
+**改动文件:**
+- src/API/imageActions.ts
+- src/pages/view/components/SliderAdjustmentPanel.tsx
+
+### 变更 (Changed)
+- **API文档重构和设置功能增强** ([docs/DR.md](docs/DR.md))
+  - 重构API文档结构,重新编号所有API端点确保逻辑顺序
+  - 新增设置相关API:修改密码、获取新版本信息、下载安装包、安装指定版本软件包
+  - 优化API接口文档格式和描述信息,提升可读性和维护性
+
+**核心改进:**
+- 文档结构优化:API端点重新编号,确保逻辑连贯性和易读性
+- 设置功能扩展:新增密码管理、版本控制、软件包管理等系统设置API
+- 文档质量提升:统一格式标准,完善接口描述和示例
+
+**技术实现:**
+- API端点重排序:调整原有API编号,确保功能分组合理
+- 新增设置API:密码修改、版本信息获取、软件包下载安装
+- 文档格式统一:标准化请求/响应格式和参数说明
+
+**改动文件:**
+- docs/DR.md
+
+---
+
 ## [1.10.2] - 2025-12-16 15:01
 
 ### 修复 (Fixed)

Файловите разлики са ограничени, защото са твърде много
+ 167 - 78
docs/DR.md


+ 38 - 15
src/API/imageActions.ts

@@ -187,6 +187,10 @@ export interface GetProcessingParamsResponse {
     latitude: number;
     /** 噪声模式 */
     noise: number;
+    /** 对比度系数 */
+    ww_coef: number;
+    /** 亮度系数 */
+    wl_coef: number;
   };
 }
 
@@ -235,6 +239,10 @@ export interface SaveProcessingParamsRequest {
   latitude: number;
   /** 噪声模式 */
   noise: number;
+  /** 对比度系数 */
+  ww_coef: number;
+  /** 亮度系数 */
+  wl_coef: number;
 }
 
 /**
@@ -249,6 +257,10 @@ export interface GetProcessedDcmRequest {
   latitude: string;
   /** 噪声模式 */
   noise: string;
+  /** 对比度系数 */
+  ww_coef: string;
+  /** 亮度系数 */
+  wl_coef: string;
 }
 
 /**
@@ -262,7 +274,9 @@ export interface GetProcessedDcmRequest {
  *   contrast: '5.0',
  *   detail: '9.0',
  *   latitude: '25.0',
- *   noise: '12.0'
+ *   noise: '12.0',
+ *   ww_coef: '1.0',
+ *   wl_coef: '0.0'
  * });
  * console.log('处理后图像URL:', url);
  * ```
@@ -276,6 +290,8 @@ export const buildProcessedDcmUrl = (
     detail: params.detail,
     latitude: params.latitude,
     noise: params.noise,
+    ww_coef: params.ww_coef,
+    wl_coef: params.wl_coef,
   });
   const API_BASE_URL = getApiBaseUrl();
   return `${API_BASE_URL}pub/image/${sopInstanceUid}/proc?${queryParams.toString()}`;//暂时使用公开的访问方式,不需要token
@@ -308,10 +324,12 @@ export interface SaveProcessingParamsResponse {
  * @example
  * ```typescript
  * const dcmBlob = await getProcessedDcm('1.2.276.0.1000000.5.1.4.701601461.19649.1749545373.668671', {
- *   contrast: 5.0,
- *   detail: 9.0,
- *   latitude: 25.0,
- *   noise: 12.0
+ *   contrast: '5.0',
+ *   detail: '9.0',
+ *   latitude: '25.0',
+ *   noise: '12.0',
+ *   ww_coef: '1.0',
+ *   wl_coef: '0.0'
  * });
  * const blobUrl = URL.createObjectURL(dcmBlob);
  * ```
@@ -329,6 +347,8 @@ export const getProcessedDcm = async (
           detail: params.detail,
           latitude: params.latitude,
           noise: params.noise,
+          ww_coef: params.ww_coef,
+          wl_coef: params.wl_coef,
         },
         responseType: 'blob', // 重要:指定响应类型为blob
       }
@@ -343,7 +363,7 @@ export const getProcessedDcm = async (
 
 /**
  * 保存图像处理参数
- * 保存应用增益、细节、动态范围、噪声模式后的 dcm
+ * 保存应用增益、细节、动态范围、噪声模式、对比度系数、亮度系数后的 dcm
  * 
  * @param sopInstanceUid 图像实例 UID (SOP Instance UID)
  * @param params 图像处理参数
@@ -356,7 +376,9 @@ export const getProcessedDcm = async (
  *   contrast: 5.0,
  *   detail: 9.0,
  *   latitude: 25.0,
- *   noise: 12.0
+ *   noise: 12.0,
+ *   ww_coef: 1.0,
+ *   wl_coef: 0.0
  * });
  * ```
  */
@@ -406,17 +428,18 @@ export interface SaveWindowCenterWidthResponse {
 }
 
 /**
- * 保存窗位到 dcm
- *
+ * 获取当前图像处理参数
+ * 完成图像处理准备工作,并返回增益、细节、动态范围、噪声模式、对比度系数、亮度系数当前值
+ * 
  * @param sopInstanceUid 图像实例 UID (SOP Instance UID)
- * @param windowCenter 窗位
- * @param windowWidth 窗宽
- * @returns 保存结果
- * @throws 当保存失败时抛出错误
- *
+ * @returns 当前图像处理参数
+ * @throws 当获取失败时抛出错误
+ * 
  * @example
  * ```typescript
- * await saveWindowCenterWidth('1.2.276.0.1000000.5.1.4.701601461.19649.1749545373.668671', 50, 100);
+ * const params = await getImageProcessingParams('1.2.276.0.1000000.5.1.4.701601461.19649.1749545373.668671');
+ * console.log('当前增益:', params.data.contrast);
+ * console.log('当前对比度系数:', params.data.ww_coef);
  * ```
  */
 export const saveWindowCenterWidth = async (

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

@@ -134,6 +134,8 @@ const SliderAdjustmentPanel = () => {
               detail: params.detail.toString(),
               latitude: params.latitude.toString(),
               noise: params.noise.toString(),
+              ww_coef: params.brightness.toString(),
+              wl_coef: params.sharpness.toString(),
             });
 
             // 更新viewer URL以触发重新渲染

Някои файлове не бяха показани, защото твърде много файлове са промени