UCL / STIR-GATE-Connection

Example files on how to run STIR on GATE data
16 stars 11 forks source link

AttenuationConv data should be in units of cm-1 #44

Open robbietuk opened 4 years ago

robbietuk commented 4 years ago

In https://github.com/UCL/STIR-GATE-Connection/blob/9f5ddc0b8cbffde9192d12069bc129cd98370c7f/VoxelisedSimulation/GATESubMacros/AttenuationConv.dat#L1-L11 the attenuation coefficient ranges are not intuitive. STIR uses attenuation coefficient units of cm^-1. The input attenuation voxelised phantom for this project should use this attenuation coefficient unit for future STIR processing.

Body tissue has an approximate attenuation coefficient of 0.096cm^-1 (i.e. water). In https://github.com/UCL/STIR-GATE-Connection/blob/9f5ddc0b8cbffde9192d12069bc129cd98370c7f/VoxelisedSimulation/SubScripts/GenerateSTIRGATEImages.sh#L45 the interfile attenuation image is multipled by 10,000 to create a GATE interfile image, which would corespond to a AttenuationConv of 960 for body tissue/water. This would corresponds to SpineBone in GATE.

Two options:

  1. change the multiplier in In https://github.com/UCL/STIR-GATE-Connection/blob/9f5ddc0b8cbffde9192d12069bc129cd98370c7f/VoxelisedSimulation/SubScripts/GenerateSTIRGATEImages.sh#L45 to not be 10,000 but some scaling value that maps between the values in an XCAT and the expected GATE materials.

  2. Change the values in https://github.com/UCL/STIR-GATE-Connection/blob/9f5ddc0b8cbffde9192d12069bc129cd98370c7f/VoxelisedSimulation/GATESubMacros/AttenuationConv.dat#L1-L11 to better align the multiplied coefficients.

In my opinion, 2. is the better method. To do this, we need to use something like XCAT to assertain the attenuation coefficients ranges of different body materials, multiply by 10,000, and update the AttenuationConv.dat file. Should be done for #37

KrisThielemans commented 4 years ago

I agree. conversion from XCAT to STIR is one thing. Conversion from STIR to GATE is another. They should be separate. This table should work for attenuation images generated by STIR really.

I think handling XCAT specifics belongs in https://github.com/UCL/STIR-GATE-Connection/tree/master/VoxelisedSimulation/SubScripts/CreateXCATImages (although that directory is in a bit a funny place as it doesn't contain just scripts., it might be better to move it one level up or so)