Thursday, February 09, 2012
Google Custom Search

ClearCanvas Highlights

Download our Open Source software
Watch some Videos
Get the Source
Check out our Licensing
Join our  Forums
Some Research: OICR IPP-Trials

Our Community

Membership Membership:
Latest New User Latest: tchlee
New Today New Today: 16
New Yesterday New Yesterday: 26
User Count Overall: 20579

People Online People Online:
Visitors Visitors: 18
Members Members: 4
Total Total: 22

Online Now Online Now:
01: jbluks
02: dgicovate
03: munir24hr
04: bjvail

ClearCanvas Community Forums

Sending non part 10 DICOM file with StorageScu
Last Post 2010-06-29 10:50 PM by stewart. 2 Replies.
Printer Friendly
Sort:
PrevPrev NextNext
You are not authorized to post a reply.
Author Messages
jonas
Basic Member
Basic Member
Posts:17

--
2010-06-24 09:26 AM  

I'm using the StorageScu class to send DICOM images. Unfortunately I've (many) DICOM files that are NOT in part 10 format, and it seems like StorageScu will (only?) send DICOM part 10 files.

I can still open the DICOM files using "dicomFile.Load(DicomReadOptions.Default)" and process it as normal, but opening it with DicomReadOptions.DoNotStorePixelDataInDataSet will throw an exception as it is not DICOM part 10 format file.

How can I force the StorageScu to send non part 10 files? And what is the difference in loading a file with DicomReadOptions.Default, ReadNonPart10Files, and DoNotStorePixelDataInDataSet?

jonas
Basic Member
Basic Member
Posts:17

--
2010-06-28 05:01 AM  
Ok, I found the solution my self - but it isn't optimal!

The "non part 10 format" exception is thrown in the DicomFile class during Load if the ReadNonPart10Files flag is NOT set. When i add a file to the scu i use AddFile(string name) so the scu will create a StorageInstance which will load the dicom file with the default flags - thus not allowing non part 10 format.

So, to load non part 10 dicom files i add files to the scu using the AddStorageInstance function instead of AddFile:

// for each file to send..
DicomFile dcmFile = new DicomFile(fname);
dcmFile.Load(DicomReadOptions.ReadNonPart10Files); // force non part 10 format
scu.AddStorageInstance(new StorageInstance(dcmFile));

I assume this will force it to load ALL dicom data into memory before sending data, which is very inefficient if the contains image data!

To minimize the memory consumption I check to see if the dicom file is part 10 format and use AddFile, else AddStorageInstance

Any comments on this topic?
stewart
Senior Member
Senior Member
Posts:2032

--
2010-06-29 10:50 PM  
Have you tried different combinations of the flags, like: DicomReadOptions.Default | DicomReadOptions.ReadNonPart10Files | DicomReadOptions.StorePixelDataReferences?

You probably don't want to use DoNotStorePixelDataInDataSet, as it will never load the pixel data, and hence it will not be sent. You probably want StorePixelDataReferences.
Real-time support available to Clinical Edition and Team Edition customers
You are not authorized to post a reply.

Active Forums 4.1
Copyright 2011 ClearCanvas Inc.