Skip to content
This is no longer the primary project. See →
C C# C++
Branch: development
Clone or download
Pull request Compare This branch is 1638 commits behind fo-dicom:development.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.nuget upgraded to vs 2013 Feb 25, 2015
DICOM [Native]
DICOM [Unit Tests]
DICOM Change grayscale color map via DicomImage. Fixes fo-dicom#79 Sep 8, 2015
Logging Added log4net connector project. Issue fo-dicom#76 Aug 26, 2015
Publish Added .nuspec file for log4net connector. Fixes fo-dicom#76 Aug 26, 2015
Tools Re-formatted code in tools and examples. Issue fo-dicom#61 Aug 5, 2015
packages Added log4net connector project. Issue fo-dicom#76 Aug 26, 2015
Create Distribution Package.bat fix NLog reference in distribution package Jul 16, 2014
DICOM.sln Added log4net connector project. Issue fo-dicom#76 Aug 26, 2015
License.txt Re-organized badges Aug 5, 2015
SharedAssemblyInfo.cs Updated NLog and Serilog projects to use shared assembly info. Issue f… Jun 25, 2015

Fellow Oak DICOM for .NET

NuGet Build status Stories in Ready Join the chat at [//]: # ( NuGet Pre Release )


  • Targets .NET 4.5 and higher
  • DICOM dictionary version 2015c
  • High-performance, fully asynchronous API
  • JPEG (including lossless), JPEG-LS, JPEG2000, and RLE image compression
  • Supports very large datasets with content loading on demand
  • Image rendering


File Operations

var file = DicomFile.Open(@"test.dcm");

var patientid = file.Dataset.Get<string>(DicomTag.PatientID);

file.Dataset.Add(DicomTag.PatientsName, "DOE^JOHN");

// creates a new instance of DicomFile
file = file.ChangeTransferSyntax(DicomTransferSyntax.JPEGProcess14SV1);


Render Image to JPEG

var image = new DicomImage(@"test.dcm");

C-Store SCU

var client = new DicomClient();
client.AddRequest(new DicomCStoreRequest(@"test.dcm"));
client.Send("", 12345, false, "SCU", "ANY-SCP");


var server = new DicomServer<DicomCEchoProvider>(12345);

var client = new DicomClient();
for (int i = 0; i < 10; i++)
    client.AddRequest(new DicomCEchoRequest());
client.Send("", 12345, false, "SCU", "ANY-SCP");

C-Find SCU

var cfind = DicomCFindRequest.CreateStudyQuery(patientId: "12345");
cfind.OnResponseReceived = (DicomCFindRequest rq, DicomCFindResponse rp) => {
	Console.WriteLine("Study UID: {0}", rp.Dataset.Get<string>(DicomTag.StudyInstanceUID));

var client = new DicomClient();
client.Send("", 104, false, "SCU-AE", "SCP-AE");

C-Move SCU

var cmove = new DicomCMoveRequest("DEST-AE", studyInstanceUid);

var client = new DicomClient();
client.Send("", 104, false, "SCU-AE", "SCP-AE");



This library is licensed under the Microsoft Public License (MS-PL). See License.txt for more information.

You can’t perform that action at this time.