Decomposition of **3D** structuring elements for morphological operations I am struggling to implement a mathematical morphology toolset in an image processing package. I base my implementation on what I saw in MATLAB, and on several papers on the subject. 

There seems to be abundant literature on morphological operation optimization through structuring element (strel) decomposition. For instance, one can get a tremendous speed bonus by using two orthogonal lines instead of a square as structuring element for dilation. Several papers give methods for optimization through strel decomposition:


Rolf Adams, "Radial Decomposition of Discs and Spheres," CVGIP:
         Graphical Models and Image Processing, vol. 55, no. 5, September
         1993, pp. 325-332.
Rein van den Boomgard and Richard van Balen, Methods for
       Fast Morphological Image Transforms Using Bitmapped Binary
       Images, CVGIP: Models and Image Processing, vol. 54, no. 3, May
       1992, pp. 252-254


etc...

However, all these publications are about 2D structuring elements. I could not find much on 3D decompositions.

Do you have any clues on how to decompose:


a 3D sphere. Not a ball that is used in 2D grayscale morphology, but an actual flat 3D sphere;
a 3D diamond?
I guess this depends on the digital distance transform that one is approximating on the 3d grid and there are various local connectivities possible. There is an implementation in ImageJ here. 

It would also be good to verify if you are using a non-flat structuring element or a correct 3d structuring element. Read Matlab reference here. In the place of euclidean distance sqrt(x.^2 + y.^2 + z.^2) one could add the Manhattan distance using this. Quick 3d distance here.

For 3d structuring element decomposition one can see. But the 3d decompositions of a convex shapes like sphere into separable 2d lines is non-trivial, certain shapes are easier than others like the cube. One can refer here for efficient algorithms for spheres.