Suppose I have an image with a cylindrical map of a planet, say one of these:
http://www.johnstonsarchive.net/spaceart/cylmaps.html
And I want to plot it over a 3D sphere to recover the original figure of the planet.
Is there a way to do it using a Python package like matplotlib, mayavi, basemap or similar?
the basemap toolkit is ideal for this task.
The Problem seems to be that you don't really have the data, i.e. something like lat,lon,value for each pixel. The problem is also that for a given image, you normally don't know the projection which was used to create the image, therefore you cannot do the back-transformation to get the original data.
If you just like to plot a image of the earth, use the bluemarble() function from the basemap toolkit:
http://wiki.scipy.org/Cookbook/Matplotlib/Maps
Update: This is the new version using Cartopy, as basemap is EOL. Below is the original answer.
Thanks to Raphael Roth answer I finally found what I was looking for: the basemap method warpimage.
Here is a very minimal example. Using this cylindrical map of Venus, and based on the simple example of the cookbook:
produces the following output: