How hard this will be depends on whether you're able to operate on the slices individually or if you need to act on the volume as a whole.
In the former case it'll be much easier if your cylinder is aligned with any of the axes. Then you could use the equation of the cross-sectional ellipse to define a boundary in the transverse plane which you could apply to all the slices. This would let you do things within the plane such as test the points for inside/outsideness, mask the image. I can't guess at how this might interact with a Voronoi diagram other than by excluding outside points but it sounds like it's representing the ellipse/cylinder that's the main issue.
If your cylinder is not aligned axially then it's harder but in principle the same procedure: project the ellipse onto the image plane and offset it in each slice according to the angle between the cylinder's longitudinal vector and the axis normal to the images.
If you are intending to operate on the volume then you'd do the same things but in a different order (it depends what you're using it for): once you've computed the intersection between a given image and the cylinder then you can apply the mask or boundary to each slice first and then draw the Voronoi diagram.
The main thing is to avoid having to represent the cylinder as a 3d object: it's possible, even without symbolic maths, but it's complex and as your dataset is naturally ordered as slices it would be most consistent to slice your cylinder too, the ellipses are much more compactly defined than the cylinder would be.
And for all these options the first step is to define the problem mathematically. Depending on how comfortable you are with matlab you could then transform it to pseudocode and then finally matlab, or skip the pseudocode.