At Arc Desktop 10.6.1, I have an aerial photo tif image: 4-band (RGBA), 16-bit, unsigned integer. When displayed, it shows as natural-color. Here's a screen snip of just a small portion of the image:

enter image description here


The image's file size - 14 GB(!) - is too great. I suspect the large file size results from its 3-inch pixel resolution and 4 bands.

I would like to reduce the image's file size, while a) keeping the same pixel dimensions, and b) retaining some degree of the original color. In other words, I'm willing to accept a limited range of colors in the output if I can keep the 3-inch pixel size. Given the 3-inch constraint, my only option appears to be to reduce the number of bands to one.

If a single-band output could be achieved with 16-bit color, its resulting 65,536 colors just might be enough. I need to answer that question, but have not yet been able to output such a single-band color image.

This screen snip shows conceptually what I would like to accomplish in Arc:

enter image description here Source

Although this example utilized satellite imagery, and outputs to a false-color image, it shows my train of thought: reduce file size by merging the RGB bands into a single output band containing some degree of color.

Efforts to date:

I've been able to create a single-band grey image using this flow:

  1. Using the Arcmap > Windows > Image Analysis tool, Clip the source image
  2. In the ensuing raster Layer Properties > Functions > R-click > Insert Function > Grayscale Function > apply equal weights to R, G, and B.

The output image is now single-band, 16-bit, and it's file size is reduced from 14 GB to 3 GB. Good news, but unfortunately it's not color...

I've tried other functions in addition to Grayscale, but to no avail.

How can I merge the multiple bands into a single color band, using Arc?

  • 1
    Have you considered converting it to an 8-bit, 4-band image? That will still give you 256 color levels per band, and also provide a significant size reduction. – Bjorn May 24 '19 at 16:46
  • @Bjorn D'Oh! Why didn't I think of that! You have a great idea. I used Arc Raster Copy, and the output file size is cut in half, to 7 GB. The colors looked great. I also tried a 4-bit output, and its file size was cut in half again to 3.5 GB, but the colors started to look a little dodgy. But I'm still hoping for a single-band, 16-bit color solution, which - if my math is correct - should result in 3.5 GB with 65K color. – Stu Smith May 24 '19 at 18:56
  • 4-bits will only offer 16 color levels/band; which would be the same as your single-band, 16-bit solution. If you don't need the extra band, stripping it out would reduce the size by another 25%. – Bjorn May 24 '19 at 19:40
  • Trying to put 3 bands in a 16-bit space would only allow 5 bits/band (32 color levels), only slightly better than your 4-bit attempt. And it would require special compress/decompress routines before any programs could read it. – Bjorn May 24 '19 at 19:44
  • PS there's no such thing as a single band colour raster (excluding colour tables). You need one band per colour channel. Look into lossy compressed (i.e jpeg) 8bit per channel formats. – user2856 May 25 '19 at 9:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.