Adapt extractor module for PixelMed generated RDSR from old Toshiba CT
Issue #447 resolved
Was: Write extractor module for Toshiba Dose information image objects
Always been on the list, but somehow never logged as an issue!
Will be similar to the ct_philips.py extractor.
Now relates specifically to PixelMed generated RDSR from old Toshiba dose screen and image data.
I've spent some time looking in to this. Here are my thoughts so far:
Use David Clunie's DoseUtility to create an RDSR object for each Toshiba study. It needs the dose summary and the images. Import the RDSR in to OpenREM.
Use David Clunie's PixelMed routines to automatically create an RDSR object for each Toshiba CT study (again, using the dose summary and the images) and then forward the object to OpenREM for import. This will require that OpenREM's DICOM node is able to recognise that an incoming study needs this doing so that it can deal with the study appropriately (Conquest and a Lua script, perhaps?).
The RDSR files created by DoseUtility for my Toshiba test studies won't import using the existing rdsr.py extractor. There is some information missing that the extractor expects. I've worked around this, and managed to import a study in to OpenREM. The summary page for the the study seems OK, but the detail page doesn't show any CTDI or DLP values for some reason. I've checked, and the information is in the database. This needs looking at too.
@edmcdonagh, would you prefer an extractor that is specific to these incomplete Toshiba RDSR objects, or would you like me to modify the existing rdsr.py file so that it will allow the DoseUtility-created Toshiba ones in? I think it will be a very simple modification.
Depending on what the issue is, I'd rather the existing rdsr.py was able to cope with DoseUtility created RDSRs. It is already adapted to allow for GE poorly constructed Enhanced SRs.
It would be good to put some of these objects into the test_files folder so we can add them to the automated testing...
While I would like to do the automatic method within OpenREM using python, I agree that it would be quicker to implement and more robust to do it with Conquest and Lua.
Did you get any response from David Clunie regarding the issues with the generated RDSR?
OK - thanks. I've had no response from David Clunie re the generated RDSR objects yet. I'll put a DoseUtility-created RDSR file in to the test_files folder at some point in the next couple of days.
Thank you. I've been changing all the institutional identifiers, serial numbers and UIDs, but doing my best not to change them in any other way (as much as is possible). If you want me to do it, just send one over.
Adding PixelMed generated RDSR from a Toshiba Aquilion CT study. Institutional identifiers modified. Doesn't current import, refs
→ <<cset e2de8654ca28>>
Initial test to see that Pixelmed Toshiba RDSR imports. Expected to fail. Refs
→ <<cset e3dbeea88c32>>
Added test of scanning length values for Siemens to make sure I don't break it to address ref
→ <<cset 36105bf8b0d7>>
CT Detail page assumes there is an event ctxraysourceparameters entry and used it to display single and dual source details nicely. If there is no entry, it prevented all detail display. PixelMed generated RDSR from Toshiba ref
#447don't have this. Modified CT Detail page to not depend on it.
→ <<cset 2b8f19f36216>>
Added test at event level for PixelMed generated Toshiba RDSR. Refs
→ <<cset 6eed3546d8eb>>
We need to change the name of this issue as I wrote it thinking of some Toshiba dose screen images I am convinced I have seen that had useful information in the headers, whereas this issue has been about ones that don't and need PixelMed to create an RDSR instead. Then we can close this one! After the documentation is updated of course.
@edmcdonagh, thanks very much for looking at this and making these changes.
I'll investigate how to automatically create RDSR files using PixelMed at the point that studies arrive at OpenREM's DICOM node.
Lovely. Using the GUI version, or the java thing on the command line...?
I have some scripts (linux) that relate to the latter that you might be interested in?
I'm planning on using the command line (I want it to be automatic, without any user-intervention required). Any scripts that you have (and can share) that relate to this sort of thing would probably come in handy.
#447added to changes.
→ <<cset 0526611fc9f0>>
Merging issue 447 back into develop. Fixes
#447though more testing would be ideal
→ <<cset 5c92caed4257>>
Added a Plotly box plot of DLP per requested procedure name. Doesn't show per-system at the moment. The usual plot is also shown. References issue
→ <<cset eef9943f611b>>
Fixing conflicts to enable merge of develop into issue 447 branch. References issue
→ <<cset e1db78781a37>>
Should have been 477...
Added ability to change colour map used for charts. Defaults to Red-yellow-blue, the same as the HighCharts versions. References issue
→ <<cset 2e03f3b0b608>>