@itk-wasm/dicom v6.0.1
@itk-wasm/dicom
Read files and images related to DICOM file format.
Installation
npm install @itk-wasm/dicom
Usage
Browser interface
Import:
import {
applyPresentationStateToImage,
readDicomEncapsulatedPdf,
structuredReportToHtml,
structuredReportToText,
readDicomTags,
readImageDicomFileSeries,
setPipelinesBaseUrl,
getPipelinesBaseUrl,
} from "@itk-wasm/dicom"
applyPresentationStateToImage
Apply a presentation state to a given DICOM image and render output as bitmap, or dicom file.
async function applyPresentationStateToImage(
imageIn: File | BinaryFile,
presentationStateFile: File | BinaryFile,
options: ApplyPresentationStateToImageOptions = {}
) : Promise<ApplyPresentationStateToImageResult>
Parameter | Type | Description | |
---|---|---|---|
imageIn | *File | BinaryFile* | Input DICOM file |
presentationStateFile | *File | BinaryFile* | Process using presentation state file |
ApplyPresentationStateToImageOptions
interface:
Property | Type | Description |
---|---|---|
colorOutput | boolean | output image as RGB (default: false) |
configFile | string | filename: string. Process using settings from configuration file |
frame | number | frame: integer. Process using image frame f (default: 1) |
noPresentationStateOutput | boolean | Do not get presentation state information in text stream. |
noBitmapOutput | boolean | Do not get resulting image as bitmap output stream. |
webWorker | null or Worker or boolean | WebWorker for computation. Set to null to create a new worker. Or, pass an existing worker. Or, set to false to run in the current thread / worker. |
noCopy | boolean | When SharedArrayBuffer's are not available, do not copy inputs. |
ApplyPresentationStateToImageResult
interface:
Property | Type | Description |
---|---|---|
presentationStateOutStream | JsonCompatible | Output overlay information |
outputImage | Image | Output image |
webWorker | Worker | WebWorker used for computation. |
readDicomEncapsulatedPdf
Extract PDF file from DICOM encapsulated PDF.
async function readDicomEncapsulatedPdf(
dicomFile: File | BinaryFile,
options: ReadDicomEncapsulatedPdfOptions = {}
) : Promise<ReadDicomEncapsulatedPdfResult>
Parameter | Type | Description | |
---|---|---|---|
dicomFile | *File | BinaryFile* | Input DICOM file |
ReadDicomEncapsulatedPdfOptions
interface:
Property | Type | Description |
---|---|---|
readFileOnly | boolean | read file format only |
readDataset | boolean | read data set without file meta information |
readXferAuto | boolean | use TS recognition (default) |
readXferDetect | boolean | ignore TS specified in the file meta header |
readXferLittle | boolean | read with explicit VR little endian TS |
readXferBig | boolean | read with explicit VR big endian TS |
readXferImplicit | boolean | read with implicit VR little endian TS |
acceptOddLength | boolean | accept odd length attributes (default) |
assumeEvenLength | boolean | assume real length is one byte larger |
enableCp246 | boolean | read undefined len UN as implicit VR (default) |
disableCp246 | boolean | read undefined len UN as explicit VR |
retainUn | boolean | retain elements as UN (default) |
convertUn | boolean | convert to real VR if known |
enableCorrection | boolean | enable automatic data correction (default) |
disableCorrection | boolean | disable automatic data correction |
webWorker | null or Worker or boolean | WebWorker for computation. Set to null to create a new worker. Or, pass an existing worker. Or, set to false to run in the current thread / worker. |
noCopy | boolean | When SharedArrayBuffer's are not available, do not copy inputs. |
ReadDicomEncapsulatedPdfResult
interface:
Property | Type | Description |
---|---|---|
pdfBinaryOutput | Uint8Array | Output pdf file |
webWorker | Worker | WebWorker used for computation. |
structuredReportToHtml
Render DICOM SR file and data set to HTML/XHTML
async function structuredReportToHtml(
dicomFile: File | BinaryFile,
options: StructuredReportToHtmlOptions = {}
) : Promise<StructuredReportToHtmlResult>
Parameter | Type | Description | |
---|---|---|---|
dicomFile | *File | BinaryFile* | Input DICOM file |
StructuredReportToHtmlOptions
interface:
Property | Type | Description | ||
---|---|---|---|---|
readFileOnly | boolean | read file format only | ||
readDataset | boolean | read data set without file meta information | ||
readXferAuto | boolean | use TS recognition (default) | ||
readXferDetect | boolean | ignore TS specified in the file meta header | ||
readXferLittle | boolean | read with explicit VR little endian TS | ||
readXferBig | boolean | read with explicit VR big endian TS | ||
readXferImplicit | boolean | read with implicit VR little endian TS | ||
processingDetails | boolean | show currently processed content item | ||
unknownRelationship | boolean | accept unknown/missing relationship type | ||
invalidItemValue | boolean | accept invalid content item value | ||
(e.g. violation of VR or VM definition) | ||||
ignoreConstraints | boolean | ignore relationship content constraints | ||
ignoreItemErrors | boolean | do not abort on content item errors, just warn | ||
(e.g. missing value type specific attributes) | ||||
skipInvalidItems | boolean | skip invalid content items (incl. sub-tree) | ||
disableVrChecker | boolean | disable check for VR-conformant string values | ||
charsetRequire | boolean | require declaration of ext. charset (default) | ||
charsetAssume | string | charset: string, assume charset c if no extended charset declared | ||
charsetCheckAll | boolean | check all data elements with string values | ||
(default: only PN, LO, LT, SH, ST, UC and UT) | ||||
convertToUtf8 | boolean | convert all element values that are affected | ||
by Specific Character Set (0008,0005) to UTF-8 | ||||
urlPrefix | string | URL: string. Append specificed URL prefix to hyperlinks of referenced composite objects in the document. | ||
html32 | boolean | use only HTML version 3.2 compatible features | ||
html40 | boolean | allow all HTML version 4.01 features (default) | ||
xhtml11 | boolean | comply with XHTML version 1.1 specification | ||
addDocumentType | boolean | add reference to SGML document type definition | ||
cssReference | string | URL: string. Add reference to specified CSS to document | ||
cssFile | *string | File | TextFile* | filename: string. Embed content of specified CSS into document |
expandInline | boolean | expand short content items inline (default) | ||
neverExpandInline | boolean | never expand content items inline | ||
alwaysExpandInline | boolean | always expand content items inline | ||
renderFullData | boolean | render full data of content items | ||
sectionTitleInline | boolean | render section titles inline, not separately | ||
documentTypeTitle | boolean | use document type as document title (default) | ||
patientInfoTitle | boolean | use patient information as document title | ||
noDocumentHeader | boolean | do not render general document information | ||
renderInlineCodes | boolean | render codes in continuous text blocks | ||
conceptNameCodes | boolean | render code of concept names | ||
numericUnitCodes | boolean | render code of numeric measurement units | ||
codeValueUnit | boolean | use code value as measurement unit (default) | ||
codeMeaningUnit | boolean | use code meaning as measurement unit | ||
renderAllCodes | boolean | render all codes (implies +Ci, +Cn and +Cu) | ||
codeDetailsTooltip | boolean | render code details as a tooltip (implies +Cc) | ||
webWorker | null or Worker or boolean | WebWorker for computation. Set to null to create a new worker. Or, pass an existing worker. Or, set to false to run in the current thread / worker. | ||
noCopy | boolean | When SharedArrayBuffer's are not available, do not copy inputs. |
StructuredReportToHtmlResult
interface:
Property | Type | Description |
---|---|---|
outputText | string | Output text file |
webWorker | Worker | WebWorker used for computation. |
structuredReportToText
Read a DICOM structured report file and generate a plain text representation
async function structuredReportToText(
dicomFile: File | BinaryFile,
options: StructuredReportToTextOptions = {}
) : Promise<StructuredReportToTextResult>
Parameter | Type | Description | |
---|---|---|---|
dicomFile | *File | BinaryFile* | Input DICOM file |
StructuredReportToTextOptions
interface:
Property | Type | Description |
---|---|---|
unknownRelationship | boolean | Accept unknown relationship type |
invalidItemValue | boolean | Accept invalid content item value |
ignoreConstraints | boolean | Ignore relationship constraints |
ignoreItemErrors | boolean | Ignore content item errors |
skipInvalidItems | boolean | Skip invalid content items |
noDocumentHeader | boolean | Print no document header |
numberNestedItems | boolean | Number nested items |
shortenLongValues | boolean | Shorten long item values |
printInstanceUid | boolean | Print SOP Instance UID |
printSopclassShort | boolean | Print short SOP class name |
printSopclassLong | boolean | Print SOP class name |
printSopclassUid | boolean | Print long SOP class name |
printAllCodes | boolean | Print all codes |
printInvalidCodes | boolean | Print invalid codes |
printTemplateId | boolean | Print template identification |
indicateEnhanced | boolean | Indicate enhanced encoding mode |
printColor | boolean | Use ANSI escape codes |
webWorker | null or Worker or boolean | WebWorker for computation. Set to null to create a new worker. Or, pass an existing worker. Or, set to false to run in the current thread / worker. |
noCopy | boolean | When SharedArrayBuffer's are not available, do not copy inputs. |
StructuredReportToTextResult
interface:
Property | Type | Description |
---|---|---|
outputText | string | Output text file |
webWorker | Worker | WebWorker used for computation. |
readDicomTags
Read the tags from a DICOM file
async function readDicomTags(
dicomFile: File | BinaryFile,
options: ReadDicomTagsOptions = {}
) : Promise<ReadDicomTagsResult>
Parameter | Type | Description | |
---|---|---|---|
dicomFile | *File | BinaryFile* | Input DICOM file. |
ReadDicomTagsOptions
interface:
Property | Type | Description | |
---|---|---|---|
tagsToRead | JsonCompatible | A JSON object with a "tags" array of the tags to read. If not provided, all tags are read. Example tag: "0008 | 103e". |
webWorker | null or Worker or boolean | WebWorker for computation. Set to null to create a new worker. Or, pass an existing worker. Or, set to false to run in the current thread / worker. | |
noCopy | boolean | When SharedArrayBuffer's are not available, do not copy inputs. |
ReadDicomTagsResult
interface:
Property | Type | Description |
---|---|---|
tags | JsonCompatible | Output tags in the file. JSON object an array of tag, value arrays. Values are encoded as UTF-8 strings. |
webWorker | Worker | WebWorker used for computation. |
readImageDicomFileSeries
Read a DICOM image series and return the associated image volume
async function readImageDicomFileSeries(
options: ReadImageDicomFileSeriesOptions = { inputImages: [] as BinaryFile[] | File[] | string[], }
) : Promise<ReadImageDicomFileSeriesResult>
Parameter | Type | Description |
---|
ReadImageDicomFileSeriesOptions
interface:
Property | Type | Description | ||
---|---|---|---|---|
inputImages | *string[] | File[] | BinaryFile[]* | File names in the series |
singleSortedSeries | boolean | The input files are a single sorted series | ||
webWorker | null or Worker or boolean | WebWorker for computation. Set to null to create a new worker. Or, pass an existing worker. Or, set to false to run in the current thread / worker. | ||
noCopy | boolean | When SharedArrayBuffer's are not available, do not copy inputs. |
ReadImageDicomFileSeriesResult
interface:
Property | Type | Description |
---|---|---|
outputImage | Image | Output image volume |
sortedFilenames | JsonCompatible | Output sorted filenames |
webWorker | Worker | WebWorker used for computation. |
setPipelinesBaseUrl
Set base URL for WebAssembly assets when vendored.
function setPipelinesBaseUrl(
baseUrl: string | URL
) : void
getPipelinesBaseUrl
Get base URL for WebAssembly assets when vendored.
function getPipelinesBaseUrl() : string | URL
Node interface
Import:
import {
applyPresentationStateToImageNode,
readDicomEncapsulatedPdfNode,
structuredReportToHtmlNode,
structuredReportToTextNode,
readDicomTagsNode,
readImageDicomFileSeriesNode,
} from "@itk-wasm/dicom"
applyPresentationStateToImageNode
Apply a presentation state to a given DICOM image and render output as bitmap, or dicom file.
async function applyPresentationStateToImageNode(
imageIn: string,
presentationStateFile: string,
options: ApplyPresentationStateToImageNodeOptions = {}
) : Promise<ApplyPresentationStateToImageNodeResult>
Parameter | Type | Description |
---|---|---|
imageIn | string | Input DICOM file |
presentationStateFile | string | Process using presentation state file |
ApplyPresentationStateToImageNodeOptions
interface:
Property | Type | Description |
---|---|---|
colorOutput | boolean | output image as RGB (default: false) |
configFile | string | filename: string. Process using settings from configuration file |
frame | number | frame: integer. Process using image frame f (default: 1) |
noPresentationStateOutput | boolean | Do not get presentation state information in text stream. |
noBitmapOutput | boolean | Do not get resulting image as bitmap output stream. |
ApplyPresentationStateToImageNodeResult
interface:
Property | Type | Description |
---|---|---|
presentationStateOutStream | JsonCompatible | Output overlay information |
outputImage | Image | Output image |
readDicomEncapsulatedPdfNode
Extract PDF file from DICOM encapsulated PDF.
async function readDicomEncapsulatedPdfNode(
dicomFile: string,
options: ReadDicomEncapsulatedPdfNodeOptions = {}
) : Promise<ReadDicomEncapsulatedPdfNodeResult>
Parameter | Type | Description |
---|---|---|
dicomFile | string | Input DICOM file |
ReadDicomEncapsulatedPdfNodeOptions
interface:
Property | Type | Description |
---|---|---|
readFileOnly | boolean | read file format only |
readDataset | boolean | read data set without file meta information |
readXferAuto | boolean | use TS recognition (default) |
readXferDetect | boolean | ignore TS specified in the file meta header |
readXferLittle | boolean | read with explicit VR little endian TS |
readXferBig | boolean | read with explicit VR big endian TS |
readXferImplicit | boolean | read with implicit VR little endian TS |
acceptOddLength | boolean | accept odd length attributes (default) |
assumeEvenLength | boolean | assume real length is one byte larger |
enableCp246 | boolean | read undefined len UN as implicit VR (default) |
disableCp246 | boolean | read undefined len UN as explicit VR |
retainUn | boolean | retain elements as UN (default) |
convertUn | boolean | convert to real VR if known |
enableCorrection | boolean | enable automatic data correction (default) |
disableCorrection | boolean | disable automatic data correction |
ReadDicomEncapsulatedPdfNodeResult
interface:
Property | Type | Description |
---|---|---|
pdfBinaryOutput | Uint8Array | Output pdf file |
structuredReportToHtmlNode
Render DICOM SR file and data set to HTML/XHTML
async function structuredReportToHtmlNode(
dicomFile: string,
options: StructuredReportToHtmlNodeOptions = {}
) : Promise<StructuredReportToHtmlNodeResult>
Parameter | Type | Description |
---|---|---|
dicomFile | string | Input DICOM file |
StructuredReportToHtmlNodeOptions
interface:
Property | Type | Description | ||
---|---|---|---|---|
readFileOnly | boolean | read file format only | ||
readDataset | boolean | read data set without file meta information | ||
readXferAuto | boolean | use TS recognition (default) | ||
readXferDetect | boolean | ignore TS specified in the file meta header | ||
readXferLittle | boolean | read with explicit VR little endian TS | ||
readXferBig | boolean | read with explicit VR big endian TS | ||
readXferImplicit | boolean | read with implicit VR little endian TS | ||
processingDetails | boolean | show currently processed content item | ||
unknownRelationship | boolean | accept unknown/missing relationship type | ||
invalidItemValue | boolean | accept invalid content item value | ||
(e.g. violation of VR or VM definition) | ||||
ignoreConstraints | boolean | ignore relationship content constraints | ||
ignoreItemErrors | boolean | do not abort on content item errors, just warn | ||
(e.g. missing value type specific attributes) | ||||
skipInvalidItems | boolean | skip invalid content items (incl. sub-tree) | ||
disableVrChecker | boolean | disable check for VR-conformant string values | ||
charsetRequire | boolean | require declaration of ext. charset (default) | ||
charsetAssume | string | charset: string, assume charset c if no extended charset declared | ||
charsetCheckAll | boolean | check all data elements with string values | ||
(default: only PN, LO, LT, SH, ST, UC and UT) | ||||
convertToUtf8 | boolean | convert all element values that are affected | ||
by Specific Character Set (0008,0005) to UTF-8 | ||||
urlPrefix | string | URL: string. Append specificed URL prefix to hyperlinks of referenced composite objects in the document. | ||
html32 | boolean | use only HTML version 3.2 compatible features | ||
html40 | boolean | allow all HTML version 4.01 features (default) | ||
xhtml11 | boolean | comply with XHTML version 1.1 specification | ||
addDocumentType | boolean | add reference to SGML document type definition | ||
cssReference | string | URL: string. Add reference to specified CSS to document | ||
cssFile | *string | File | TextFile* | filename: string. Embed content of specified CSS into document |
expandInline | boolean | expand short content items inline (default) | ||
neverExpandInline | boolean | never expand content items inline | ||
alwaysExpandInline | boolean | always expand content items inline | ||
renderFullData | boolean | render full data of content items | ||
sectionTitleInline | boolean | render section titles inline, not separately | ||
documentTypeTitle | boolean | use document type as document title (default) | ||
patientInfoTitle | boolean | use patient information as document title | ||
noDocumentHeader | boolean | do not render general document information | ||
renderInlineCodes | boolean | render codes in continuous text blocks | ||
conceptNameCodes | boolean | render code of concept names | ||
numericUnitCodes | boolean | render code of numeric measurement units | ||
codeValueUnit | boolean | use code value as measurement unit (default) | ||
codeMeaningUnit | boolean | use code meaning as measurement unit | ||
renderAllCodes | boolean | render all codes (implies +Ci, +Cn and +Cu) | ||
codeDetailsTooltip | boolean | render code details as a tooltip (implies +Cc) |
StructuredReportToHtmlNodeResult
interface:
Property | Type | Description |
---|---|---|
outputText | string | Output text file |
structuredReportToTextNode
Read a DICOM structured report file and generate a plain text representation
async function structuredReportToTextNode(
dicomFile: string,
options: StructuredReportToTextNodeOptions = {}
) : Promise<StructuredReportToTextNodeResult>
Parameter | Type | Description |
---|---|---|
dicomFile | string | Input DICOM file |
StructuredReportToTextNodeOptions
interface:
Property | Type | Description |
---|---|---|
unknownRelationship | boolean | Accept unknown relationship type |
invalidItemValue | boolean | Accept invalid content item value |
ignoreConstraints | boolean | Ignore relationship constraints |
ignoreItemErrors | boolean | Ignore content item errors |
skipInvalidItems | boolean | Skip invalid content items |
noDocumentHeader | boolean | Print no document header |
numberNestedItems | boolean | Number nested items |
shortenLongValues | boolean | Shorten long item values |
printInstanceUid | boolean | Print SOP Instance UID |
printSopclassShort | boolean | Print short SOP class name |
printSopclassLong | boolean | Print SOP class name |
printSopclassUid | boolean | Print long SOP class name |
printAllCodes | boolean | Print all codes |
printInvalidCodes | boolean | Print invalid codes |
printTemplateId | boolean | Print template identification |
indicateEnhanced | boolean | Indicate enhanced encoding mode |
printColor | boolean | Use ANSI escape codes |
StructuredReportToTextNodeResult
interface:
Property | Type | Description |
---|---|---|
outputText | string | Output text file |
readDicomTagsNode
Read the tags from a DICOM file
async function readDicomTagsNode(
dicomFile: string,
options: ReadDicomTagsNodeOptions = {}
) : Promise<ReadDicomTagsNodeResult>
Parameter | Type | Description |
---|---|---|
dicomFile | string | Input DICOM file. |
ReadDicomTagsNodeOptions
interface:
Property | Type | Description | |
---|---|---|---|
tagsToRead | JsonCompatible | A JSON object with a "tags" array of the tags to read. If not provided, all tags are read. Example tag: "0008 | 103e". |
ReadDicomTagsNodeResult
interface:
Property | Type | Description |
---|---|---|
tags | JsonCompatible | Output tags in the file. JSON object an array of tag, value arrays. Values are encoded as UTF-8 strings. |
readImageDicomFileSeriesNode
Read a DICOM image series and return the associated image volume
async function readImageDicomFileSeriesNode(
options: ReadImageDicomFileSeriesNodeOptions = { inputImages: [] as string[], }
) : Promise<ReadImageDicomFileSeriesNodeResult>
Parameter | Type | Description |
---|
ReadImageDicomFileSeriesNodeOptions
interface:
Property | Type | Description | ||
---|---|---|---|---|
inputImages | *string[] | File[] | BinaryFile[]* | File names in the series |
singleSortedSeries | boolean | The input files are a single sorted series |
ReadImageDicomFileSeriesNodeResult
interface:
Property | Type | Description |
---|---|---|
outputImage | Image | Output image volume |
sortedFilenames | JsonCompatible | Output sorted filenames |