Add DICOM Store SCP

Issue #41 resolved
Ed McDonagh created an issue

Use pynetdicom to simplify setup, and allow query of PACS

Comments (30)

  1. Ed McDonagh reporter

    Added in some of the comments to see what is happening. Changed to obtain SOPInstanceUID from the read file rather than trying to overwrite it. Attempted to use Explicit VR Little Endian, but not currently working. Refs #41.

    → <<cset 104a6cb9d510>>

  2. Ed McDonagh reporter

    Added RDSR and Philips CT. Assuming it works, next thing is to work out where the objects are stored whilst they are processed, whether they are deleted or not, and whether they should be passed on to Celery. Refs #41

    → <<cset 819d7713577a>>

  3. Ed McDonagh reporter

    Replacing ugly hack to add dev folder on my laptop to python sys.path with ugly hack I've used elsewhere that should work for everyone. Refs #41

    → <<cset 0a5be6ca123c>>

  4. Ed McDonagh reporter

    If you get a chance @dplatten take a look at the DICOM Store SCP. Navigate to the openrem/remapp/netdicom folder and launch the Store SCP with something like:

    python storescp.py -aet TEST 8104
    

    Then in another shell, find some DICOM files (any of mammo, DX/CR, Philips CT dose screen, or RDSR), and use another tool such as the DCMTK one to send to the server, eg:

    storescu -aec TEST localhost 8104 filename.dcm
    

    or

    find folderofdicom/ -type f -exec storescu -aec TEST localhost 8104 {} \;
    

    and profit :-)

  5. Ed McDonagh reporter

    Yes, and better than that it will ultimately have a facility to query-retrieve the PACS or similar on either an ad-hoc or scheduled basis, controlled from the web interface.

    What do you think?

  6. Ed McDonagh reporter

    storescp now runs with no arguments, taking AET and port from optional arguments, or local_settings, or defaults if neither of the others exist.

    → <<cset cb64f3d>>

  7. Ed McDonagh reporter

    Added in test for pynetdicom being installed as it will need to be installed manually, as well as testing for pynetdicom version number, as the currently released version on pypi won't work, so for now it needs to be obtained from my fork. Need to test with no pynetdicom and with pip installed pynetdicom. Refs #41

    → <<cset a8dd012c6cc3>>

  8. Ed McDonagh reporter

    Now stores DICOM files in MEDIA_ROOT in a dicom_in folder with a subfolder of date/month/day with reference to when the file was recieved. Refs #41

    → <<cset b0f185e9a85d>>

  9. Ed McDonagh reporter

    Added individual setting for deleting unmatched DICOM and each of the extractor options. Corrected several errors in previous changes. Added default settings (delete all) to the example local_settings. Refs #41

    → <<cset 0cc5ed037e8d>>

  10. Ed McDonagh reporter

    Bringing develop up to date with the DICOM network developments in issue41DICOM branch. Hopefully is now in a position to release as a preview, but it needs documentation. Refs #41

    → <<cset ee7a011ad20b>>

  11. Ed McDonagh reporter

    First draft of DICOM networking documentation. Changed the default for deleting non-matched objects to True. Left the others as False so as to not change the behaviour for existing installations. Refs #41

    → <<cset 5a31c168f9b4>>

  12. Log in to comment