Python code for evaluating resolvability of sectors in a Hot Spot phantom

Greetings,

As presented in [1], the NEMA NU 4 standard is not perfect. Here, I discuss about the recommendation of [1] for PET spatial resolution. Currently, the NEMA standard proposes to use a point source that is reconstructed with FBP to evaluate a PET system spatial resolution. While using FBP circumvents the ‘iterative dependence’ of spatial resolution, it has one big flaw: it is hard to implement a good one and you will probably never use it again since you need iterative reconstruction for better noise control.

A Hot-Spot phantom offers a good qualitative alternative since we can simply use our eye to define when a sector is resolved. However, it is observer dependent. The solution proposed in [1] is based Hot-Spot resolvability on the Rayleigh Criterion. (Is it optimal for PET imaging? Good question, but I do not have the answer!)

Me and one of my colleagues have implemented an interpretation of that proposal for our use and it is now available on GitHub, see [2]. You give to the script image(s) (e.g. in CASToR format) and a configuration file that describes the sectors/spots of the image(s) and, voilà, you get an analysis of the sector resolvability. (Well, it is not that easy but it should be not that bad.) The ReadMe should be enough to give an idea on how to use it and if there are any problems, do not hesitate to create an issue!

Note that we offer our interpretation of that proposal and that this proposal is only this: a proposal. A good one I believe, but it is not something that was validated by a big committee or equivalent.

In the hope that it saves time for at least one of you!

Best,
Maxime Toussaint

[1] Hallen, P., Schug, D. & Schulz, V. “Comments on the NEMA NU 4-2008 Standard on Performance Measurement of Small Animal Positron Emission Tomographs.”, EJNMMI Phys. 7, 12 (2020). Comments on the NEMA NU 4-2008 Standard on Performance Measurement of Small Animal Positron Emission Tomographs | EJNMMI Physics | Full Text
[2] GitHub - MaxTousss/PetSpatialResolvability

The tool presented here was recently updated: now it as a basic GUI to simplify how the configuration of the phantom is provided to the program.!

Indeed, previously the tool needed the user to specify, by hand, the position of three extreme spots in each sector. As someone that used this tool often, I can tell you it was a pain to do!

Well, these dark times are forgone! One of my previous colleagues decided to add a basic GUI interface to simplify this step. It loads a configuration and allows the user to correct the positions of the sector’s triangle directly on the image! Thus, the tool is now easier to use!

If you need to analyze Derenzo phantoms, I encourage you to try our tool! It’s Python-based, so easily modifiable. Please feel free to create GitHub issues or reach out with suggestions.

The proposed resolvability interpretation has limitations (e.g., line profile vs 3D structures) and care must be taken when interpreting the results obtained. However, we believe that it is a convenient tool to quantify our perception of a reconstruction of a Derenzo phantom and a good starting point to see how the methodology can be improved. Hopefully we can work toward standardizing Derenzo phantom resolvability methodology someday.

Bests,

Maxime Toussaint