Pyramids in ArcMap and ArcGIS Pro

473
5
Jump to solution
01-22-2024 10:59 PM
Y_Chau
by
Occasional Contributor

I have some16 bit drone images. I observed that the pyramid files generated for these images in ArcMap are 6 times smaller than in ArcGIS Pro. I can use the ArcMap OVR files in Pro also and there is no visible difference in performance. Any idea why there would be such a huge difference in the size of pyramid files?

Sincerely

0 Kudos
1 Solution

Accepted Solutions
PeterBecker
Esri Regular Contributor

I tool a look. This is a strange file. It appears to be drone imagery that was originally 8bit and has been exported as a 12bit JPEG compressed image with 256 being defined as NoData and set using JPEG12bit compression . It is not clear to me if this the original image rotated or export from an orthorectification process. Such processing creates artifacts at the edges. (In the following I set NoData to organize to highlight the issue)

PeterBecker_0-1706018459151.png

JPEG has an issue in that traditionally it does not have NoData. The software that produced the image (could have been ArcMap) set NoData as 256. Please check this and set to 255 instead which would keep it in the 8bit range and compress much better. You will still see the JPEG artifacts. There are different ways to handle the masking of 8bit JPEG but it depends on how the image was exported.

The 12bit version of JPEG is not natively supported in ArcGIS Pro hence it is converting to 16bit and using Deflate (lossless) compression hence the increase in size. There is a relatively complex work around using GLAD that can be done, but I recommend checking first on the source of how the images were created.

View solution in original post

0 Kudos
5 Replies
PeterBecker
Esri Regular Contributor

Strange. Could be related to the skipping a level (eg skip level1) or a different compression. Can you send a sample file that you have from ArcMap and will take a look.  Yes, the pyramids created in ArcMap should work fine in ArcGIS Pro.

0 Kudos
Y_Chau
by
Occasional Contributor

Hi @PeterBecker I sent you a sample image via private message. Hope to hear from you why Pro is using much larger pyramid files than ArcMap.

Sincerely

0 Kudos
PeterBecker
Esri Regular Contributor

I tool a look. This is a strange file. It appears to be drone imagery that was originally 8bit and has been exported as a 12bit JPEG compressed image with 256 being defined as NoData and set using JPEG12bit compression . It is not clear to me if this the original image rotated or export from an orthorectification process. Such processing creates artifacts at the edges. (In the following I set NoData to organize to highlight the issue)

PeterBecker_0-1706018459151.png

JPEG has an issue in that traditionally it does not have NoData. The software that produced the image (could have been ArcMap) set NoData as 256. Please check this and set to 255 instead which would keep it in the 8bit range and compress much better. You will still see the JPEG artifacts. There are different ways to handle the masking of 8bit JPEG but it depends on how the image was exported.

The 12bit version of JPEG is not natively supported in ArcGIS Pro hence it is converting to 16bit and using Deflate (lossless) compression hence the increase in size. There is a relatively complex work around using GLAD that can be done, but I recommend checking first on the source of how the images were created.

0 Kudos
Y_Chau
by
Occasional Contributor

Hi @PeterBecker thanks for the advice. Once I corrected the bit depth by setting NoData to 255 instead of 256 the image pyramids were almost the same size in both apps.

The source images are 10 times the size and are 16 bit 4-band tiffs. These came from some drone processing software. I can send one to you if you want.

I used the Make Raster Layer tool to remove the 4th band and then Copy Raster to change to 8 bit. And I used JPEG compression at 75%. Can you suggest another compression that can reduce the size and also handle NoData artifacts in a better manner?

Sincerely

0 Kudos
PeterBecker
Esri Regular Contributor

For this type of imagery I would recommend using CRF or TileCache. CRF internally enables masking of JPEG so you get JPEG compression with suitable masking all projections are supported.  CRF is very good especially for disparate data sets (eg along power lines) that could have a lot of no data areas. Use CopyRaster to create. The other alternative is to use Tile Cache, under the hood this users JPEG for tiles that have no nodata and PNG for others. In ArcGIS Pro you can use the Mange Tile Cache tools or the Generate and Publish tile cache workflow.

Naturally I would also suggest you look into Drone2Map (or SiteScan) for processing the Drone imagery. 

0 Kudos