Orbit can be enhanced to cope with different image providers. In the /resources/config.properties file the image provider implementation is defined, e.g.
This class has to implement the IImageProvider interface. Beside search methods and annotation saving/loading it basically provides functionality to access image data via an IOrbitImage implementation.
A good example how you can create a new image provider is the ImageProviderLocal. You can extend this class and overwrite the method createOrbitImage() which returns an IOrbitImage. There you could implement your own image access methods, e.g. to read a special image format or to connect to another image server and read tile data from there.
Let me know if you need help with this – and of course pull request to integrate further image providers are very welcome!