StatsTransformer#
- class StatsTransformer[source]#
Bases:
RasterTransformerTransforms non-uint8 to uint8 values using channel statistics.
This works as follows:
Convert pixel values to z-scores using channel means and standard deviations.
Clip z-scores to the specified number of standard deviations (default 3) on each side.
Scale values to 0-255 and cast to uint8.
This transformation is not applied to NODATA pixels (assumed to be pixels with all values equal to zero).
Attributes
Current statistics as a
RasterStatsinstance.- __init__(means: Sequence[float], stds: Sequence[float], max_stds: float = 3.0)[source]#
Construct a new StatsTransformer.
Methods
__init__(means, stds[, max_stds])Construct a new StatsTransformer.
from_raster_sources(raster_sources[, ...])Build with stats from the given raster sources.
from_raster_stats(stats[, channel_order])Build with stats from a
RasterStatsinstance.from_stats_json(uri[, channel_order])Build with stats from a JSON file.
get_out_channels(in_channels)Number of channels in output of
transform().get_out_dtype(in_dtype)dtype of the output of
transform().transform(chip)Clip values to +-max_stds std devs and convert to uint8 (0-255).
- __init__(means: Sequence[float], stds: Sequence[float], max_stds: float = 3.0)[source]#
Construct a new StatsTransformer.
- classmethod from_raster_sources(raster_sources: list['RasterSource'], sample_prob: float | None = 0.1, max_stds: float = 3.0, chip_sz: int = 300) Self[source]#
Build with stats from the given raster sources.
- Parameters
raster_sources (list[RasterSource]) – List of raster sources to compute stats from.
sample_prob (float) – Fraction of each raster to sample for computing stats. For details see docs for RasterStats.compute(). Defaults to 0.1.
max_stds (float) – Number of standard deviations to clip the distribution to on both sides. Defaults to 3.
chip_sz (int) –
- Returns
A StatsTransformer.
- Return type
- classmethod from_raster_stats(stats: RasterStats, channel_order: list[int] | None = None, **kwargs) Self[source]#
Build with stats from a
RasterStatsinstance.The file is expected to be in the same format as written by
RasterStats.save().- Parameters
stats (RasterStats) – A
RasterStatsinstance with non-None stats.channel_order (list[int] | None) – Channel order to apply to the means and stds in the
RasterStats.**kwargs – Extra args for
__init__().
- Returns
A StatsTransformer.
- Return type
Self
- classmethod from_stats_json(uri: str, channel_order: list[int] | None = None, **kwargs) Self[source]#
Build with stats from a JSON file.
The file is expected to be in the same format as written by
RasterStats.save().- Parameters
uri (str) – URI of the JSON file.
channel_order (list[int] | None) – Channel order to apply to the means and stds in the file.
**kwargs – Extra args for
__init__().
- Returns
A StatsTransformer.
- Return type
Self
- transform(chip: ndarray) ndarray[source]#
Clip values to +-max_stds std devs and convert to uint8 (0-255).
- property stats: RasterStats#
Current statistics as a
RasterStatsinstance.