Skip to main content

ImageNode Implementation

This drb-driver-image module implements images data formats to be accessed with DRB data model. It is able to navigates among the images contents and accessing the image data.

Supported images formats

The current implementation is based on RasterIO module. It has been tested with Tiff/GeoTIFF, Jp2k and png formats.

There are no limitations to use other formats supported by rasterio, see https://gdal.org/drivers/raster/index.html for details.

Image Factory and Image Node

The module implements the basic factory model defined in DRB in its node resolver. Based on the python entry point mechanism, this module can be dynamically imported into applications.

The entry point group reference is drb.drivers.
The implementation name is image.
The factory class is encoded into drb-drivers-image.base_node.

The image factory creates an ImageNode from an existing image data. It uses a base node to access the content data with the streamed base node implementation.

The base node can be a FileNode (See drb-driver-file), HttpNode, ZipNode or any other node able to provide streamed (BufferedIOBase, RawIOBase, IO) image content.

Native (partial) reads

When the source can be located on GDAL's virtual filesystem, the image is opened natively instead of being copied into an in-memory MemoryFile, so GDAL reads only the headers and tiles a request needs (windowed and overview reads no longer download the whole image). This happens when:

  • the base node is a local file (opened by its path), or
  • the base node exposes a gdal-vsi locator implementation (get_impl(str, 'gdal-vsi')) — e.g. a zip member as /vsizip{<archive>}/inner (drb-driver-zip) or an S3 object as /vsis3/bucket/key (drb-driver-s3), which compose as /vsizip{/vsis3/bucket/key.zip}/inner.jp2.

Any other source falls back to the in-memory path. For a tiled JP2 in a zip on S3, a 512×512 window reads in ~1–2 s instead of downloading the full ~50–100 MB member.

limitations

The current version does not manage child modification and insertion. ImageNode is currently read only.

Using this module

To include this module into your project, the drb-driver-image module shall be referenced into requirement.txt file, or the following pip line can be run:

pip install drb-driver-image

Metadata

Release files for drb-driver-image 1.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for drb-driver-image 1.5.0
File Size Uploaded
drb_driver_image-1.5.0.tar.gz 35.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for drb-driver-image 1.5.0
File Interpreter ABI Platform
drb_driver_image-1.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 47.1 kB

Release files / drb_driver_image-1.5.0.tar.gz

Download URL drb_driver_image-1.5.0.tar.gz
Size 35.2 kB
Tags Source
SHA-256 checksum
How to use checksums
b1e9417c93eccc9924fc7f57fadf4243209731ef81bfa5fc97667645461f716c
BLAKE2b-256 checksum
How to use checksums
9c886ba29097edb23ca2908530735dce47279bef0efc38d739995316045f3a7f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/9.0.0 pkginfo/1.12.1.2 requests/2.34.2 requests-toolbelt/1.0.0 tqdm/4.68.4 CPython/3.11.15

Release files / drb_driver_image-1.5.0-py3-none-any.whl

Download URL drb_driver_image-1.5.0-py3-none-any.whl
Size 11.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b01683c90d4719f7606c3a83bbcf7de0d7d2f380d5456e6b35e4213c6afb01b5
BLAKE2b-256 checksum
How to use checksums
f971a75970b6db60e96f3940390f472923e708e7d046cee796b31ccf705549e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/9.0.0 pkginfo/1.12.1.2 requests/2.34.2 requests-toolbelt/1.0.0 tqdm/4.68.4 CPython/3.11.15

Release history Release notifications | RSS feed

This release

1.5.0 This release

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.8

2 release files

1.3.7

2 release files

1.3.6

2 release files

1.3.0

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.1

2 release files

1.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page