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