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 LinuxTags
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!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
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)
|
||
1.0.0 |