Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

DICOM SR

55 views
Skip to first unread message

Hanier Abreu

unread,
Nov 9, 2022, 8:43:34 AM11/9/22
to
Hello, I am developing my undergraduate thesis and I need your help.
I am working on a platform that uses C# as the programming language.
The idea is to get that system to create DICOM SR and also digitally sign them.
But the problem is that I can't find a C# library that has implemented methods that solve my problem.
I found a library (DCMTK) that does everything I need, but it's developed in C++ and I don't know how to use it for C#.
Can someone who knows about the subject help me?
Thank you

Chris O'Donnell

unread,
Nov 9, 2022, 9:21:53 AM11/9/22
to
Hi, with respect to C# wrapper libs:
https://gdcm.sourceforge.net/wiki/index.php/Main_Page
GDCM has a C# library, and is a very mature DICOM library.

In fact, Mathieu on this forum is an active lead developer of this fine library.

For paid library, if that's a possibility, MergeCom DICOM library also has a C# wrapper.

Many thanks,
-Chris O

Mathieu Malaterre

unread,
Nov 9, 2022, 11:51:11 AM11/9/22
to
Honestly if you have everything working with DCMTK, just stick with it. On windows you can use C#/CLI to get things nicely integrated. Otherwise you can look into SWIG, and when all else fails expose a C function and call it using P/Invoke.

You won't find much of the above in GDCM AFAIK ;)

Chris O'Donnell

unread,
Nov 9, 2022, 9:42:31 PM11/9/22
to
Right, I forgot to mention what may or may not be obvious: those two DICOM libs have nice C# wrappers and might provide some convenience for dealing with SR structures (which are rather odd), but everything else on your list is do-it-yourself ; -)

However, if you think the DCMTK solves all your needs, then your problem is reduced to making your own C# wrapper, C++/CLI is the way to go, yes it's C++ plus some .NET syntax, but much recommended over SWIG and implicit P/Invoke, those are exercises in pain. Specifically you'll discover issues by runtime crashes instead of having your friendly C++/CLI compiler help you out at compile time.

-thanks

0 new messages