Larvitar Documentation
Home
Guide
API
GitHub
Home
Guide
API
GitHub
  • API

    • Initializing
    • Parsing
    • Loading
    • Rendering
    • Interacting
    • Testing
    • Modules

      • Logger
      • Store
      • Managers

        • Image Manager
        • GSPS Manager
        • File Manager
      • Parsers

        • PDF Parser
        • NRRD Parser
        • ECG Parser
      • Loaders
        • DICOM Loader
        • MultiFrame Loader
        • SingleFrame Loader
        • DSA Image Loader
        • File Loader
        • Nrrd Loader
      • Interaction Tools

        • Initialize and manage Tools
        • Default and Custom Tools
        • Segmentation Tools
        • DvTools
      • Utilities

        • DICOM Anonymization
        • DICOM Customization
        • Tags
        • Utils
        • Memory
      • Post Processing

        • DSA
      • Visualizations

        • Layers
        • ECG
        • Color Maps
        • Greyscale Presentation States
      • Testing
Larvitar

DICOM Utilities Module

Overview

The DICOM Utilities module provides various utility functions for processing DICOM images, including operations on pixel data, metadata extraction, sorting, and reslicing. These functions aid in handling and analyzing DICOM series efficiently.

API Reference

getNormalOrientation

Computes the 3D normal from two 3D vectors derived from the image orientation DICOM tag.

Syntax

getNormalOrientation(el: [number, number, number, number, number, number]): number[]

Parameters

ParameterTypeDescription
elArrayThe image orientation DICOM tag.

Returns

number[] - The computed normal vector.


getMinPixelValue

Finds the minimum pixel value in a given pixel data array.

Syntax

getMinPixelValue(pixelData: number[]): number

Parameters

ParameterTypeDescription
pixelDatanumber[]Array containing pixel data.

Returns

number - The minimum pixel value.


getMaxPixelValue

Finds the maximum pixel value in a given pixel data array.

Syntax

getMaxPixelValue(pixelData: number[]): number

Parameters

ParameterTypeDescription
pixelDatanumber[]Array containing pixel data.

Returns

number - The maximum pixel value.


getMeanValue

Get the mean value of a specified dicom tag in a serie.

Syntax

getMeanValue(
  series: Series,
  tag: keyof MetaData,
  isArray: boolean
): number | number[]

Parameters

ParameterTypeDescription
seriesSeriesThe cornerstone series object
tagkeyof MetaDataThe target tag key
isArraybooleanTrue if tag value is an array

Returns

number - Tag mean value


getPixelRepresentation

Creates a pixel representation string from DICOM tags.

Syntax

getPixelRepresentation(dataSet: CustomDataSet): string

Parameters

ParameterTypeDescription
dataSetCustomDataSetThe dataset containing DICOM tags.

Returns

string - The pixel representation (e.g., Sint16, Uint16).


getTypedArrayFromDataType

Get a typed array from a representation type

Syntax

getTypedArrayFromDataType(dataType: string) : typedArray

Parameters

ParameterTypeDescription
dataTypestringThe data type

Returns

typedArray - Get typed array from tag and size of original array


getSortedStack

Sorts a series of image IDs based on content time, position, or instance order.

Syntax

getSortedStack(seriesData: Series, sortPriorities: Array<"imagePosition" | "contentTime" | "instanceNumber">, returnSuccessMethod: boolean): object

Parameters

ParameterTypeDescription
seriesDataSeriesThe dataset representing the series.
sortPrioritiesArrayList of sorting priorities.
returnSuccessMethodbooleanWhether to return the success method.

Returns

object - The sorted stack of images.


getSortedUIDs

Sort the array of instanceUIDs according to imageIds sorted using sortSeriesStack

Syntax

getSortedUIDs(seriesData: Series):  {
    [key: string]: string;
}

Parameters

ParameterTypeDescription
seriesDataSeriesThe dataset representing the series.

Returns

{[key: string]: string;} - The sorted instanceUIDs


randomId

Generates a random unique identifier.

Syntax

randomId(): string

Returns

string - A randomly generated UID.


getReslicedMetadata

Generates a random unique identifier.

getReslicedMetadata(
  reslicedSeriesId: string,
  fromOrientation: "axial" | "coronal" | "sagittal",
  toOrientation: "axial" | "coronal" | "sagittal",
  seriesData: Series,
  imageLoaderName: string
): object[]

Parameters

ParameterTypeDescription
reslicedSeriesIdstringThe id of the resliced serie
fromOrientation"axial" or "coronal" or "sagittal"Source orientation (eg axial, coronal or sagittal)
toOrientation"axial" or "coronal" or "sagittal"Target orientation (eg axial, coronal or sagittal)
seriesDataSeriesThe original series data
imageLoaderNamestringThe registered loader name

Returns

{
    imageIds: reslicedImageIds,
    instances: reslicedInstances,
    currentImageIdIndex: 0
  };

Used in resliceSeries to retrieve Cornerstone series object resliced from native orientation to coronal or sagittal orientation, filled only with metadata.


getReslicedPixeldata

Generates a random unique identifier.

getReslicedPixeldata(
  imageId: string,
  originalData: Series,
  reslicedData: Series
): TypedArray

Parameters

ParameterTypeDescription
imageIdstringThe id of the resulting image
originalDataSeriesThe original series data (source)
reslicedDataSeriesThe resliced series data (target)

Returns

TypedArray - A single resliced slice pixel array. Used in resliceSeries to retrieve pixel data for the resliced image from native orientation to coronal or sagittal orientation.


getDistanceBetweenSlices

Generates a random unique identifier.

getDistanceBetweenSlices (
  seriesData: Series,
  sliceIndex1: number,
  sliceIndex2: number
): number

Parameters

ParameterTypeDescription
seriesDataSeriesThe series data
sliceIndex1numberThe first slice index
sliceIndex2numberThe second slice index

Returns

number - Get distance between two slices. Used to get sliceThickness metadata.


getImageMetadata

Retrieves metadata for a specific image in a series.

Syntax

getImageMetadata(seriesId: string, instanceUID: string, frameId?: number): object[]

Parameters

ParameterTypeDescription
seriesIdstringThe series UID.
instanceUIDstringThe SOP Instance UID.
frameIdnumberOptional frame ID.

Returns

object[] - List of metadata objects containing tags, names, and values.


getCmprMetadata

Compute cmpr metadata from pyCmpr data (generated using Scyther)

Syntax

getCmprMetadata(
  reslicedSeriesId: string,
  imageLoaderName: string,
  header: any,
): {
    imageIds: reslicedImageIds,
    instances: reslicedInstances
  };

Parameters

ParameterTypeDescription
reslicedSeriesIdstringThe id of the resliced serie
imageLoaderNamestringThe registered loader name
headeranyThe header of the resliced serie from Scyther

Returns

{
    imageIds: reslicedImageIds,
    instances: reslicedInstances
};

Cornerstone series object, filled only with metadata


D/Vision Lab
Last Updated:
Contributors: Laura Borghesi, Simone "Lateralus" Manini
Prev
Tags
Next
Memory