feat(VolumeViewport3D): add volumeViewport3Dd sample hp (#3241)
* feat(VolumeViewport3D) - importing and using Cornerstone 3D's VolumeViewport3D viewport - added mprAnd3DVolumeViewport hanging protocol - allowed for W/L preset to be applied to a viewport * Updated cornerstone core dependency * Removed pan and zoom from the volume3d tool group so that tackballrotate is never dropped for that viewport. Removed overlays from 3D volume viewport. Throw an error and display a message whenever an unapplicable tool is selected. * The default/initial orientation for a 3D volume viewport can now be set. Using the 'interleaveTopToBottom' image load strategy for the 'mprAnd3DVolumeViewport' hanging protocol. * Do not set orientation for stack viewport.
This commit is contained in:
1 parent
5ad5bd232d
commit
550918dd31
12 files changed
+230
-17
No files matched your search
+19
-8
@@ -62,12 +62,20 @@ class CornerstoneCacheService {
|
||||
viewportData = await this._getStackViewportData(
|
||||
dataSource,
|
||||
displaySets,
|
||||
initialImageIndex
|
||||
initialImageIndex,
|
||||
cs3DViewportType
|
||||
);
|
||||
}
|
||||
|
||||
if (cs3DViewportType === Enums.ViewportType.ORTHOGRAPHIC) {
|
||||
viewportData = await this._getVolumeViewportData(dataSource, displaySets);
|
||||
if (
|
||||
cs3DViewportType === Enums.ViewportType.ORTHOGRAPHIC ||
|
||||
cs3DViewportType === Enums.ViewportType.VOLUME_3D
|
||||
) {
|
||||
viewportData = await this._getVolumeViewportData(
|
||||
dataSource,
|
||||
displaySets,
|
||||
cs3DViewportType
|
||||
);
|
||||
}
|
||||
|
||||
viewportData.viewportType = cs3DViewportType;
|
||||
@@ -100,7 +108,8 @@ class CornerstoneCacheService {
|
||||
|
||||
const newViewportData = await this._getVolumeViewportData(
|
||||
dataSource,
|
||||
displaySets
|
||||
displaySets,
|
||||
viewportData.viewportType
|
||||
);
|
||||
|
||||
return newViewportData;
|
||||
@@ -109,7 +118,8 @@ class CornerstoneCacheService {
|
||||
private _getStackViewportData(
|
||||
dataSource,
|
||||
displaySets,
|
||||
initialImageIndex
|
||||
initialImageIndex,
|
||||
viewportType: Enums.ViewportType
|
||||
): StackViewportData {
|
||||
// For Stack Viewport we don't have fusion currently
|
||||
const displaySet = displaySets[0];
|
||||
@@ -126,7 +136,7 @@ class CornerstoneCacheService {
|
||||
const { displaySetInstanceUID, StudyInstanceUID } = displaySet;
|
||||
|
||||
const StackViewportData: StackViewportData = {
|
||||
viewportType: Enums.ViewportType.STACK,
|
||||
viewportType,
|
||||
data: {
|
||||
StudyInstanceUID,
|
||||
displaySetInstanceUID,
|
||||
@@ -143,7 +153,8 @@ class CornerstoneCacheService {
|
||||
|
||||
private async _getVolumeViewportData(
|
||||
dataSource,
|
||||
displaySets
|
||||
displaySets,
|
||||
viewportType: Enums.ViewportType
|
||||
): Promise<VolumeViewportData> {
|
||||
// Todo: Check the cache for multiple scenarios to see if we need to
|
||||
// decache the volume data from other viewports or not
|
||||
@@ -207,7 +218,7 @@ class CornerstoneCacheService {
|
||||
}
|
||||
|
||||
return {
|
||||
viewportType: Enums.ViewportType.ORTHOGRAPHIC,
|
||||
viewportType,
|
||||
data: volumeData,
|
||||
};
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user