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); 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) { function _getStudy(StudyInstanceUID) {
return _model.studies.find(aStudy => aStudy.StudyInstanceUID === 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) { function _getSeries(StudyInstanceUID, SeriesInstanceUID) {
if(!StudyInstanceUID) { if(!StudyInstanceUID) {
const series = _model.studies.map(study => study.series).flat(); 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); 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) { function _getInstance(StudyInstanceUID, SeriesInstanceUID, SOPInstanceUID) {
const series = _getSeries(StudyInstanceUID, SeriesInstanceUID); const series = _getSeries(StudyInstanceUID, SeriesInstanceUID);

View File

@ -4,7 +4,6 @@ sidebar_label: DisplaySet Service
--- ---
# DisplaySet Service # DisplaySet Service
## Overview ## 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`. `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. 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. 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 ## Adding `madeInClient` display sets
It is possible to filter or combine display sets from different series by It is possible to filter or combine display sets from different series by
performing the filter operation desired, and then calling the `addActiveDisplaySets` performing the filter operation desired, and then calling the `addActiveDisplaySets`