diff --git a/common/reviews/api/core.api.md b/common/reviews/api/core.api.md index 655fc0ebb..7279aa85e 100644 --- a/common/reviews/api/core.api.md +++ b/common/reviews/api/core.api.md @@ -86,7 +86,7 @@ export abstract class BaseVolumeViewport extends Viewport implements IVolumeView // (undocumented) removeVolumeActors(actorUIDs: Array, immediate?: boolean): void; // (undocumented) - abstract resetProperties(): void; + abstract resetProperties(volumeId?: string): void; // (undocumented) protected resetVolumeViewportClippingRange(): void; // (undocumented) @@ -1894,7 +1894,7 @@ interface IVolumeViewport extends IViewport { // (undocumented) resetCamera(resetPan?: boolean, resetZoom?: boolean, resetToCenter?: boolean): boolean; // (undocumented) - resetProperties(): void; + resetProperties(volumeId?: string): void; // (undocumented) setBlendMode(blendMode: BlendModes, filterActorUIDs?: Array, immediate?: boolean): void; // (undocumented) @@ -2889,7 +2889,7 @@ export class VolumeViewport extends BaseVolumeViewport { // (undocumented) resetCamera(resetPan?: boolean, resetZoom?: boolean, resetToCenter?: boolean): boolean; // (undocumented) - resetProperties(): void; + resetProperties(volumeId?: string): void; // (undocumented) setBlendMode(blendMode: BlendModes, filterActorUIDs?: any[], immediate?: boolean): void; // (undocumented) @@ -2912,7 +2912,7 @@ export class VolumeViewport3D extends BaseVolumeViewport { // (undocumented) resetCamera(resetPan?: boolean, resetZoom?: boolean, resetToCenter?: boolean): boolean; // (undocumented) - resetProperties(): void; + resetProperties(volumeId?: string): void; // (undocumented) setBlendMode(blendMode: BlendModes, filterActorUIDs?: string[], immediate?: boolean): void; // (undocumented) diff --git a/common/reviews/api/streaming-image-volume-loader.api.md b/common/reviews/api/streaming-image-volume-loader.api.md index d2d9e8937..acc95bd96 100644 --- a/common/reviews/api/streaming-image-volume-loader.api.md +++ b/common/reviews/api/streaming-image-volume-loader.api.md @@ -1318,7 +1318,7 @@ interface IVolumeViewport extends IViewport { resetZoom?: boolean, resetToCenter?: boolean ): boolean; - resetProperties(): void; + resetProperties(volumeId?: string): void; setBlendMode( blendMode: BlendModes, filterActorUIDs?: Array, diff --git a/common/reviews/api/tools.api.md b/common/reviews/api/tools.api.md index 4ce891d40..ec3b254bb 100644 --- a/common/reviews/api/tools.api.md +++ b/common/reviews/api/tools.api.md @@ -3138,7 +3138,7 @@ interface IVolumeViewport extends IViewport { resetZoom?: boolean, resetToCenter?: boolean ): boolean; - resetProperties(): void; + resetProperties(volumeId?: string): void; setBlendMode( blendMode: BlendModes, filterActorUIDs?: Array, diff --git a/packages/core/src/RenderingEngine/BaseVolumeViewport.ts b/packages/core/src/RenderingEngine/BaseVolumeViewport.ts index cbc6e3a70..b57e2b90c 100644 --- a/packages/core/src/RenderingEngine/BaseVolumeViewport.ts +++ b/packages/core/src/RenderingEngine/BaseVolumeViewport.ts @@ -1095,7 +1095,7 @@ abstract class BaseVolumeViewport extends Viewport implements IVolumeViewport { filterActorUIDs?: Array ): void; - abstract resetProperties(): void; + abstract resetProperties(volumeId?: string): void; } export default BaseVolumeViewport; diff --git a/packages/core/src/RenderingEngine/VolumeViewport.ts b/packages/core/src/RenderingEngine/VolumeViewport.ts index 7f37ed195..a21e6ecd4 100644 --- a/packages/core/src/RenderingEngine/VolumeViewport.ts +++ b/packages/core/src/RenderingEngine/VolumeViewport.ts @@ -356,15 +356,32 @@ class VolumeViewport extends BaseVolumeViewport { /** * Reset the viewport properties to the default values * + + * @param volumeId - Optional volume ID to specify which volume properties to reset. + * If not provided, it will reset the properties of the default actor. + * * @returns void */ - public resetProperties(): void { - this._resetProperties(); + public resetProperties(volumeId?: string): void { + this._resetProperties(volumeId); } - private _resetProperties() { - const volumeActor = this.getDefaultActor(); + private _resetProperties(volumeId?: string) { + // Get the actor based on the volumeId if provided, otherwise use the default actor. + const volumeActor = volumeId + ? this.getActor(volumeId) + : this.getDefaultActor(); + + if (!volumeActor) { + throw new Error(`No actor found for the given volumeId: ${volumeId}`); + } + const imageVolume = cache.getVolume(volumeActor.uid); + if (!imageVolume) { + throw new Error( + `imageVolume with id: ${volumeActor.uid} does not exist in cache` + ); + } setDefaultVolumeVOI(volumeActor.actor as vtkVolume, imageVolume, false); } } diff --git a/packages/core/src/RenderingEngine/VolumeViewport3D.ts b/packages/core/src/RenderingEngine/VolumeViewport3D.ts index 61bf5b391..118cb10ab 100644 --- a/packages/core/src/RenderingEngine/VolumeViewport3D.ts +++ b/packages/core/src/RenderingEngine/VolumeViewport3D.ts @@ -61,7 +61,7 @@ class VolumeViewport3D extends BaseVolumeViewport { return null; } - resetProperties(): void { + resetProperties(volumeId?: string): void { return null; } } diff --git a/packages/core/src/types/IVolumeViewport.ts b/packages/core/src/types/IVolumeViewport.ts index 1055c905b..fce4a898c 100644 --- a/packages/core/src/types/IVolumeViewport.ts +++ b/packages/core/src/types/IVolumeViewport.ts @@ -141,5 +141,6 @@ export default interface IVolumeViewport extends IViewport { /** * Reset the viewport properties to the default values */ - resetProperties(): void; + resetProperties(volumeId?: string): void; + }