Maybe you can keep Aliases to original image and use models similar to BasicColorToScalarFunctors to map the image value to a scalar (and then a grayvalue)
By the way, there is no GLColorTextureImage ?