Skip to content
This is no longer the primary project. See →
Branch: development
Clone or download
Pull request Compare This branch is 1223 commits behind fo-dicom:development.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.nuget upgraded to vs 2013 Feb 25, 2015
ConsoleTest Re-formatted code in tools and examples. Issue fo-dicom#61 Aug 5, 2015
DICOM [Native]
DICOM [Unit Tests]
DICOM Change grayscale color map via DicomImage. Fixes fo-dicom#79 Sep 8, 2015
Examples Re-formatted code in tools and examples. Issue fo-dicom#61 Aug 5, 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
packages
.gitattributes add .gitattributes to help fix line-ending issues Sep 28, 2012
.gitignore
ChangeLog.md
Create Distribution Package.bat fix NLog reference in distribution package Jul 16, 2014
DICOM.gpState Fixed DICOMDIR Writing Nov 5, 2012
DICOM.sln
License.txt
README.md Re-organized badges Aug 5, 2015
SharedAssemblyInfo.cs Updated NLog and Serilog projects to use shared assembly info. Issue f… Jun 25, 2015
fo-dicom.targets

README.md

Fellow Oak DICOM for .NET

NuGet Build status Stories in Ready Join the chat at https://gitter.im/fo-dicom/fo-dicom [//]: # ( NuGet Pre Release )

Features

  • 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

Examples

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);

file.Save(@"output.dcm");

Render Image to JPEG

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

C-Store SCU

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

C-Echo SCU/SCP

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

var client = new DicomClient();
client.NegotiateAsyncOps();
for (int i = 0; i < 10; i++)
    client.AddRequest(new DicomCEchoRequest());
client.Send("127.0.0.1", 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.AddRequest(cfind);
client.Send("127.0.0.1", 104, false, "SCU-AE", "SCP-AE");

C-Move SCU

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

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

Contributors

License

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.