Produce a vegetation / cloud / shade mask

The full radiometric filtering can be peformed with a unique function, including:

  • NDVI filtering: allows filtering to eliminate non-vegetated pixels. Nothing fancy so you may need to deal with mixed pixels… NDVI_Thresh defines the minimum NDVI value to be kept. By default, the NDVI is computed based on the NIR spectral band closest to 835 nm, and the RED spectral band closest to 670 nm. These values can be adjusted as input variables for perform_radiometric_filtering.

  • NIR filtering: allows filtering of shadows and pixels with very low signal. NIR_Thresh defines the minimum NIR value to be kept. By default, the NIR spectral band closest to 835nm is used. This value can be adjusted as input variables for perform_radiometric_filtering.

  • BLUE filtering: allows filtering of clouds, based on the hypothesis that atmospheric scattering will lead to higher reflectance in the blue domain. Blue_Thresh defines the maximum Blue reflectance to be kept. By default, the Blue spectral band closest to 480nm is used. This value can be adjusted as input variables for perform_radiometric_filtering.

The spectral bands corresponding to the Blue, Green and NIR spectral bands can be defined as optional parameters.

print("PERFORM RADIOMETRIC FILTERING")
Input_Mask_File <- perform_radiometric_filtering(Image_Path = Input_Image_File, Mask_Path = Input_Mask_File,
                                                 Output_Dir = Output_Dir, TypePCA = TypePCA,
                                                 NDVI_Thresh = NDVI_Thresh, Blue_Thresh = Blue_Thresh,
                                                 NIR_Thresh = NIR_Thresh)

Produce a spectral filter

Spectral bands or spectral domains can be discarded during the process. This is particularly useful when spectral domains with high SNR are includd in the image.

By default, the spectral domains corresponding to atmospheric water absorption are masked.

However, these spectral domains can be extended, or included with the variable Excluded_WL, which is an input variable for the function perform_PCA. The default values are the following for the spectral domains to exclude (in nanometers):

Excluded_WL <- c(0, 400)
Excluded_WL <- rbind(Excluded_WL, c(895, 1005))
Excluded_WL <- rbind(Excluded_WL, c(1180, 1480))
Excluded_WL <- rbind(Excluded_WL, c(1780, 2040))



The PCA transformation and dimensional reduction are performed in the next step.