docs: clarify terminology for study, series, and display sets (#5000)

This commit is contained in:
Julia Young 2025-05-01 13:46:21 -05:00 committed by GitHub
parent 0e75f6d62c
commit 25cb71b3f6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 34 additions and 2 deletions

View File

@ -53,10 +53,22 @@ function _getStudyInstanceUIDs() {
return _model.studies.map(aStudy => aStudy.StudyInstanceUID);
}
/**
* Gets a study (a collection of series) using it's StudyInstanceUID
* @param {*} StudyInstanceUID - Unique Identifier for the study
* @returns {*} A study object
*/
function _getStudy(StudyInstanceUID) {
return _model.studies.find(aStudy => aStudy.StudyInstanceUID === StudyInstanceUID);
}
/**
* Gets a series (a collection of images) using both
* the Study and Series InstanceUID's
* @param {*} StudyInstanceUID - Unique Identifier for the study
* @param {*} SeriesInstanceUID - Unique Identifier for the series
* @returns {*} A series object
*/
function _getSeries(StudyInstanceUID, SeriesInstanceUID) {
if(!StudyInstanceUID) {
const series = _model.studies.map(study => study.series).flat();
@ -72,6 +84,13 @@ function _getSeries(StudyInstanceUID, SeriesInstanceUID) {
return study.series.find(aSeries => aSeries.SeriesInstanceUID === SeriesInstanceUID);
}
/**
* Gets an instance (a single image or object)
* @param {*} StudyInstanceUID - Unique Identifier for the study
* @param {*} SeriesInstanceUID - Unique Identifier for the series
* @param {*} SOPInstanceUID Unique Identifier for a specific instance
* @returns an instance object
*/
function _getInstance(StudyInstanceUID, SeriesInstanceUID, SOPInstanceUID) {
const series = _getSeries(StudyInstanceUID, SeriesInstanceUID);

View File

@ -4,7 +4,6 @@ sidebar_label: DisplaySet Service
---
# DisplaySet Service
## Overview
`DisplaySetService` handles converting the `instanceMetadata` into `DisplaySet` that `OHIF` uses for the visualization. `DisplaySetService` gets initialized at service startup time, but is then cleared in the `Mode.jsx`. During the initialization `SOPClassHandlerIds` of the `modes` gets registered with the `DisplaySetService`.
@ -12,7 +11,9 @@ sidebar_label: DisplaySet Service
DisplaySet is a general set of entities and contains links to bunch of displayable objects (images, etc.) Some series might get split up into different displaySets e.g., MG might have mixed views in a single series, but users might want to have separate LCC, RCC, etc. for hanging protocol usage. A viewport renders a display set into a displayable object.
imageSet is a particular implementation of image displays.
An imageSet is a particular implementation of image displays.
- Learn more about Study (https://www.dicomstandard.org/standards/view/information-object-definitions#sect_A.1.2.2)
- Learn more about Series (https://www.dicomstandard.org/standards/view/information-object-definitions#sect_A.1.2.3)
:::
@ -27,6 +28,18 @@ Then, the same process is used as was originally done to create new display sets
NOTE: Any instances not matched are NOT added to any display set and will not be displayed.
:::::info[Clarification of Terminology]
Display Sets, which are custom to OHIF, are often confused with different DICOM terms, including study, series, and instances. The following are definitions for these terms to alleviate confusion.
<br></br>
DICOM Terms:
* **Study**: A collection of series
* **Series**: A collection of images or objects
* **Instance**: Single image or object
* **Display Set**: Set of displayable objects (Can be anything shown to the user)
:::::
## Adding `madeInClient` display sets
It is possible to filter or combine display sets from different series by
performing the filter operation desired, and then calling the `addActiveDisplaySets`