our-medical
Version:
medical image vue component
293 lines (292 loc) • 11.4 kB
TypeScript
/**
* @description 工具组存储管理,每个组件有一个唯一的工具组来加载不同工具
* @author jiannan.jiao
*/
import { TOOL_GROUP_TYPE } from '../constant';
import type { Ref } from 'vue';
import type { Types as toolsTypes } from '@cornerstonejs/tools';
import type { MedicalComponentID, DisplayComponentID } from '../types';
/** @description MedicalComponentID|SeriesType|orientations */
type viewportId = string;
type ToolGroups = {
primary: toolsTypes.IToolGroup;
secondary: toolsTypes.IToolGroup;
};
/** @description 用响应式数据记录actived的hand工具,用于工具条按钮的响应 */
export declare const headerActivedState: Map<string, Ref<string>>;
/**
* ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
* ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
* ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
*/
/**
* @description
* @author jiannan.jiao
* @date 18/09/2023
* @export
* @param {TOOL_GROUP_TYPE} seriesType1
* @param {TOOL_GROUP_TYPE} seriesType2
* @returns {*}
*/
export declare function seriesTypeCheck(seriesType1: TOOL_GROUP_TYPE, seriesType2: TOOL_GROUP_TYPE): boolean;
/**
* @description
* @author jiannan.jiao
* @date 18/09/2023
* @export
* @param {ToolGroups} toolGroups
* @param {(_seriesType: TOOL_GROUP_TYPE) => void} callback
*/
export declare function toolGroupsForIn(toolGroups: ToolGroups, callback: (_seriesType: TOOL_GROUP_TYPE) => void): void;
/**
* ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
* ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
* ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
*/
/**
* @description
* @author jiannan.jiao
* @date 07/09/2023
* @export
* @param {MedicalComponentID} id
*/
export declare function initToolGroups(id: MedicalComponentID): void;
/**
* @description
* @author jiannan.jiao
* @date 07/09/2023
* @export
* @param {MedicalComponentID} id
* @returns {*}
*/
export declare function getToolGroups(id: MedicalComponentID): ToolGroups | undefined;
/**
* @description
* @author jiannan.jiao
* @date 07/09/2023
* @export
* @param {DisplayComponentID } id
* @param {viewportId[]} viewportIds
*/
export declare function addViewports(id: DisplayComponentID, viewportIds: viewportId[]): void;
/**
* ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
* ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
* ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
*/
/**
* @description
* @author jiannan.jiao
* @date 08/09/2023
* @export
* @param {MedicalComponentID} id
* @param {string} toolClassName
*/
export declare function setHeaderToolActived(id: MedicalComponentID, toolClassName: string, bindings?: toolsTypes.IToolBinding[]): void;
/**
* @description
* @author jiannan.jiao
* @date 08/09/2023
* @export
* @param {MedicalComponentID} id
* @param {boolean} [activationCustom=false]
*/
export declare function setHeaderToolDisabled(id: MedicalComponentID, activationCustom?: boolean): void;
/**
* ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
* ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
* ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
*/
/**
* @description 添加一个自定义工具到组件的工具组中
* @author jiannan.jiao
* @date 08/09/2023
* @export
* @param {(MedicalComponentID | DisplayComponentID )} id
* @param {*} ToolClass
* @param {toolsTypes.ToolConfiguration} configuration
*/
export declare function addATool(id: MedicalComponentID | DisplayComponentID, ToolClass: any, configuration?: toolsTypes.ToolConfiguration): void;
/**
* @description 从组件的工具组中删除一个自定义工具
* @author jiannan.jiao
* @date 21/06/2024
* @export
* @param {(MedicalComponentID | DisplayComponentID)} id
* @param {*} ToolClass
*/
export declare function removeATool(id: MedicalComponentID | DisplayComponentID, ToolClass: any): void;
/**
* @description 将一个自定义添加的工具状态设置为actived
* @author jiannan.jiao
* @date 08/09/2023
* @export
* @param {MedicalComponentID | DisplayComponentID } id
* @param {string} toolClassName
*/
export declare function setAToolActived(id: MedicalComponentID | DisplayComponentID, toolClassName: string): void;
/**
* @description 将一个自定义添加的工具状态设置为enabled
* @author jiannan.jiao
* @date 19/09/2023
* @export
* @param {(MedicalComponentID | DisplayComponentID )} id
* @param {string} toolClassName
*/
export declare function setAToolEnabled(id: MedicalComponentID | DisplayComponentID, toolClassName: string): void;
/**
* @description 将一个自定义添加的工具状态设置为disabled
* @author jiannan.jiao
* @date 08/09/2023
* @export
* @param {(MedicalComponentID | DisplayComponentID )} id
* @param {string} [toolClassName] 如果不指定工具类名默认将actived状态的工具disabled
*/
export declare function setAToolDisabled(id: MedicalComponentID | DisplayComponentID, toolClassName?: string): void;
/**
* @description
* @author jiannan.jiao
* @date 25/09/2023
* @export
* @param {(MedicalComponentID | DisplayComponentID )} id
* @param {string} toolClassName
* @param {toolsTypes.ToolConfiguration} configuration
*/
export declare function setToolConfiguration(id: MedicalComponentID | DisplayComponentID, toolClassName: string, configuration: toolsTypes.ToolConfiguration): void;
/**
* @description 组件初始化时创建对应的Camera同步器
* @author jiannan.jiao
* @date 12/09/2023
* @export
* @param {MedicalComponentID} id
*/
export declare function addCameraPositionSynchronizers(id: MedicalComponentID): void;
/**
* @description 移除同步管理器中添加的同步器
* @author jiannan.jiao
* @date 12/09/2023
* @export
* @param {MedicalComponentID} id
*/
export declare function removeCameraPositionSynchronizers(id: MedicalComponentID): void;
/**
* @description 向同步器中添加一个视口,它将被同时添加到soureViewport和targetViewport中
* @author jiannan.jiao
* @date 12/09/2023
* @export
* @param {string} renderingEngineId
* @param {viewportId} viewportId
*/
export declare function addViewportToCameraPositionSynchronizers(renderingEngineId: string, viewportId: viewportId): void;
/**
* @description 用于取消同步时移除同步器中的视口
* @author jiannan.jiao
* @date 12/09/2023
* @export
* @param {MedicalComponentID} id
*/
export declare function destoryCameraPositionSynchronizers(id: MedicalComponentID): void;
/**
* ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
* ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
* ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
*/
/**
* @description
* @author jiannan.jiao
* @date 12/09/2023
* @export
* @param {DisplayComponentID } id
*/
export declare function addVOISynchronizer(id: DisplayComponentID): void;
/**
* @description
* @author jiannan.jiao
* @date 12/09/2023
* @export
* @param {DisplayComponentID } id
*/
export declare function removeVOISynchronizer(id: DisplayComponentID): void;
/**
* @description 组件初始化时创建对应的SliceInfoTool同步器
* @author jiannan.jiao
* @date 31/10/2023
* @export
* @param {MedicalComponentID} id
*/
export declare function addPointerPositionSynchronizers(id: MedicalComponentID): void;
/**
* @description 移除同步管理器中添加的SliceInfoTool同步器
* @author jiannan.jiao
* @date 31/10/2023
* @export
* @param {MedicalComponentID} id
*/
export declare function removePointerPositionSynchronizers(id: MedicalComponentID): void;
/**
* @description 向同步器中添加一个视口,它将被同时添加到soureViewport和targetViewport中
* @author jiannan.jiao
* @date 31/10/2023
* @export
* @param {string} renderingEngineId
* @param {viewportId} viewportId
*/
export declare function addViewportToPointerPositionSynchronizers(renderingEngineId: string, viewportId: viewportId): void;
/**
* @description 用于取消SliceInfoTool同步时移除同步器中的视口
* @author jiannan.jiao
* @date 31/10/2023
* @export
* @param {MedicalComponentID} id
*/
export declare function destoryPointerPositionSynchronizers(id: MedicalComponentID): void;
/**
* ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
* ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
* ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
*/
/**
* @description 专门用来设置DraggableTool为actived状态,默认将全部可拖拽元素设置为false
* @author jiannan.jiao
* @date 25/09/2023
* @export
* @param {(MedicalComponentID | DisplayComponentID )} id
* @param {boolean} [resetState=true]
*/
export declare function setDraggableToolActived(id: MedicalComponentID | DisplayComponentID, resetState?: boolean): void;
/**
* @description 专门用来设置DraggableTool为disabled状态,默认将全部可拖拽元素设置为false
* @author jiannan.jiao
* @date 25/09/2023
* @export
* @param {(MedicalComponentID | DisplayComponentID )} id
*/
export declare function setDraggableToolDisabled(id: MedicalComponentID | DisplayComponentID): void;
/**
* ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
* ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
* ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
*/
/**
* @description 专门用来设置DraggableDisplayTool为actived状态,默认将全部可拖拽元素的显示设置为true
* @author jiannan.jiao
* @date 26/09/2023
* @export
* @param {(MedicalComponentID | DisplayComponentID )} id
*/
export declare function setDraggableDisplayToolEnabled(id: MedicalComponentID | DisplayComponentID): void;
/**
* @description 专门用来设置DraggableDisplayTool为disabled状态,默认将全部可拖拽元素的显示设置为false,并默认将拖拽关闭
* @author jiannan.jiao
* @date 25/09/2023
* @export
* @param {(MedicalComponentID | DisplayComponentID )} id
*/
export declare function setDraggableDisplayToolDisabled(id: MedicalComponentID | DisplayComponentID, effectDrag?: boolean): void;
/**
* ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
* ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
* ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
*/
export declare function setBrushRadius(id: MedicalComponentID | DisplayComponentID, brushSize: number): void;
export {};