NiftyPET / NIPET

High-throughput PET image reconstruction with high quantitative accuracy and precision
Apache License 2.0
29 stars 7 forks source link

Recon using timing offset produce very similar frames for all dynamic study #8

Closed davecash75 closed 5 years ago

davecash75 commented 5 years ago

Hi Pawel- As discussed on Friday, when I tried to account for delay in injection, I got a funny output in which all of the frames were essentially identical. This does not happen when I just include the data before injection (which produces blank frames=0 until a reliable reconstruction can be generated). This was when using the following code:

 #obtain histogram dictionary:
    hst = nipet.mmrhist(datain, mMRparams)

    #From histogram, obtain offset in seconds:
    time_offset = nipet.lm.get_time_offset(hst)
    print('Time offset for start is' + str(time_offset))

    #Adjust the frames getting a new frame dictionary:
    fdic = nipet.mmraux.timings_from_list(dframes, offset=time_offset)
    print(fdic)

    #Create customised  frames:
    dframes_c = fdic['timings']

    #not sure its needed, but insert a flag for customised dynamic reconstruction:
    dframes_c[0]='fluid'

where dframes_c was passed into mmrchain instead of dframes, which was originally set to: dframes = ['def',[4, 15], [8, 30], [9, 60], [2, 180], [8, 300]]

davecash75 commented 5 years ago

This was my fault. The variable hst that is the output of nipet.mmrhist seems to not be the appropriate input to mmrchain, which is what i was doing. So I have just let mmrchain generate its own histogram.