DicomKit 1.0.0
dotnet add package DicomKit --version 1.0.0
NuGet\Install-Package DicomKit -Version 1.0.0
<PackageReference Include="DicomKit" Version="1.0.0" />
<PackageVersion Include="DicomKit" Version="1.0.0" />
<PackageReference Include="DicomKit" />
paket add DicomKit --version 1.0.0
#r "nuget: DicomKit, 1.0.0"
#:package DicomKit@1.0.0
#addin nuget:?package=DicomKit&version=1.0.0
#tool nuget:?package=DicomKit&version=1.0.0
DicomKit
High-throughput, low-allocation, fuzz-resistant DICOM toolkit for .NET 8, .NET 9 and .NET 10.
Free Developer key for development and testing; yearly Pro / Enterprise plans for production. A license key is required since 1.0.0: get the free key in a minute at https://dicomkit.plogic.dev/DeveloperKey.
- Parser that never throws on bad data: every defect becomes a
DicomParseIssuewith a placeholder node. - Large files: multi-gigabyte objects with memory bounded by the metadata; lazy, per-frame pixel access.
- Network on
System.IO.Pipelines: SCP and SCU for C-ECHO, C-STORE, C-FIND (Patient / Study Root), Modality Worklist, C-MOVE and C-GET, with per-association back-pressure, C-CANCEL and SCP/SCU role selection.DicomQuerybuilds identifiers;DicomQueryMatcherdoes PS3.4 matching for your own SCP. - Conversion: PDF to Encapsulated PDF, JPEG / PNG / BMP to Secondary Capture (
DicomConverter). - Batch processing (non-DICOM inputs skipped), attribute mapping (
dataset.MapTo<T>()), PS3.15-style anonymization and channel-routed audit logging.
Getting started
using DicomKit;
using DicomKit.IO;
using DicomKit.Network;
using var file = await DicomFile.OpenAsync("image.dcm"); // metadata parsed, pixels untouched
Console.WriteLine(file.Dataset.GetString(DicomTag.PatientName));
await using var client = await DicomClient.ConnectAsync("pacs.example.org", 104,
new DicomClientOptions { CalledAE = "PACS", StorageSopClasses = [DicomUids.CTImageStorage] });
await client.EchoAsync();
await client.StoreAsync(file);
await client.ReleaseAsync();
C-STORE SCP as a hosted service:
using DicomKit;
builder.Services.AddDicomKit(o => o.Logging.Directory = @"D:\logs\dicom");
builder.Services.AddDicomKitServer(@"D:\incoming", s => { s.Port = 11112; s.AeTitle = "DICOMKIT_SCP"; });
Companion packages
- DicomKit.Imaging: decode and render pixel data (RLE, JPEG, JPEG-LS, JPEG 2000), windowing and LUTs, PNG / JPEG export, thumbnails.
- DicomKit.Web: DICOM JSON and XML, streaming multipart, and a QIDO-RS / WADO-RS / STOW-RS client.
- DicomKit.Web.AspNetCore: DICOMweb server endpoints
for ASP.NET Core (
app.MapDicomWeb()).
Licensing
A license key is required (since 1.0.0). A free Developer key (all features, development and testing, one machine) takes a minute: https://dicomkit.plogic.dev/DeveloperKey. Production use needs a yearly Pro or Enterprise plan, with no runtime or per-deployment fees.
// ASP.NET Core / generic host: activated online at startup
builder.Services.AddDicomKit(o => o.Licensing.LicenseKey = builder.Configuration["DicomKit:LicenseKey"]);
// any other app: activate once (online), or install a license file (offline)
await DicomKit.Licensing.DicomKitLicense.SetAsync("PLGIC-XXX-XXXXX-XXXXX-XXXXX-XXXXX");
DicomKit.Licensing.DicomKitLicense.SetFromFile("license.lic");
Without a key, licensed operations throw DicomKitLicenseException with a link to get one. A lapsed or expired license
never stops running work: it falls back to the free Community feature level. Activation guide, offline (air-gapped)
activation and moving machines: https://dicomkit.plogic.dev/Docs#license. Support: support@plogic.dev, replies within
24 hours.
DicomKit is a developer library, not a medical device: validating and certifying a product built with it for diagnostic or clinical use is the integrator's responsibility.
Documentation
- Repository and full README: https://dicomkit.plogic.dev
- Networking (C-FIND, worklist, C-MOVE, C-GET): https://dicomkit.plogic.dev/Docs#networking
- Large files: https://dicomkit.plogic.dev/Docs#large-files
- Conversion: https://dicomkit.plogic.dev/Docs#conversion
- Release notes: https://dicomkit.plogic.dev/Docs
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.13)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.13)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.13)
-
net8.0
- Microsoft.Bcl.Memory (>= 10.0.13)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.13)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.13)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.13)
- System.IO.Pipelines (>= 10.0.13)
-
net9.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.13)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.13)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.13)
- System.IO.Pipelines (>= 10.0.13)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on DicomKit:
| Package | Downloads |
|---|---|
|
DicomKit.Web
DICOMweb for DicomKit: DICOM JSON Model and Native DICOM Model (XML) serializers, a streaming multipart/related reader and writer with size limits, and an HttpClient-based QIDO-RS / WADO-RS / STOW-RS / UPS-RS client that streams studies as IAsyncEnumerable without buffering whole responses. Requires a license key: free Developer key for development and testing, Pro / Enterprise plans for production (https://dicomkit.plogic.dev). |
|
|
DicomKit.Imaging
Decode and render DICOM images with DicomKit: native and compressed pixel data (RLE, JPEG baseline / extended / lossless, JPEG-LS, JPEG 2000) in pure managed code, modality and VOI LUTs (window center/width LINEAR, LINEAR_EXACT, SIGMOID, LUT sequences), MONOCHROME1/2, RGB, YBR and PALETTE COLOR, multi-frame, thumbnails, and PNG / JPEG export. Requires a license key: free Developer key for development and testing, Pro / Enterprise plans for production (https://dicomkit.plogic.dev). |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 171 | 10/27/2026 |