torchgeo.transforms#
TorchGeo transforms.
- class torchgeo.transforms.AppendBNDVI(index_nir, index_blue)[source]#
Bases:
AppendNormalizedDifferenceIndexBlue Normalized Difference Vegetation Index (BNDVI).
Computes the following index:
\[\text{BNDVI} = \frac{\text{NIR} - \text{B}}{\text{NIR} + \text{B}}\]If you use this index in your research, please cite the following paper:
Added in version 0.3.
- class torchgeo.transforms.AppendEVI(index_nir, index_red, index_blue)[source]#
Bases:
IntensityAugmentationBase2DEnhanced Vegetation Index (EVI).
Computes the following index:
\[\text{EVI} = \frac{2.5 \times (\text{NIR} - \text{R})} {\text{NIR} + 6 \times \text{R} - 7.5 \times \text{B} + 1}\]If you use this index in your research, please cite the following paper:
Added in version 0.10.
- class torchgeo.transforms.AppendGBNDVI(index_nir, index_green, index_blue)[source]#
Bases:
AppendTriBandNormalizedDifferenceIndexGreen-Blue Normalized Difference Vegetation Index (GBNDVI).
Computes the following index:
\[\text{GBNDVI} = \frac{\text{NIR} - (\text{G} + \text{B})}{\text{NIR} + (\text{G} + \text{B})}\]If you use this index in your research, please cite the following paper:
Added in version 0.3.
- class torchgeo.transforms.AppendGNDVI(index_nir, index_green)[source]#
Bases:
AppendNormalizedDifferenceIndexGreen Normalized Difference Vegetation Index (GNDVI).
Computes the following index:
\[\text{GNDVI} = \frac{\text{NIR} - \text{G}}{\text{NIR} + \text{G}}\]If you use this index in your research, please cite the following paper:
Added in version 0.3.
- class torchgeo.transforms.AppendGRNDVI(index_nir, index_green, index_red)[source]#
Bases:
AppendTriBandNormalizedDifferenceIndexGreen-Red Normalized Difference Vegetation Index (GRNDVI).
Computes the following index:
\[\text{GRNDVI} = \frac{\text{NIR} - (\text{G} + \text{R})}{\text{NIR} + (\text{G} + \text{R})}\]If you use this index in your research, please cite the following paper:
Added in version 0.3.
- class torchgeo.transforms.AppendMNDWI(index_green, index_swir)[source]#
Bases:
AppendNormalizedDifferenceIndexModified Normalized Difference Water Index (MNDWI).
Computes the following index:
\[\text{MNDWI} = \frac{\text{G} - \text{SWIR}}{\text{G} + \text{SWIR}}\]If you use this index in your research, please cite the following paper:
Added in version 0.10.
- class torchgeo.transforms.AppendNBR(index_nir, index_swir)[source]#
Bases:
AppendNormalizedDifferenceIndexNormalized Burn Ratio (NBR).
Computes the following index:
\[\text{NBR} = \frac{\text{NIR} - \text{SWIR}}{\text{NIR} + \text{SWIR}}\]If you use this index in your research, please cite the following paper:
Added in version 0.2.
- class torchgeo.transforms.AppendNDBI(index_swir, index_nir)[source]#
Bases:
AppendNormalizedDifferenceIndexNormalized Difference Built-up Index (NDBI).
Computes the following index:
\[\text{NDBI} = \frac{\text{SWIR} - \text{NIR}}{\text{SWIR} + \text{NIR}}\]If you use this index in your research, please cite the following paper:
- class torchgeo.transforms.AppendNDRE(index_nir, index_vre1)[source]#
Bases:
AppendNormalizedDifferenceIndexNormalized Difference Red Edge Vegetation Index (NDRE).
Computes the following index:
\[\text{NDRE} = \frac{\text{NIR} - \text{VRE1}}{\text{NIR} + \text{VRE1}}\]If you use this index in your research, please cite the following paper:
Added in version 0.3.
- class torchgeo.transforms.AppendNDSI(index_green, index_swir)[source]#
Bases:
AppendNormalizedDifferenceIndexNormalized Difference Snow Index (NDSI).
Computes the following index:
\[\text{NDSI} = \frac{\text{G} - \text{SWIR}}{\text{G} + \text{SWIR}}\]If you use this index in your research, please cite the following paper:
- class torchgeo.transforms.AppendNDVI(index_nir, index_red)[source]#
Bases:
AppendNormalizedDifferenceIndexNormalized Difference Vegetation Index (NDVI).
Computes the following index:
\[\text{NDVI} = \frac{\text{NIR} - \text{R}}{\text{NIR} + \text{R}}\]If you use this index in your research, please cite the following paper:
- class torchgeo.transforms.AppendNDWI(index_green, index_nir)[source]#
Bases:
AppendNormalizedDifferenceIndexNormalized Difference Water Index (NDWI).
Computes the following index:
\[\text{NDWI} = \frac{\text{G} - \text{NIR}}{\text{G} + \text{NIR}}\]If you use this index in your research, please cite the following paper:
- class torchgeo.transforms.AppendNormalizedDifferenceIndex(index_a, index_b)[source]#
Bases:
IntensityAugmentationBase2DAppend normalized difference index as channel to image tensor.
Computes the following index:
\[\text{NDI} = \frac{A - B}{A + B}\]Added in version 0.2.
- class torchgeo.transforms.AppendRBNDVI(index_nir, index_red, index_blue)[source]#
Bases:
AppendTriBandNormalizedDifferenceIndexRed-Blue Normalized Difference Vegetation Index (RBNDVI).
Computes the following index:
\[\text{RBNDVI} = \frac{\text{NIR} - (\text{R} + \text{B})}{\text{NIR} + (\text{R} + \text{B})}\]If you use this index in your research, please cite the following paper:
Added in version 0.3.
- class torchgeo.transforms.AppendSAVI(index_nir, index_red)[source]#
Bases:
IntensityAugmentationBase2DSoil-Adjusted Vegetation Index (SAVI).
Computes the following index:
\[\text{SAVI} = \frac{1.5 \times (\text{NIR} - \text{R})} {\text{NIR} + \text{R} + 0.5}\]If you use this index in your research, please cite the following paper:
Added in version 0.10.
- class torchgeo.transforms.AppendSWI(index_vre1, index_swir2)[source]#
Bases:
AppendNormalizedDifferenceIndexStandardized Water-Level Index (SWI).
Computes the following index:
\[\text{SWI} = \frac{\text{VRE1} - \text{SWIR2}}{\text{VRE1} + \text{SWIR2}}\]If you use this index in your research, please cite the following paper:
Added in version 0.3.
- class torchgeo.transforms.AppendTriBandNormalizedDifferenceIndex(index_a, index_b, index_c)[source]#
Bases:
IntensityAugmentationBase2DAppend normalized difference index involving 3 bands as channel to image tensor.
Computes the following index:
\[\text{TBNDI} = \frac{A - (B + C)}{A + (B + C)}\]Added in version 0.3.
- class torchgeo.transforms.LeeFilter(window_size=7, num_looks=1.0, p=1.0, same_on_batch=False, keepdim=False)[source]#
Bases:
IntensityAugmentationBase2DLee speckle reduction filter for SAR imagery.
Applies the classic Lee (1980) adaptive filter to reduce multiplicative speckle noise while preserving edges and structural detail. Operates on SAR intensity imagery with non-negative values; amplitude and dB inputs should be converted to intensity beforehand.
If you use this method in your research, please cite the following paper:
Added in version 0.10.
- __init__(window_size=7, num_looks=1.0, p=1.0, same_on_batch=False, keepdim=False)[source]#
Initialize a new LeeFilter instance.
- Parameters:
window_size (int) – Odd integer size of the local statistics window.
num_looks (float) – Equivalent number of looks (ENL) of the input SAR data. Single-look complex (SLC) intensity has
num_looks=1.p (float) – Probability of applying the filter to each sample.
same_on_batch (bool) – Apply the same transformation across the batch.
keepdim (bool) – Whether to keep the output shape the same as input (True) or broadcast it to the batch form (False).
- Raises:
ValueError – If
window_sizeis not a positive odd integer.ValueError – If
num_looksis not strictly positive.
- class torchgeo.transforms.RandomGrayscale(weights, p=0.1, same_on_batch=False, keepdim=False)[source]#
Bases:
IntensityAugmentationBase2DApply random transformation to grayscale according to a probability p value.
There is no single agreed upon definition of grayscale for MSI. Some possibilities include:
Average of all bands: \(\frac{1}{C}\) where \(C\) is the number of spectral channels.
RGB-only bands: \([0.299, 0.587, 0.114]\) for the RGB channels, 0 for all other channels.
PCA: the first principal component across the spectral axis computed via PCA, minimizes redundant information.
The weight vector you provide will be automatically rescaled to sum to 1 in order to avoid changing the intensity of the image.
Added in version 0.5.
- __init__(weights, p=0.1, same_on_batch=False, keepdim=False)[source]#
Initialize a new RandomGrayscale instance.
- Parameters:
weights (Tensor) – Weights applied to each channel to compute a grayscale representation. Should be the same length as the number of channels.
p (float) – Probability of the image to be transformed to grayscale.
same_on_batch (bool) – Apply the same transformation across the batch.
keepdim (bool) – Whether to keep the output shape the same as input (True) or broadcast it to the batch form (False).
- class torchgeo.transforms.Rearrange(*args, **kwargs)[source]#
Bases:
GeometricAugmentationBase3DRearrange tensor dimensions.
Added in version 0.8.
Examples
To insert a time dimension:
Rearrange('b (t c) h w -> b t c h w', c=1)
To collapse the time dimension:
Rearrange('b t c h w -> b (t c) h w')
- __init__(*args, **kwargs)[source]#
Initialize a Rearrange instance.
- Parameters:
*args (Any) – Positional arguments for
einops.rearrange().**kwargs (Any) – Keyword arguments for
einops.rearrange().
- class torchgeo.transforms.SatSlideMix(gamma=1, beta=(0.0, 1.0), p=0.5)[source]#
Bases:
GeometricAugmentationBase2DApplies the Sat-SlideMix augmentation to a batch of images and masks.
Sat-SlideMix rolls (circularly shifts) images along either the height or width axis by a random amount.
If you use this method in your research, please cite the following paper:
Added in version 0.8.
- __init__(gamma=1, beta=(0.0, 1.0), p=0.5)[source]#
Initialize a new SatSlideMix instance.
- Parameters:
gamma (int) – The number of augmented samples to create for each input image. The output batch size will be gamma * B.
beta (Tensor | float | tuple[float, float] | list[float]) – The range of percentage (0.0 to 1.0) of the image dimension (height or width) to shift.
p (float) – Probability to apply the augmentation on each sample
- Raises:
AssertionError – If gamma is not a positive integer.