Blender newbie here.
I've been looking into how to convert a 2D array of densities (currently I'm using an image) into a 3D volume scatter object. This would be done by rotating this object around the Y axis in 360 degrees with a step size and interpolating values between steps. Resulting object would be a cylinder shape with various density values, taken from the image (grayscale image, where brighter value corresponds to higher density). (in my scenario creating sort of a oblate spheroid cut in half, with higher densities in middle).
I have had some degree of success using the spin tool in edit mode and screw modifier for basic shapes, but I'm struggling to format my initial object in a way it would work well for those tools. I've also experimented with geometry nodes and shaders, where in shaders I can load my image onto a plane using texture coordinate and a mapping node, but it felt a bit awkward to use. My next idea was to try out geometry nodes using image texture -> map range -> volume cube nodes. If I understand correctly, I should be able to perform this revolve operation before making the volume cube.
So to sum it up - what's the best approach to loading an image in blender, revolving it around the y axis and obtaining a 3D volume, for which the density is taken from image intensity values?
Example input (in more complicated scenarios, the gray zone will be a gradient not a flat value) which should be rotated around the axis, where white part touches the edge of image: