feat: new Total Metabolic Tumor Volume tmtv (#2866)

* fix: ptDisplaySet metadata problem

* fix: typo in xhrHeader field

* fix: temporary fix for crosshairs on reload data

* fix hotkey bug for input fields

* upgrade docusarusu to stable release

* circle ci node upgrade

* cypress node upgrade

* bump node in netlify

* bump node version

* remove versioned docs

* update resources

* fix: webpack injection of plugins

* fix meaningful label for panels

* add reviews and fix cli for creation

* copy over chunks if exists in the build

* edit templates

* edit templates

* fix yarn lock

* fix(plugin):Deploy on windows is broken

Co-authored-by: Bill Wallace <wayfarer3130@gmail.com>
This commit is contained in:
AlirezaandBill Wallace authored and GitHub committed 2022-08-17 15:13:59 -04:00
1 parent ae897c47e0
commit 10b4ed5f8c
41 files changed
+2020 -811

No files matched your search

@@ -166,14 +166,12 @@ class CornerstoneViewportService implements IViewportService {
const viewportInfo = this.viewportsInfo.get(viewportIndex);
viewportInfo.setRenderingEngineId(renderingEngine.id);
const {
viewportOptions,
displaySetOptions,
} = this._getViewportAndDisplaySetOptions(
publicViewportOptions,
publicDisplaySetOptions,
viewportInfo
);
const { viewportOptions, displaySetOptions } =
this._getViewportAndDisplaySetOptions(
publicViewportOptions,
publicDisplaySetOptions,
viewportInfo
);
viewportInfo.setViewportOptions(viewportOptions);
viewportInfo.setDisplaySetOptions(displaySetOptions);
@@ -400,48 +398,57 @@ class CornerstoneViewportService implements IViewportService {
volume.load();
});
this.setVolumesForViewport(viewport, volumeInputArray);
// This returns the async continuation only
return this.setVolumesForViewport(viewport, volumeInputArray);
}
public setVolumesForViewport(viewport, volumeInputArray) {
viewport.setVolumes(volumeInputArray).then(() => {
const viewportInfo = this.getViewportInfo(viewport.id);
const initialImageOptions = viewportInfo.getInitialImageOptions();
public async setVolumesForViewport(viewport, volumeInputArray) {
await viewport.setVolumes(volumeInputArray);
if (
initialImageOptions &&
(initialImageOptions.preset !== undefined ||
initialImageOptions.index !== undefined)
) {
const { index, preset } = initialImageOptions;
const viewportInfo = this.getViewportInfo(viewport.id);
const initialImageOptions = viewportInfo.getInitialImageOptions();
const { numberOfSlices } = csUtils.getImageSliceDataForVolumeViewport(
viewport
);
if (
initialImageOptions &&
(initialImageOptions.preset !== undefined ||
initialImageOptions.index !== undefined)
) {
const { index, preset } = initialImageOptions;
const imageIndex = this._getInitialImageIndex(
numberOfSlices,
index,
preset
);
const { numberOfSlices } =
csUtils.getImageSliceDataForVolumeViewport(viewport);
csToolsUtils.jumpToSlice(viewport.element, {
imageIndex,
});
}
const imageIndex = this._getInitialImageIndex(
numberOfSlices,
index,
preset
);
viewport.render();
});
csToolsUtils.jumpToSlice(viewport.element, {
imageIndex,
});
}
viewport.render();
}
public updateViewport(viewportIndex, viewportData) {
// Todo: keepCamera is an interim solution until we have a better solution for
// keeping the camera position when the viewport data is changed
public updateViewport(viewportIndex, viewportData, keepCamera = false) {
const viewportInfo = this.getViewportInfoByIndex(viewportIndex);
const viewportId = viewportInfo.getViewportId();
const viewport = this.getCornerstoneViewport(viewportId);
const viewportCamera = viewport.getCamera();
if (viewport instanceof VolumeViewport) {
this._setVolumeViewport(viewport, viewportData, viewportInfo);
this._setVolumeViewport(viewport, viewportData, viewportInfo).then(() => {
if (keepCamera) {
viewport.setCamera(viewportCamera);
viewport.render();
}
});
return;
}
@@ -19,7 +19,7 @@ export type ViewportOptions = {
initialView?: string;
syncGroups?: SyncGroup[];
initialImageOptions?: InitialImageOptions;
customViewportOptions?: Record<string, unknown>;
customViewportProps?: Record<string, unknown>;
};
export type PublicViewportOptions = {
@@ -31,7 +31,7 @@ export type PublicViewportOptions = {
initialView?: string;
syncGroups?: SyncGroup[];
initialImageOptions?: InitialImageOptions;
customViewportOptions?: Record<string, unknown>;
customViewportProps?: Record<string, unknown>;
};
export type PublicDisplaySetOptions = {