Please join the Google group for updates and support. Binaries are available from GitHub and NuGet.
- 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
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");
var image = new DicomImage(@"test.dcm");
image.RenderImage().Save(@"test.jpg");
var client = new DicomClient();
client.AddRequest(new DicomCStoreRequest(@"test.dcm"));
client.Send("127.0.0.1", 12345, false, "SCU", "ANY-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");
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");
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");
- Colby Dillion
- Anders Gustafsson (Cureos AB)
- Hesham Desouky (Nebras Technology)
- Ian Yates
- Chris Horn
- Mahesh Dubey
- Justin Wake
- captainstark
This library is licensed under the Microsoft Public License (MS-PL). See License.txt for more information.