RasterioSource#
- class RasterioSource[source]#
Bases:
RasterSource
A rasterio-based
RasterSource
.This RasterSource can read any file that can be opened by Rasterio/GDAL.
If there are multiple image files that cover a single scene, you can pass the corresponding list of URIs, and read them as if it were a single stitched-together image.
It can also read non-georeferenced images such as
.tif
,.png
, and.jpg
files. This is useful for oblique drone imagery, biomedical imagery, and any other (potentially massive!) non-georeferenced images.If channel_order is None, then use non-alpha channels. This also sets any masked or NODATA pixel values to be zeros.
Attributes
Bounding box applied to the source imagery.
Associated
CRSTransformer
.numpy.dtype
of the chips read from this source.Extent of the
RasterSource
.Number of channels in the chips read from this source.
Shape of the raster as a (height, width, num_channels) tuple.
- __init__(uris: str | list[str], raster_transformers: list['RasterTransformer'] = [], allow_streaming: bool = False, channel_order: Optional[Sequence[int]] = None, bbox: rastervision.core.box.Box | None = None, tmp_dir: str | None = None)[source]#
Constructor.
- Parameters:
uris (str | list[str]) – One or more URIs of images. If more than one, the images will be mosaiced together using GDAL.
raster_transformers (list['RasterTransformer']) – RasterTransformers to use to transform chips after they are read.
allow_streaming (bool) – If
True
, read data without downloading the entire file first. Defaults toFalse
.channel_order (Optional[Sequence[int]]) – List of indices of channels to extract from raw imagery. Can be a subset of the available channels. If
None
, all channels available in the image will be read. Defaults toNone
.bbox (rastervision.core.box.Box | None) – User-specified crop of the extent. If
None
, the full extent available in the source file is used.tmp_dir (str | None) – Directory to use for storing the VRT (needed if multiple
uris
orallow_streaming=True
). IfNone
, will be auto-generated. Defaults toNone
.
Methods
__init__
(uris[, raster_transformers, ...])Constructor.
download_data
([vrt_dir, stream])Download any data needed for this raster source.
get_chip
(window[, bands, out_shape])Read a chip specified by a window from the file.
get_chip_by_map_window
(window_map_coords, ...)Same as get_chip(), but input is a window in map coords.
get_raw_chip
(window[, out_shape])Return raw chip without applying channel_order or transforms.
resize
(chip[, out_shape])set_bbox
(bbox)Set self.bbox to the given value.
- __init__(uris: str | list[str], raster_transformers: list['RasterTransformer'] = [], allow_streaming: bool = False, channel_order: Optional[Sequence[int]] = None, bbox: rastervision.core.box.Box | None = None, tmp_dir: str | None = None)[source]#
Constructor.
- Parameters:
uris (str | list[str]) – One or more URIs of images. If more than one, the images will be mosaiced together using GDAL.
raster_transformers (list['RasterTransformer']) – RasterTransformers to use to transform chips after they are read.
allow_streaming (bool) – If
True
, read data without downloading the entire file first. Defaults toFalse
.channel_order (Optional[Sequence[int]]) – List of indices of channels to extract from raw imagery. Can be a subset of the available channels. If
None
, all channels available in the image will be read. Defaults toNone
.bbox (rastervision.core.box.Box | None) – User-specified crop of the extent. If
None
, the full extent available in the source file is used.tmp_dir (str | None) – Directory to use for storing the VRT (needed if multiple
uris
orallow_streaming=True
). IfNone
, will be auto-generated. Defaults toNone
.
- download_data(vrt_dir: str | None = None, stream: bool = False) str [source]#
Download any data needed for this raster source.
Return a single local path representing the image or a VRT of the data.
- get_chip(window: Box, bands: Optional[Union[Sequence[int], slice]] = None, out_shape: tuple[int, ...] | None = None) ndarray [source]#
Read a chip specified by a window from the file.
- Parameters:
window (Box) – Bounding box of chip in pixel coordinates.
bands (Optional[Union[Sequence[int], slice]]) – Subset of bands to read. Note that this will be applied on top of the
channel_order
(if specified). E.g. if this is an RGB image andchannel_order=[2, 1, 0]
, thenbands=[0]
will return the B-channel. Defaults toNone
.out_shape (tuple[int, ...] | None) – (height, width) of the output chip. If
None
, no resizing is done. Defaults toNone
.
- Returns:
A chip of shape (height, width, channels).
- Return type:
np.ndarray
- get_chip_by_map_window(window_map_coords: Box, *args, **kwargs) ndarray #
Same as get_chip(), but input is a window in map coords.
- get_raw_chip(window: Box, out_shape: tuple[int, int] | None = None) ndarray #
Return raw chip without applying channel_order or transforms.
- set_bbox(bbox: Box) None #
Set self.bbox to the given value.
Note
This method is idempotent.
- Parameters:
bbox (Box) – User-specified bbox in pixel coordinates.
- Return type:
None
- property crs_transformer: RasterioCRSTransformer#
Associated
CRSTransformer
.