Alpha channel management with a Derived Mosaic Dataset

1293
7
10-27-2021 01:04 AM
NicolasGIS
Occasional Contributor III

Hello Mosaic dataset experts,

I have 2 datasets, one 3 bands (RGB) and the second one 4 bands (RGB-Alpha).

I create for each dataset a source mosaic dataset and then I create a Derived mosaic dataset to be able to access via one source the 2 datasets.

When I display the 2 source datasets separately and configure in the symbology for the RGB-Alpha datasets Alpha=Band_4 the display is great: OK.

NicolasGIS_0-1635321386551.png

But when I display the Derived mosaic dataset the Alpha channel of the RGB-Alpha source mosaic dataset is not detected, and the display is not what is expected.

NicolasGIS_1-1635321386661.png

When I turn in the symbology Alpha=Band_4 this symbology is at some point applied to the entire Derived Mosaic Dataset while one of the source mosaic dataset doesn’t have an Alpha Channel. The display is still not what is expected.

NicolasGIS_2-1635321386753.png

Is there any solution to make the Derived Mosaic Dataset mixing 2 source mosaic dataset which only one of them have an Alpha Channel and still display it correctly?

 

Any help is appreciated !

 

Thanks

Tags (1)
0 Kudos
7 Replies
GordonSumerling
Esri Contributor

Hello Nicolas,

In these situations where you have mixed image sources, we like to use the “Build Footprints” geoprocessing tool. This effectively sets the extent of each image to the edge of the imagery and does not include padding as you have shown.

Then in the Mosaic Dataset “defaults” make the setting “Always Clip Raster to it’s Footprint”. This then ensures that no image appears outside of the image extent.

Also, if you have built overviews and they have included the padding, you will have to reconsider rebuilding the overviews as when they are built, they will honour the image footprint extent.

Gordon

0 Kudos
PeterBecker
Esri Regular Contributor

Issue here is that you need to get the 'item' function chain to recognize the 4th band to be a mask. The standard raster dataset raster type will not do this. You will need to create a raster function template the takes the 4th band and uses the mask function to set this as the mask on the source. The source (and derived) mosaic dataset can remain as 3band. Simplest way to test this is to temporarily include an additional (larger but lower resolution that covers the masked area) and set it LoPS value to 0 so that it is displayed at all scales. If the function is set correctly then this will not be covered by white. Do ensure the default properties also are set to allow no data within the footprint extent. 

The second (and possibly better) solution to this is to run build footprints by radiometry. This will refine the footprint to represent the extent of the data and then clip out all data outside the footprint. There are a number of advantages to this, but you may want to approximate the extents so that there are not many thousands of vertices.

0 Kudos
NicolasGIS
Occasional Contributor III

Hello @PeterBecker and @GordonSumerling,

Many thanks for your quick reply and suggestions !

The problem with “Build Footprints” (Radiommetry based) tool is that it has some weird results at the boundary just like on the image below:

NicolasGIS_0-1635431820789.png

Or this kind  of problem with the footprint:

NicolasGIS_3-1635432127092.png

With alpha channel activated (symbology Alpha=Band_4), transition is slightly better but not ideal either:

NicolasGIS_2-1635431820817.png

 

Any idea what could be done to avoid this problem ?

 

Thanks,

 

Nicolas

0 Kudos
PeterBecker
Esri Regular Contributor

To resolve the issue on edges of the footprint, use the shrink footprints option (part of build footprints) to bring the footprints in a small amount.

The vertical artifact you have is likely to be from the edge between two input image tiles. Do ensure you run Build Footprints for such tiled imagery with the maintain sheet cut option. Also it is better to have much bigger image tiles and preferably remove the tiling with no overlap. It can always create some issues when re-projecting. There is also a merge function that you can merge many rasters into a single time. I would not recommend with too many rasters (>100)

Also note that you can have the edges blended if you want. To do this convert the footprint to seamlines or create a new seamline polygon that defines the required edge and then set up blend. (This is another reason you will want to merge or reduce the number of images). Set the blend to be inside and define the required width

0 Kudos
NicolasGIS
Occasional Contributor III

Thank you very much for your answer.

I have for some datasets more than 100 tile, so according to you, merging such amont of tiles of rasters is not recommended.

The parameter "Maintain sheet edges" allows to remove the effect along 2 tiles. But the "Shrink distance" supposed to remove the border effect of white pixels produce some strange effects like :

Image Pasted at 2021-10-29 14-14.png

Image Pasted at 2021-10-29 14-15.png

Is it possible, as I already have the polygon representing the clipping area to affect it to the footprints ? So in this case I don't have to use "Building Footprints" as I don't think is possible to find parameters that remove all these undesirable effects for different cases.

Thanks for your help.

0 Kudos
PeterBecker
Esri Regular Contributor

Number of Records in Merge:   You can have more than 100 records, but I would check performance. If there are too many records the performance will degrade. Also if you can consider merging the many small files into a single larger dataset. (eg using mosaic GPtool). It would result in a duplicate of the data, but can be a lot simpler so long as you don't have too much data. 

Importing Geometry: If you have a footprint (eg project limit) then you can use the 'Import Mosaic Dataset Geometry' to replace the footprint with that from a feature class. You will need a common attribute to 'join' by. Also the footprints are editable, so you can use standard clipping tools within ArcGIS Pro to just clip the extent footprint by a feature.

0 Kudos
NicolasGIS
Occasional Contributor III

Many thanks for your answer @PeterBecker !

At the end the easiest solution that suited my case is to call 'Import Mosaic Dataset Geometry' with the polygon used to clip the initial raster dataset. The drawback of this solution is that at last the alpha channel is not anymore used. Also this solution doesn't work for the case where I don't have access to the clipping polygon.

0 Kudos