SPECT/CT Attenuation Correction

Hi Luke,
I tried performing attenuation correction (AC) on SPECT images using CT and the Attenuation Map, but the results were not the same. I used pytomography version 3.0.0.


I attempted to use the new version, but the Attenuation Map did not save properly.

Can I use the previous version 3.0.0 for attenuation correction (AC)?

Why are the results of SPECT AC with the CT file and the Attenuation Map different? I used the following code to read the Attenuation Map. I must mention that I saved the Attenuation Map using your save DICOM function.

    dicom.save_dcm(
        save_path = save_atm,
        object = attenuation_map,
        file_NM = file_NM,
        recon_name = 'AttenMap')

atm=nib.load(f’path/to/file/{pid}.nii.gz’).get_fdata()
atm=torch.from_numpy(atm).to(torch.float32)
psf_meta = dicom.get_psfmeta_from_scanner_params(‘SY-LEHR’, energy_keV=140.5)
psf_transform = SPECTPSFTransform(psf_meta)
att_transform = SPECTAttenuationTransform(atm)
att_transform.configure(object_meta, proj_meta)
attenuation_map = att_transform.attenuation_map

Best regards,
Ghasem

Hi Ghasem, this is very strange; is it possible to share those files so I could take a look?

Thank you so much,
I will send you the images via email.