DisplaySet Service
#
OverviewDisplaySetService
handles converting the instanceMetadata
into DisplaySet
that OHIF
uses for the visualization. DisplaySetService
gets initialized in the Mode.jsx
. During the initialization SOPClassHandlerIds
of the modes
gets registered with the DisplaySetService
.
Based on the instanceMetadata's
SOPClassHandlerId
, the correct module from the registered extensions is found byOHIF
and itsgetDisplaySetsFromSeries
runs to create a DisplaySet for the Series.
init(extensionManager, SOPClassHandlerIds) { this.extensionManager = extensionManager; this.SOPClassHandlerIds = SOPClassHandlerIds; this.activeDisplaySets = [];}
in Mode.jsx
export default function ModeRoute(/** ... **/) { /** ... **/ const { DisplaySetService } = servicesManager.services const { sopClassHandlers } = mode /** ... **/ useEffect( () => { /** ... **/
// Add SOPClassHandlers to a new SOPClassManager. DisplaySetService.init(extensionManager, sopClassHandlers)
/** ... **/ } /** ... **/ ) /** ... **/ return <> /** ... **/ </>}
#
EventsThere are three events that get broadcasted in DisplaySetService
:
Event | Description |
---|---|
DISPLAY_SETS_ADDED | Fires a displayset is added to the displaysets cache |
DISPLAY_SETS_CHANGED | Fires when a displayset is changed |
DISPLAY_SETS_REMOVED | Fires when a displayset is removed |
#
APILet's find out about the public API for DisplaySetService
.
EVENTS
: Object including the events mentioned above. You can subscribe to these events by calling DisplaySetService.subscribe(EVENTS.DISPLAY_SETS_CHANGED, myFunction). Read more about pub/sub pattern heremakeDisplaySets(input, { batch, madeInClient, settings } = {}
): Creates displaySet for the provided array of instances metadata. Each display set gets a random UID assigned.input
: Array of instances Metadatabatch = false
: If you need to pass array of arrays of instances metadata to have a batch creationmadeInClient = false
: Disables the events firingsettings = {}
: Hanging protocol viewport or rendering settings. For instance, setting the initialvoi
, or activating a tool upon displaySet rendering. Read more about hanging protocols settings here
getDisplaySetByUID
: Returns the displaySet based on the DisplaySetUID.getDisplaySetForSOPInstanceUID
: Returns the displaySet that includes an image with the provided SOPInstanceUIDgetActiveDisplaySets
: Returns the active displaySetsdeleteDisplaySet
: Deletes the displaySets from the displaySets cache