Philips Allura RDSR doesn't have exposure time

Issue #379 resolved
Ed McDonagh created an issue

It does have Irradiation Duration, but this is just number of pulses divided by pulse rate.

It does have number of pulses and pulse width.

This could be why the skin maps aren't working, haven't checked.

Comments (15)

  1. David Platten

    Hi @edmcdonagh. Skin dose maps aren't working because the RDSR that we're looking at has more than one filter (1.0 mm Al and 0.1 mm Cu). There's a check in for the existence of a filter:

    if irrad.irradeventxraysourcedata_set.get().xrayfilters_set.get().xray_filter_thickness_minimum:
        filter_cu = float(irrad.irradeventxraysourcedata_set.get().xrayfilters_set.get().xray_filter_thickness_minimum)

    This code fails if the database returns more than one item. In additon, openSkin only has provision for Cu filters. I've created an issue on the openSkin site about this.

    I could put a check in for multiple filters, and only include any Cu that is found. This would make the skin dose map work, but I'm not sure that it's result will be correct.


  2. Ed McDonagh reporter

    Mine seems to be failing due to the weight being set to 0, leading to a divide by zero error. So that can be fixed relatively easily?

    Regarding the multiple filters, I guess the Siemens ones I am familiar with have Cu filters, whereas the general rooms have Cu and Al combinations.

    Looking at the code, the Cu filter information is used to get the backscatter factor from Backscatter factors and mass energy-absorption coefficient ratios for diagnostic radiology dosimetry Hamza Benmakhlouf et al 2011 Phys. Med. Biol. 56 7179 doi:10.1088/0031-9155/56/22/012, which may have data for combined Cu and Al, and also for transmission measurements of the table and the mattress, which are based on measurements made on a Zeego, which only has the Cu filters.

    Bother. Not an easy fix.

  3. David Platten

    Hi Ed. Apologies - I had added some code to check for a zero patient height or weight, as that was the first cause of the skin dose map failing. Once I'd fixed that, it was was multiple filters that caused a problem.

  4. David Platten

    Hi @edmcdonagh and @jacole. I've looked at the Benmakhlouf paper (

    I've also taken a look at another report that compliments the above paper, and contains data at more kVp settings, by the same author (

    The above publications have backscatter factors for added Cu, and also added Cu + 1mm Al. There is very little difference between the with and without extra Al factors. I think that it would be fine to ignore any additional Al filters that are in-place when making calculations for the skin dose map.

    I suspect that the same will be true for the data associated with table and mattress transmission, but do not know for sure.

    I think it would be good if openSkin included the more comprehensive kVp data, rather than just the voltages in the 2011 PMB paper.

    Any thoughts?

  5. Jonathan Cole

    I don't think the BSFs vary too much between the kV steps openSkin uses. Copper filtration and field size are taken into account.

    Currently the getBSF function in geomfunc just does a lookup, so we can probably extend it fairly easily if there is a need.

    What level of detail were you after?

  6. David Platten

    Hi Jon,

    If the BSFs don't vary too much with the kV values already in openSkin then perhaps there's no need to add the more detailed values. If the new data isn't going to make any difference then there's no need to do anything.

    What do you think about ignoring the presence of any Al filters?

  7. Ed McDonagh reporter

    Hi David

    Does 53923af9df35 mean the Allura study works for you?

    For me the pickle is created, but the dose is uniformly 0! Inspecting the page gives Uncaught TypeError: Cannot read property 'toFixed' of undefined rfSkinDoseMapping.js:271

  8. Jonathan Cole

    I think we can ignore the extra aluminium.

    The backscatter included in openSkin assumes an average 3 mm Al filter, which is a bit over for some and a bit under for others, but shouldn't make any appreciable difference.

    I have rounded BSFs to 2 significant figures because any more precision seems artificial. We don't get told what happens to the kV during a run, only the single kV the RDSR includes so there is some uncertainty anyway.

    So long as openREM is passing all the input data openSkin looks for I think the BSFs are accurate enough.

  9. Jonathan Cole

    Probably refuse to give a skin dose until we have some idea of the backscatter factors involved.

  10. Log in to comment