A new release of RZDCX - Fast Strike DICOM Toolkit is now available on RZ web site at XXX
This version include some bug fixes, new features and new sample applications.
The complete documentation can be found online in the following link: XXX
A table with a list of the changes and modifications, some of them were already available in release 1.0.1.3 can be found at the end of this post.
I'm going to take this opportunity to start a new thread in this blog that discusses professional aspects of software development in general and DICOM programming specifically.
Today I'm going to talk a bit about the DICOM File Meta Infomration AKA File Meta Header.
When saving a DICOM object to file, the application that saves the file should add to the DICOM object a header.
This header is comprised of:
This version include some bug fixes, new features and new sample applications.
The complete documentation can be found online in the following link: XXX
A table with a list of the changes and modifications, some of them were already available in release 1.0.1.3 can be found at the end of this post.
I'm going to take this opportunity to start a new thread in this blog that discusses professional aspects of software development in general and DICOM programming specifically.
Today I'm going to talk a bit about the DICOM File Meta Infomration AKA File Meta Header.
When saving a DICOM object to file, the application that saves the file should add to the DICOM object a header.
This header is comprised of:
- A preamble - 128 bytes that can be anything but are usually set to 0 (0x00),
- The DICOM magic number i.e. 4 bytes equals to DICM and
- A set of DICOM attributes of group 0002 (0x0002) encoded using Expilict Little Endian Transfer Syntax.
It is important to remember that the file meta information should be re-created by the saving application and that it is not part of the DICOM object and thus should be removed before sending the object by C-STORE for example.
The roles of the elements in group 0002 are:
- To specify the transfer syntax that is used for the DICOM object itself that may be different then LEE,
- To identify the saving application.
The first role is obvious but why do we need #2? Well, suppose that you find out that you have a problem with files that come from a specific application, so you can add code to your application that checks the application UID and version in the file meta header and cope with the problem accordingly.
In RZDCX, you can get the elements of the header simply by writing the following code (C#):
DCXOBJ obj = new DCXOBJ();
// Read the file
obj.openFile("DCMFILE");
// Get the header
DCXOBJ meta = obj.FileMetaInfo;
Now you can read elements from the header using getElementByTag.
DCXELM transferSyntax = meta.getElementByTag((int)DICOM_TAG_ENUM.TransferSyntaxUID);
So now you're asking how do I change it and the answer is you don't. Why not? because if you change it and someone finds a problem with the DICOM objects you create how can he know that it was generated by RZDCX :)
186 | todo | closed | 1.0.1.2 | COLOR Print is not working | edit |
Reported by XX: Color print session is not working with current RZ evaluation version. It throws an exception while Creating Page. Both Color and Gray Scale printing should be possible | |||||
185 | new | closed | Add support for PRINTER SOP Class as SCU | edit | |
Requested by XX | |||||
184 | code | closed | MPPS Set Request returns success even if the MPPS is deleted | edit | |
Need to verify following report:RZ API IDCXREQ::SendMPPSNSetRquest is giving the status as success in case of updating the deleted instance in server. The expected behavior is it should throw an exception or else there should be some callback mechanism which tells us the status as failure. Our suggestion: RZ needs to provide an implementation to verify the existence of created instance in server. OR IDCXREQ::SendMPPSNSetRquest should throw an exception in case of trying to update the deleted instance OR RZ should provide call back mechanism which gives the status as FAILURE in above scenario. | |||||
183 | new | closed | Modify MWL SCU to include date range query | edit | |
Use for example e->Value = "20100101-20101231"; | |||||
182 | code | closed | Create single project example with SCM SCU and SCM SCP | edit | |
make a single example program with both listener and a Storage Commit SCU that shows how to send and receive storage commit requests and results | |||||
181 | new | closed | Add license restricted API to modify META header elements | edit | |
Check special license flag to allow/block this option. Add parameter to special call of save to file | |||||
180 | code | closed | 1.0.1.1 | getElementByTag does not return NULL if element not found in object | edit |
Needs verification. Code review suggests this bug doesn't exist. Reported by XXXX. | |||||
179 | new | closed | Add example for private tags in RZDCX Sample Applications | edit | |
A simple example, can be added to create DICOM object example | |||||
178 | todo | closed | Add example of Multi-Frame Image creation | edit | |
For Bankuzi | |||||
No comments:
Post a Comment