What would you like to see added in this software?
PETPrep currently supports --combine-runs for concatenating multiple PET runs, but the combined metadata should better preserve BIDS PET timing semantics when later runs use their own TimeZero.
In datasets where a subject leaves and returns under the same tracer injection, a later run may have FrameTimesStart beginning at 0, while InjectionStart is negative relative to that run’s TimeZero. For example, run 1 may start at injection/scanner time zero, while run 2 starts 7701 seconds later with InjectionStart: -7701. In this case, combined FrameTimesStart should place run 2 frames on the same time scale as run 1, rather than simply appending them after the previous run’s duration.
Requested behavior:
- Use TimeZero, ScanStart, and/or InjectionStart to reconcile all runs onto a shared timing reference.
- Merge FrameTimesStart, FrameDuration, and FrameReferenceTime accordingly.
- Preserve or update frame-wise metadata such as decay correction factors where possible.
- Consider whether decay-corrected runs need rescaling if each run was reconstructed relative to a different ImageDecayCorrectionTime.
- Add validation or warnings when the metadata are insufficient to combine runs quantitatively.
Do you have any interest in helping implement the feature?
Yes
Additional information / screenshots
No response
What would you like to see added in this software?
PETPrep currently supports --combine-runs for concatenating multiple PET runs, but the combined metadata should better preserve BIDS PET timing semantics when later runs use their own TimeZero.
In datasets where a subject leaves and returns under the same tracer injection, a later run may have FrameTimesStart beginning at 0, while InjectionStart is negative relative to that run’s TimeZero. For example, run 1 may start at injection/scanner time zero, while run 2 starts 7701 seconds later with InjectionStart: -7701. In this case, combined FrameTimesStart should place run 2 frames on the same time scale as run 1, rather than simply appending them after the previous run’s duration.
Requested behavior:
Do you have any interest in helping implement the feature?
Yes
Additional information / screenshots
No response