Loading an 48bpp TIF into a texture

I’m trying to load a 16 bit RGB tif (ie: 48 bit total) into a texture, to be used as a uv map.
When I use ofLoadImage to load the TIF, the resulting texture seems to be 8bpp instead of 16bpp

  
  
ofTexture mapTexture;  
(...)  
ofLoadImage(mapTexture, "map.tif");  
(...)  
mapTexture.draw(0,0);  
  

I’ve also tried loading the TIF into an ofImage first and creating a texture from that. The ofImage seems to be 48bpp, but the resulting texture still seems to be 8bpp.

  
  
ofImage mapImage;  
ofTexture mapTexture;  
(...)  
mapImage.setUseTexture(true);  
mapImage.loadImage("map.tif");  
mapTexture = mapImage.getTextureReference();  
(...)  
mapTexture.draw(0,0);  
  

So how can I load a 48bit texture?

Solved my own problem:

  
  
ofTexture mapTexture;    
(...)  
  
ofShortPixels pixels;  
ofLoadImage(pixels, "map.tif");  
pixels.swapRgb();  
  
mapTexture.allocate(pixels.getWidth(), pixels.getHeight(), GL_RGB16, true);  
mapTexture.loadData(pixels);  
(...)  
  
mapTexture.draw(0,0);