feat: volume+ts解决刷新问题
This commit is contained in:
parent
98b5b354d9
commit
f2f7382fec
|
@ -39,7 +39,7 @@ const themeTitleBarStyles = {
|
||||||
export const platform = process.platform === "darwin" ? "macos" : "windows";
|
export const platform = process.platform === "darwin" ? "macos" : "windows";
|
||||||
|
|
||||||
app.commandLine.appendSwitch('disable-web-security');
|
app.commandLine.appendSwitch('disable-web-security');
|
||||||
app.disableHardwareAcceleration()
|
// app.disableHardwareAcceleration()
|
||||||
|
|
||||||
function createWindow() {
|
function createWindow() {
|
||||||
win = new BrowserWindow({
|
win = new BrowserWindow({
|
||||||
|
|
|
@ -9,7 +9,6 @@ export interface CtTransferFunction {
|
||||||
|
|
||||||
export default function setCtTransferFunctionForVolumeActor(p: CtTransferFunction) {
|
export default function setCtTransferFunctionForVolumeActor(p: CtTransferFunction) {
|
||||||
const { volumeActor, defaultWindowCenter, defaultWindowWidth } = p
|
const { volumeActor, defaultWindowCenter, defaultWindowWidth } = p
|
||||||
console.log(defaultWindowCenter, defaultWindowWidth)
|
|
||||||
const lower = defaultWindowCenter - defaultWindowWidth / 2.0;
|
const lower = defaultWindowCenter - defaultWindowWidth / 2.0;
|
||||||
const upper = defaultWindowCenter + defaultWindowWidth / 2.0;
|
const upper = defaultWindowCenter + defaultWindowWidth / 2.0;
|
||||||
ctVoiRange = { lower, upper };
|
ctVoiRange = { lower, upper };
|
||||||
|
|
|
@ -47,6 +47,7 @@ const {
|
||||||
const { MouseBindings } = csToolsEnums;
|
const { MouseBindings } = csToolsEnums;
|
||||||
|
|
||||||
const wadoRsRoot = "http://localhost:8042/dicom-web";
|
const wadoRsRoot = "http://localhost:8042/dicom-web";
|
||||||
|
const renderingEngineId = "renderEngineNo1";
|
||||||
|
|
||||||
const { ViewportType, OrientationAxis } = CoreEnums;
|
const { ViewportType, OrientationAxis } = CoreEnums;
|
||||||
const wwwl = { windowCenter: 50, windowWidth: 850 };
|
const wwwl = { windowCenter: 50, windowWidth: 850 };
|
||||||
|
@ -66,9 +67,8 @@ export const Viewer = () => {
|
||||||
const SeriesInstanceUID = queryParams.get("SeriesInstanceUID");
|
const SeriesInstanceUID = queryParams.get("SeriesInstanceUID");
|
||||||
const StudyInstanceUID = queryParams.get("StudyInstanceUID");
|
const StudyInstanceUID = queryParams.get("StudyInstanceUID");
|
||||||
const [imageIds, setImageIds] = useState<string[]>();
|
const [imageIds, setImageIds] = useState<string[]>();
|
||||||
const renderingEngineId = "renderEngineNo1";
|
|
||||||
const renderingEngineRef = useRef<RenderingEngine>();
|
const renderingEngineRef = useRef<RenderingEngine>();
|
||||||
const volumeRef = useRef<Record<string, any>>();
|
const ts = "-" + Date.now(); // 每次都是新的volumeId
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
cornerstoneTools.addTool(StackScrollMouseWheelTool);
|
cornerstoneTools.addTool(StackScrollMouseWheelTool);
|
||||||
|
@ -90,10 +90,13 @@ export const Viewer = () => {
|
||||||
wadoRsRoot,
|
wadoRsRoot,
|
||||||
});
|
});
|
||||||
// 这一步会对imageIds进行排序,如果不排序imageIds会错误乱,stackViewport顺序会错误
|
// 这一步会对imageIds进行排序,如果不排序imageIds会错误乱,stackViewport顺序会错误
|
||||||
volumeRef.current = await volumeLoader.createAndCacheVolume(volumeId, {
|
const volume = await volumeLoader.createAndCacheVolume(volumeId + ts, {
|
||||||
imageIds
|
imageIds,
|
||||||
});
|
});
|
||||||
volumeRef.current.load();
|
volume.load();
|
||||||
|
console.log("2222");
|
||||||
|
console.log(SeriesInstanceUID);
|
||||||
|
console.log(StudyInstanceUID);
|
||||||
|
|
||||||
const volumeViewportInput: PublicViewportInput[] = [
|
const volumeViewportInput: PublicViewportInput[] = [
|
||||||
{
|
{
|
||||||
|
@ -142,14 +145,14 @@ export const Viewer = () => {
|
||||||
stackViewportId
|
stackViewportId
|
||||||
) as IStackViewport;
|
) as IStackViewport;
|
||||||
|
|
||||||
stackViewport.setStack(volumeRef.current.imageIds);
|
stackViewport.setStack(volume.imageIds);
|
||||||
setImageIds(volumeRef.current.imageIds);
|
setImageIds(volume.imageIds);
|
||||||
|
|
||||||
await setVolumesForViewports(
|
await setVolumesForViewports(
|
||||||
renderingEngineRef.current,
|
renderingEngineRef.current,
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
volumeId: volumeId,
|
volumeId: volumeId + ts,
|
||||||
callback: ({ volumeActor }) =>
|
callback: ({ volumeActor }) =>
|
||||||
setCtTransferFunctionForVolumeActor({
|
setCtTransferFunctionForVolumeActor({
|
||||||
volumeActor,
|
volumeActor,
|
||||||
|
@ -202,9 +205,8 @@ export const Viewer = () => {
|
||||||
}
|
}
|
||||||
|
|
||||||
// 默认windowWidtth
|
// 默认windowWidtth
|
||||||
const { windowCenter, windowWidth } =
|
// const { windowCenter, windowWidth } =
|
||||||
volumeRef.current.cornerstoneImageMetaData;
|
// volumeRef.current.cornerstoneImageMetaData;
|
||||||
console.log("默认窗宽/位: ", windowCenter, windowWidth);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
initCornerstone(() => {
|
initCornerstone(() => {
|
||||||
|
@ -221,7 +223,8 @@ export const Viewer = () => {
|
||||||
ToolGroupManager.destroyToolGroup(toolGroupMprId);
|
ToolGroupManager.destroyToolGroup(toolGroupMprId);
|
||||||
ToolGroupManager.destroyToolGroup(toolGroupStackId);
|
ToolGroupManager.destroyToolGroup(toolGroupStackId);
|
||||||
|
|
||||||
cornerstoneTools.removeTool(StackScrollMouseWheelTool);1
|
cornerstoneTools.removeTool(StackScrollMouseWheelTool);
|
||||||
|
1;
|
||||||
cornerstoneTools.removeTool(CrosshairsTool);
|
cornerstoneTools.removeTool(CrosshairsTool);
|
||||||
cornerstoneTools.removeTool(WindowLevelTool);
|
cornerstoneTools.removeTool(WindowLevelTool);
|
||||||
cornerstoneTools.removeTool(ZoomTool);
|
cornerstoneTools.removeTool(ZoomTool);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user