suyashdb / pydicom

Automatically exported from code.google.com/p/pydicom
0 stars 0 forks source link

Add DICOMDIR abilities #7

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
Write code to parse DICOMDIR files (need a short one for unit tests also).

Original issue reported on code.google.com by darcymason@gmail.com on 15 Sep 2008 at 11:04

GoogleCodeExporter commented 8 years ago
Move up to release 1.0. Have looked at and need only read the file into a 
dataset and
reorganize "flat" directory records into a hierarchical tree to make more 
useful.
Will be useful for pydicom development to survey possible example files quickly.

Original comment by darcymason@gmail.com on 21 Oct 2008 at 3:39

GoogleCodeExporter commented 8 years ago

Original comment by darcymason@gmail.com on 26 Dec 2008 at 4:44

GoogleCodeExporter commented 8 years ago

Original comment by darcymason@gmail.com on 12 Jun 2009 at 3:21

GoogleCodeExporter commented 8 years ago
Here is a quick solution which works on the few DICOMDIRs I have at my 
disposition :
  * Patch filereader.py to add a ''file_tell'' member to the datasets, similar to the
one in data elements.
  * Build a dictionary mapping an offset to a record.
  * Find the children of each record based on
OffsetofReferencedLowerLevelDirectoryEntity and OffsetoftheNextDirectoryRecord. 
The
list of children is stored in a list called ''children'' in each record.
  * Find all top-level records, i.e. siblings of the first record.

Attached is a patch to filereader.py, and the two extra functions to get the 
siblings
of a record and to build the records hierarchy.

Original comment by l...@unistra.fr on 28 Jan 2010 at 5:19

Attachments:

GoogleCodeExporter commented 8 years ago
What is the status on this? Would it be easy to integrate the patch of previous 
comment in upstream?

FYI, I am currently looking for a Python library/wrapper to manipulate 
DICOM/DICOMDIR data. At the moment, I am making a technological survey.

Original comment by felix.mo...@gmail.com on 17 Apr 2012 at 8:51

GoogleCodeExporter commented 8 years ago
>> What is the status on this? Would it be easy to integrate the patch of 
previous comment in upstream?
Yes, it should be, I don't think the relevant parts have changed much up to the 
latest versions. There are only a few lines added to existing code, it looks 
like, and a couple of functions added.

If you are interested in using this, it should be pretty easy to find the 
relevant lines and try it in a local copy. My time is highly committed to other 
things for the next week or so.

I think I was originally hoping to look at this at a high level and integrate 
it into the code more fully (new classes etc). I hadn't noticed before that 
this is one of the most "starred" issues, and questions about DICOMDIR have 
come up a  number of times. I've set it as a higher priority and will try to 
put it in the planned 0.9.7-1 release (being developed in the 09x-series 
repository in the clones section). 

Original comment by darcymason@gmail.com on 18 Apr 2012 at 10:14

GoogleCodeExporter commented 8 years ago
I tested the patch successfully on a local copy of the code. I don't know if 
I'm doing things the way they should (I'm not that familiar with DICOM), but 
I've been able to create a 3D array containing my volume from my DICOMDIR files.

Original comment by felix.mo...@gmail.com on 19 Apr 2012 at 8:07

GoogleCodeExporter commented 8 years ago
Updating the issue with new information ... dicomdir support was added to the 
repository in Jan 2013 shortly after the 0.9.8 release, and an example file 
show_dicomdir.py added also.  Test files were added later (r 99af7f8458aa), but 
no formal unit tests have been included yet.

Original comment by darcymason@gmail.com on 21 Jul 2013 at 8:26