Issue480ToshibaRDSRCreation

#123 Merged at d644cc5
Repository
Branch
issue480ToshibaRDSRCreation
Repository
Branch
develop
Author
  1. David Platten
Reviewers
Description
  • Initial commit for code to create RDSR from Toshiba dose summary image, and then update it with additional information contained in the associated images. Currently the code will create an RDSR and then add acquisition protocol names to each acquisition if they are missing from the intial RDSR but available in the CT image tags. References issue #480

  • Trying to update pitch, but the numeric value is in the wrong place at the moment. References issue #480

  • Pitch value is now added if it is not present in the initial RDSR but is available from the image tag data. References issue #480

  • kVp is now added if it is not present in the initial RDSR but is available from the image tag data. References issue #480

  • Modified the file layout so that it can be called using python.

    Added import in to OpenREM.

    Adding the extra study information doesn't seem to work at the moment.

    References issue #480

  • Updated how study-level information is found in the images and then used to update the initial RDSR. Need to see how this works with a clinical scan. References issue #480.

  • Put paths to various tools in local_settings.py.example. Import these into the Toshiba RDSR creation routine. Should make it easier when moving from one system to the next, and I think a good idea to keep the configuration in one place. References issue #480.

  • kVp now added to RDSR objects created from Toshiba CT scan images and dose summary files. References issue #480 and issue

  • Requested procedure now obtained from two possible locations in the image data. Uniqueness of acquisitions improved by combining acquisition number with acquisition time. Included the Lua script that I am using to run this routine. Conquest is configured to run the script using an import converter like this: ImportModality4 = CTReferences issue #480 and issue

  • Updated routine to create RDSR from Toshiba dose summary image. This is now called from a script in the Scripts Python folder. The routine itself is now run using celery by including @shared_task before the routine. This fixes a problem that I was having where importing Toshiba CT data using this routine blocked the celery task queue. References issue #480. I've also added an example dicom.ini file for Conquest, together with some Lua scripts that I am using to import data. I am now using Lua scripts in preference to Windows batch files. The current scripts contain some Windows-specific things, so aren't completely general at the moment. This references issue #150

  • Added the Toshiba CT rdsr creation routine to the extractor init.py file. Fixed an error in the extractor code. Made python line in script the same as other extractors. References issue #480

  • Small updates to Toshiba CT RDSR creation. Updated example dicom.ini files and associated Lua scripts. Also added example Windows PowerShell scripts that I am using to schedule query-retrieve from PACS. Also added example batch file that runs celery. Updated celery settings in settings.py to reflect what I am using successfully here. References issue #480

  • Removed two stages of the extractor as they are not needed: creating DICOMDIR, which in turn required all DICOM objects to be explicit VR little endian. This also reduces the time required to create the RDSR. I've also altered the method of inserting the kVp, as I found that the previous method failed when encountering multiple axial acquisitions that use the same exposure factors. References issue #480

  • Added extraction of exposure time per rotation. References issue #480

  • Removed some split lines and uncommented out the rmtree command. References issue #480

  • Added x-ray modulation type, nominal single collimation width and nominal total collimation width to the extractor. References issue #480

  • Added debug logging for the Toshiba RDSR creation extractor and removed quite a few print statements. References issue #480

  • Fixing error - didn't change name of store_file to extractor_file in settings.py. References issue #480

  • Moved all but the split-by-study sections to within the folder loop. I've been having trouble with some studies not importing with this routine. I think that the problem occurs when one of the studies does not have a dose summary. I think that this commit will fix it. I've also updated a few of the logging lines. Referenes issue #480

  • Updated Toshiba RDSR creation routine to combine multiple RDSRs together if there is more than one dose summary in the study. References issue #480

  • Added SoftwareVersions and DeviceSerialNumber to the created RDSR. Now looking for Secondary Capture Image Storage objects when seeing if there is more than one study contained within each study uid. References issue #480

  • Added code to check that the secondary capture object is a dose summary, and not some other type of secondary capture. I've done this because some virtual colonoscopy studies include surface rendered snapshots as secondary capture. References issue #528

  • Tidied up tbe Toshiba extractor a little. No functional changes. References issue #480

  • Started to update documentation for the new Toshiba RDSR creation extractor. Need to add info on how to install dcmtk, java.exe and pixelmed.jar. References issue #480

  • Updated documentation a little to fix some layout issues. Need to add info on how to install dcmtk, java.exe and pixelmed.jar. References issue #480

  • Added documentation for java, dcmtk and pixelmed.jar. References issue #480

  • Correcting typo in pixelmed.jar link. References issue #480

  • Added documentation for using a Windows PowerShell script to schedule a query-retrieve. References issue #480

  • Revising PowerShell wording. References issue #480

  • Amending Conquest dicom.ini file to use LittleEndianExplicit for file storage. References issue #480

Code Quality

Comments (1)

  1. Ed McDonagh

    Codacy Here is an overview of what got changed by this pull request:

    Issues
    ======
    - Added 1
    

    See the complete overview on Codacy