3D Shepp-Logan Phantom

Version 1.1.1 (5.25 KB) by Marek Zemek
3D extension of Matlab's phantom()
42 Downloads
Updated 17 May 2023

View License

A 3D extension of MATLAB's phantom function - generates a phantom consisting of an arbitrary number of ellipsoids in 3D.
Originally written by Matthias Schabel and extended by Patrick Bolan to support anisotropic phantom dimensions.
I had some memory issues while generating larger phantoms, so I improved the code's memory efficiency (using two 2D meshgrids + a for-loop instead of three 3D meshgrids). As a result, the code runs longer than the previous versions, but it needs much less RAM.
The function also supports optional command window outputs and the ability to choose the output datatype (single/double).
MATLAB Release Compatibility
Created with R2022b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Acknowledgements

Inspired by: 3D Shepp-Logan phantom, 3D Shepp-Logan Phantom

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.1.1

fixed bug with switched dimensions in the scale matrix on line 153

1.1.0

- Improve the handling of ellipse rotation angles for anisotropic data sizes (i.e., a 30° rotation should now always be 30°, no matter the axis)
- add and improve some verbosity outputs

1.0.0