UNPKG

our-medical

Version:

medical image vue component

293 lines (292 loc) 11.4 kB
/** * @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 {};