Not sure about the unrolling part, but using a distortmap set to 1c,1r, you could take the coords at 0,1,and 1,1 up to half to form a semi-circle.
For an unrolling you might actually make a polygon out of a distortmap, a one pixel image would do, and take the coords from say a six sided poly, at the bottom center, move the left side up, and to the left, and the right side up and to the right.