Alter DICOM tags without saving

178 Views Asked by At

I'm using EvilDicom to grab DICOM data from my DB and transfer it out to a directory where it can be used another program. The secondary program checks in for new files periodically but I need to change a DICOM tag before it does.

I could have a temp location, change my tag, then resave it but I would rather change it while it is in memory and write it directly where it needs to go. I can't seem to figure out how to do that within the EvilDicom API.

Any suggestions?

(Following the basic code in "EvilDICOM in ESAPI" youtube video)

1

There are 1 best solutions below

0
RexCardan On

Take a look at the FileWriterSCP class. Just change the DIMSEService.CStorePayloadAction action which gives you the DICOM file in memory.

        DIMSEService.CStorePayloadAction = (dcm, asc) =>
        { 
            //DO STUFF WITH dcm variable HERE
        }

The cleanest way is to not manipulate in memory because you rely on EvilDICOM's SCP to be robust, and since I made it, I can tell you its just "pretty good" ;) I would use a DICOM SCP like Varian's FileDaemon to catch and write files and then change them once they are on the hard-drive.