Anthropomorphic Phantom Reconstruction

Hi everyone, I was wondering if anyone could help me with a reconstruction problem I am having please. I am running an XCAT phantom SPECT simulation in SIMIND. I have simulated activity in the lungs and liver of the XCAT phantom. The simulation is saving the nuc med data and the attenuation map data in mu at the end of the simulation. I am using the code provided in the PyTomography tutorials to reconstruct my SPECT data, but it would appear that the nuc med data and attenuation data are misaligned (hopefully you can see this from the attached image). I don’t really know where the origin of the problem is coming from, I think maybe from my COR in the SIMIND simulation… but very much taking a stab in the dark here haha!

If anyone has any ideas/suggestions of what might be the issue it would be very much appreciated.

Looking forward to getting to share research and discuss cool topics with this community!

Hi Niamh. It could be a few issues:

  1. Your mu-map is mialigned. If you plot the first projection of your SPECT data and a central sagittal slice of the attenuation map, they should be back to back.
  2. Your attenuation map doesnt correspond to the energy of you SPECT simulation. What sort of radioisotope were you simulating in SIMIND?

If you pass me the data here I can probably take a look as well.

Hey Luke,

Okay… interesting, that is definitely an angle I hadn’t considered before, thank you.

I will plot the data and see what it looks like and hopefully take it from there. If the mu-map is misaligned I could shift the map in SIMIND.

I was simulating a lung shunt fraction with 99mTc. I had set the radionuclide energy in the XCAT parameter file to 140 keV which I thought was used to generate the attenuation map. I do use the fi:tc99m switch when running the SIMIND simulation which uses the exact energy of 140.511 keV, I don’t know if that small discrepancy would produce such a big mismatch though? However what I have learned through this process; what I thought I knew about XCAT and SIMIND I actually don’t know, hahaha!

That is extremely kind of you, thank you so much! I have attached my smc file and bin files generated from XCAT, but please only if you have some spare time to look at it, I know you must be extremely busy with your PhD research too. (Hopefully yours is going better than mine at the moment!)

If I manage to get any further I will definitely let you know.

pt184_10_act_av.bin
pt184_10_atn_av.bin
pt184_test_10.smc

(Attachment scattwin.win is missing)

(Attachment male_pt184.par is missing)

Some good news!!!

I believe the issue is now resolved. The attenuation map was rotated by 180 degrees in the wrong direction… I am not sure why this was the case (I am still looking into that part) but adding the following line into the code before performing the attenuation transform resolved the issue, so happy days.

attenuation_map = flip(attenuation_map, [2])