Registering Custom Codec with DicomObjects.NET
- Create new CodecFactory class
- Implement DicomObjects.DicomCodecs.IDecompressor
- Implement DicomObjects.DicomCodecs.ICompressor interface
- Registering your CodecFactory with DicomObjects.NET
Out of the many label types available in DicomObjects.NET, LabelType.Image can be used to directly reference a System.Drawing.Image object (jpg, png, bmp, etc) and to be rendered as a DicomLabel on the viewer.
Directly importing compressed data into DICOM is possible by the _SetCompressedPixelFile_ method which maps an external file as the compressed pixel data of that DicomImage instance. Unlike the import method, this just sets the pixel data and nothing else, so it is required to update the rest yourself (e.g. bit depth, frame count, etc). Example code snippet with dummy values : int width = 1280; int height=720; int frameRate=25; // 25 frames per seconds for example float duration = 5; // 5 seconds the total duration of video, for example string transferSyntax = "1.
Sample code for general purpose colour/opacity adjustment.
The result might not good good on particular data because this is intended purely for demonstration purposes!
For information on how to use the Application Signing Tool, see the Application Signing Keys article. To sign the asp.net web application is the same process, but with some extra steps to follow: Sign YourWebApplication.DLL Make sure the target platform matches the IIS Application Pool’s platform (2.0 vs 2.0 or 4.0 vs 4.0) Under Project Properties -> “Package/Publish Web”, select “All files in this project” option under “Items to deploy” Disable shadowCopyBinAssemblies in the Web.
Sorting Images using DicomObjects.NET is slightly different from using the COM version, but the user has more flexibility as we provide an ArrayList wrapper to the DicomImageCollection object so that people can use all ArrayList’s intrinsic methods to arrange the sorting. However, you still need to write your own “Comparer” routine in order to use the “Sort” method of the ArrayList object, and by doing so you can have customized sorting facilities to suit your need.
It is possible to choose which outgoing interface to use when making an outgoing DICOM association using code such as below:
The new validation method is designed to give users more granularity and detailed results. Here are details about the API changes: The API call is an overload of ValidateAll(ValidationOptions), as opposed to ValidateAll() without any parameter that returns combined validation exceptions as you’ve seen before, it is there for backward compatibility and will be replaced in the next major version. The new ValidationOptions parameter allows you to specify refined checks of the attributes based on the VR type as defined in the DICOM Value Representations.