Interface: Profile
A source/vendor tolerance preset (Phase 6). A Profile bundles three
things that only ever tighten or annotate a parse - never loosen it
past the Postel's-Law default:
escalations- Tier-2 warning codes promoted to a thrownDicomParseError(a stricter posture for known-unsafe deviations).suppressions- Tier-2 warning codes silenced because they are a documented, benign quirk of the named source (annotation, not loss).privateDictionary- a private-creator-keyed overlay resolving the Implicit-VR of vendor private data elements via the file's live private-creator string (never a hard-coded block number).
Build one with defineProfile(); never hand-author the frozen shape.
Profiles are immutable and composable via extends.
Example
import { parseDicom, profiles } from "@cosyte/dicom";
const ds = parseDicom(buf, { profile: profiles.siemens });
console.log(ds.fileMeta?.transferSyntaxUID);
Properties
describe?
readonlyoptionaldescribe?: () =>string
Render a human-readable, deterministic one-line summary of the profile.
Returns
string
description?
readonlyoptionaldescription?:string
escalations
readonlyescalations:ReadonlySet<WarningCode>
lineage
readonlylineage: readonlystring[]
name
readonlyname:string
privateDictionary
readonlyprivateDictionary:ReadonlyMap<string,ReadonlyMap<string,PrivateTagDefinition>>
Creator string → canonical private-tag key ("GGGGxxEE", e.g.
"0029xx10") → definition. The xx placeholder stands for the
file-assigned private block byte, mirroring the published DICOM
private-dictionary notation; resolution is therefore by creator string,
never by a fixed block number.
suppressions
readonlysuppressions:ReadonlySet<WarningCode>