Skip to main content
Log in

Development of a new Python-based cardiac phantom for myocardial SPECT imaging

  • Original Article
  • Published:
Annals of Nuclear Medicine Aims and scope Submit manuscript

Abstract

Purpose

The aim of this work was to develop a digital dynamic cardiac phantom able to mimic gated myocardial perfusion single photon emission computed tomography (SPECT) images.

Methods

A software code package was written to construct a cardiac digital phantom based on mathematical ellipsoidal model utilizing powerful numerical and mathematic libraries of python programing language. An ellipsoidal mathematical model was adopted to create the left ventricle geometrical volume including myocardial boundaries, left ventricular cavity, with incorporation of myocardial wall thickening and motion. Realistic myocardial count density from true patient studies was used to simulate statistical intensity variation during myocardial contraction. A combination of different levels of defect extent and severity were precisely modeled taking into consideration defect size variation during cardiac contraction. Wall thickening was also modeled taking into account the effect of partial volume.

Results

It has been successful to build a python-based software code that is able to model gated myocardial perfusion SPECT images with variable left ventricular volumes and ejection fraction. The recent flexibility of python programming enabled us to manipulate the shape and control the functional parameters in addition to creating variable sized-defects, extents and severities in different locations. Furthermore, the phantom code also provides different levels of image filtration mimicking those filters used in image reconstruction and their influence on image quality. Defect extent and severity were found to impact functional parameter estimation in consistence to clinical examinations.

Conclusion

A python-based gated myocardial perfusion SPECT phantom has been successfully developed. The phantom proved to be reliable to assess cardiac software analysis tools in terms of perfusion and functional parameters. The software code is under further development and refinement so that more functionalities and features can be added.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

Similar content being viewed by others

References

  1. Xu XG. An exponential growth of computational phantom research in radiation protection, imaging, and radiotherapy: a review of the fifty-year history. Phys Med Biol. 2014;59(18):R233–302.

    Article  PubMed  PubMed Central  Google Scholar 

  2. Zaidi H, Xu XG. Computational anthropomorphic models of the human anatomy: the path to realistic Monte Carlo modeling in radiological sciences. Annu Rev Biomed Eng. 2007;9:471–500.

    Article  CAS  PubMed  Google Scholar 

  3. Pretorius PH, King MA, Tsui BM, LaCroix KJ, Xia WA. Mathematical model of motion of the heart for use in generating source and attenuation maps for simulating emission imaging. Med Phys. 1999;26(11):2323–32.

    Article  CAS  PubMed  Google Scholar 

  4. Könik A, Connolly CM, Johnson KL, Dasari P, Segars PW, et al. Digital anthropomorphic phantoms of non-rigid human respiratory and voluntary body motion for investigating motion correction in emission imaging. Phys Med Biol. 2014;59(14):3669–822.

    Article  PubMed  PubMed Central  Google Scholar 

  5. Furhang EE, Chui CS, Sgouros GA. Monte Carlo approach to patient-specific dosimetry. Med Phys. 1996;23(9):1523–9.

    Article  CAS  PubMed  Google Scholar 

  6. Bouchet LG, Bolch WE. Five pediatric head and brain mathematical models for use in internal dosimetry. J Nucl Med. 1999;40(8):1327–36.

    CAS  PubMed  Google Scholar 

  7. Smith T, Petoussi-Henss N, Zankl M. Comparison of internal radiation doses estimated by MIRD and voxel techniques for a “family” of phantoms. Eur J Nucl Med. 2000;27(9):1387–98.

    Article  CAS  PubMed  Google Scholar 

  8. Segars WP. Development and Application of the New Dynamic NURBS based Cardiac-Torso (NCAT) Phantom PhD Dissertation. Carolina: The University of North Carolina; 2001.

    Google Scholar 

  9. De Bondt P, Nichols K, Vandenberghe S, Segers P, De Winter O, et al. Validation of gated blood-pool SPECT cardiac measurements tested using a biventricular dynamic physical phantom. J Nucl Med. 2003;44(6):967–72.

    PubMed  Google Scholar 

  10. Khalil MM. Basic Sciences of Nuclear Medicine. London: Springer Science and Business Media; 2010.

    Google Scholar 

  11. Germano G, Kiat H, Kavanagh PB, Moriel M, Mazzanti M, et al. Automatic quantification of ejection fraction from gated myocardial perfusion SPECT. J Nucl Med. 1995;36(11):2138–47.

    CAS  PubMed  Google Scholar 

  12. Lum DP, Coel MN. Comparison of automatic quantification software for the measurement of ventricular volume and ejection fraction in gated myocardial perfusion SPECT. Nucl Med Commun. 2003;24(3):259–66.

    Article  CAS  PubMed  Google Scholar 

  13. Segars WP, Veress AI, Sturgeon GM, Samei E. Incorporation of the living heart model into the 4D XCAT phantom for cardiac imaging research. IEEE Trans Radiat Plasma Med Sci. 2019;3(1):54–60.

    Article  PubMed  Google Scholar 

  14. Khalil MM, Attia A, Ali M, Ziada G, Omar A, Elgazzar A. Echocardiographic validation of the layer of maximum count method in the estimation of the left ventricular EF using gated myocardial perfusion SPECT: correlation with QGS, ECTb, and LVGTF. Nucl Med Commun. 2009;30(8):622–8.

    Article  PubMed  Google Scholar 

  15. Khalil MM, Elgazzar A, Khalil W, Omar A, Ziada G. Assessment of left ventricular ejection fraction by four different methods using 99mTc tetrofosmin gated SPECT in patients with small hearts: correlation with gated blood pool. Nucl Med Commun. 2005;26(10):885–93.

    Article  PubMed  Google Scholar 

  16. Severance C. Python for informatics: Exploring information. Create Space 2013.

  17. www.python.org. Accessed on 29 Dec 2019.

  18. Wentworth P, Elkner J, Downey AB, Meyers C. How to think like a computer scientist: learning with Python 3. 2012. http://openbookproject.net/thinkcs/python/english3e/. Accessed 29 Dec 2019.

  19. www.python.org. Accessed 1 Dec 2019.

  20. Van den Broek JHJM, Van den Broek MHLM. Application of an ellipsoidal heart model in studying left ventricular contractions. J Biomech. 1980;13(6):493–503.

  21. Domingues JS, Vale MD, Martinez CB. New mathematical model for the surface area of the left ventricle by the truncated prolate spheroid. Sci World J. 2017;1

  22. Khalil MM, Elgazzar A, Khalil W. Evaluation of left ventricular ejection fraction by the quantitative algorithms QGS, ECTb, LMC and LVGTF using gated myocardial perfusion SPECT: investigation of relative accuracy. Nucl Med Commun. 2006;27(4):321–32.

    Article  PubMed  Google Scholar 

  23. Gonzalez RC, Woods RE. Digital image processing. USA: Prentice Hall; 2002.

    Google Scholar 

  24. Goos P, Meintrup D. Statistics with JMP: Hypothesis Tests. John Wiley and Sons, Newyork: ANOVA and Regression; 2016.

    Google Scholar 

  25. Chua T, Yin LC, Thiang TH, Choo TB, Ping DZ, Leng LY. Accuracy of the automated assessment of left ventricular function with gated perfusion SPECT in the presence of perfusion defects and left ventricular dysfunction: correlation with equilibrium radionuclide ventriculography and echocardiography. J Nucl Cardiol. 2000;7(4):301–11.

    Article  CAS  PubMed  Google Scholar 

  26. Akincioglu C, Berman DS, Nishina H, Kavanagh PB, et al. Assessment of diastolic function using 16 frame 99mTc-sestamibi gated myocardial perfusion SPECT: normal values. J Nucl Med. 2005;46(7):1102–8.

    PubMed  Google Scholar 

  27. Yoshino T, Nakae I, Matsumoto T, Mitsunami K, Horie M. Relationship between exercise capacity and cardiac diastolic function assessed by time–volume curve from 16-frame gated myocardial perfusion SPECT. Ann Nucl Med. 2010;24(6):469–76.

    Article  PubMed  Google Scholar 

  28. Higuchi T, Taki J, Nakajima K, et al. Left ventricular ejection and filling rate measurement based on the automatic edge detection method of ECG-gated blood pool single-photon emission tomography. Ann Nucl Med. 2004;18(6):507–11.

    Article  PubMed  Google Scholar 

  29. Nakae I, Matsuo S, Tsutamoto T, Matsumoto T, Mitsunami K, Horie M. Assessment of cardiac function in patients with heart disease by quantitative gated myocardial perfusion SPECT. Ann Nucl Med. 2007;21(6):315–23.

    Article  PubMed  Google Scholar 

  30. Kenichi N, et al. Normal values and standardization of parameters in nuclear cardiology: Japanese Society of Nuclear Medicine working group database. Ann Nuclear Med. 2016;30(3):188–99.

    Article  Google Scholar 

  31. Véra P, Manrique A, Pontvianne V, Hitzel A, Koning R, Cribier A. Thallium-gated SPECT in patients with major myocardial infarction: effect of filtering and zooming in comparison with equilibrium radionuclide imaging and left ventriculography. J Nucl Med. 1999;40(4):513–21.

    PubMed  Google Scholar 

  32. Hambye AS, Vervaet A, Dobbeleir A. Variability of left ventricular ejection fraction and volumes with quantitative gated SPECT: influence of algorithm, pixel size and reconstruction parameters in small and normal-sized hearts. Eur J Nucl Med Mol Imaging. 2004;31(12):1606–13.

    Article  PubMed  Google Scholar 

  33. Dorbala S, Ananthasubramaniam K, Armstrong IS, Chareonthaitawee P, DePuey EG, et al. Single photon emission computed tomography (SPECT) myocardial perfusion imaging guidelines: instrumentation, acquisition, processing, and interpretation. J Nucl Cardiol. 2018;25(5):1784–846.

    Article  PubMed  Google Scholar 

  34. Piccinelli M, Garcia EV. Advances in software for faster procedure and lower radiotracer dose myocardial perfusion imaging. Prog Cardiovasc Dis. 2015;57(6):579–87.

    Article  PubMed  Google Scholar 

  35. Slomka PJ, Patton JA, Berman DS, Germano G. Advances in technical aspects of myocardial perfusion SPECT imaging. J Nucl Cardiol. 2009;16(2):255–76.

    Article  PubMed  Google Scholar 

  36. Fung GS, Lee TS, Higuchi T, Tsui BM, Segars WP, Veress AI, Gullberg GT. Realistic simulation of regional myocardial perfusion defects for cardiac SPECT studies. IEEE Nucl Sci Symp Conf Rec. 1997;1997(2010):3061–4.

    Google Scholar 

  37. Rastgou F, Shojaeifard M, Amin A, et al. Assessment of left ventricular mechanical dyssynchrony by phase analysis of gated-SPECT myocardial perfusion imaging and tissue Doppler imaging: comparison between QGS and ECTb software packages. J Nucl Cardiol. 2014;21(6):1062–71.

    Article  PubMed  Google Scholar 

Download references

Acknowledgment

The authors disclose that they do not have any conflict of interest. All authors would like to express their gratitude to the editor and reviewers for their time and efforts made to the manuscript. The software code will be released in the public domain and until that time it is available upon request from the corresponding author.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Magdy M. Khalil.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Electronic supplementary material

Below is the link to the electronic supplementary material.

Supplementary file 1 (MP4 1963 kb)

Supplementary file 2 (MP4 4052 kb)

Appendix

Appendix

Code structure, function and parameters

class SPECT.oop_model.Gate (index, maxthick, maxcount)

The class Gate creates a gate of the heart cycle with specific parameters that are specific for each gate

defect_maker (gate, start, slices_to_be_modified, extent, severity)

Making defects in each volume of each gate with specific size (extent) and degree (severity)

Parameters

Gate – a list of images of specific gate

Start – the index of first slice that will be modified

Slices_to_be_modified – no. of slices that will be modified

Extent – extent

Severity – severity

Dicom_implementation (slices, gateslices, base_repeation, path, name, start, slices_to_be_modified, extent, severity)

Very important function for implementation of generated images in the software with dicom format with specific dicom headers

Parameters

Slices – number of all generated slices that need to be implemented

Gateslices – number of slices in each gate

Base_repeation – number of repeated myocardial base images

Path – path of slices that need to be implemented

Name – patient name _as you want to name it

The rest of the arguments are used by the previous functions and defined in the docstrings of these functions

elipse(y_point, endo_long_axis, base_radius)

the function used to produce shape

Parameters:

y_point – y_point

Endo_long_axis – max long axis value (distance from base to apex)

Base_radius – max short axis value (diameter of base)

Return output:

The x_point related to the inserted

Gray_scale_converter (imgno)

Modification of slices that are grey scale_converted by reverse the grey scale of them ‘before dicom implementation

Parameters:

Imgno – image _slice name

Return output:

The same image with grey scale reversed

noise_maker (gate)

Generating poisson noise in the empty pixels of each image

Parameters:

Gate – a list of images of specific gate

Return output:

A list of images of specific gate with noised background

Poisson (lampda)

generating randomly distributed Poisson series used for noise.

Parameters:

lampda – the standard deviation of the series

Slicemaker (r1, r2, x_var, k, SD, points, num, midcount)

used to make each slice

Parameters:

r1 – outer circle diameter.

r2 – inner circle diameter.

x_var – increment between mini_circles that produce each circle variation in r1 and r2.

k – initial count of mini circles.

SD – standard deviation of the iscount function that used to make counts in each slice iscount distributed.

Points – related to number of mini_circles used to produce each slice.

Num – numerator to name images when saving them.

Midcount – mid_myocardial count of a volume

Return output:

Of this function is one gate with specific parameters

Smoothing_maker(gate, sigma = 1, order = 0, mode = 'constant', cval = 0.0)

to make smoothing _but before adding noise with sigma = 1, order = 0,mode = constant.

Parameters:

Gate – a list of images of specific gate in shape of 2d matrix.

Sigma – standard deviation for Gaussian kernel. The standard deviations of the Gaussian filter are given for each axis as a sequence, or as a single number, in which case it is equal for all axes.

Order – {0, 1, 2, 3} or sequence from same set. The order of the filter along each axis is given as a sequence of integers, or as a single number. An order of 0 corresponds to convolution with a Gaussian kernel. An order of 1, 2, or 3 corresponds to convolution with the first, second or third derivatives of a Gaussian. Higher order derivatives are not implemented.

Mode – {‘reflect’, ‘constant’, ‘nearest’, ‘mirror’, ‘wrap’}, optional. The mode parameter determines how the array borders are handled, where cval is the value when mode is equal to ‘constant’. Default is ‘reflect’.

cval – scalar, optional Value to fill past edges of input if mode is ‘constant’. Default is 0.0

Return output:

List of images of specific gate _after smoothing in shape of 2d matrices

Starter()

used to generate some empty images required for implementation in the software

used_pixels_counter(gate)

counter of the used pixels of images _non zero _pixels in images useful for accurate volume calculation used before adding noise

Parameters:

Gate – a list of images of specific gate

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Hanafy, O.S., Khalil, M.M., Khater, I.M. et al. Development of a new Python-based cardiac phantom for myocardial SPECT imaging. Ann Nucl Med 35, 47–58 (2021). https://doi.org/10.1007/s12149-020-01534-y

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s12149-020-01534-y

Keywords

Navigation