Describe the bug
In xrspatial/geotiff/__init__.py:2533, the GPU read path for stripped (non-tiled) TIFFs falls back to CPU via:
arr_cpu, _ = read_to_array(source, overview_level=overview_level)
The caller's max_pixels, window, and band arguments are in scope but never forwarded. Three consequences:
- A user setting a smaller
max_pixels cap still triggers a full decode under the default 1B-pixel limit.
- Windowed reads against stripped TIFFs do full-image I/O before slicing on the GPU.
- Single-band selection on a multi-band source also reads every band.
Expected behavior
Forward max_pixels, window, and band to read_to_array so the stripped-TIFF GPU path matches the contract of the tiled path.
Additional context
Same module's tiled path enforces max_pixels via _check_dimensions (line 2601). The stripped branch should be consistent.
Describe the bug
In
xrspatial/geotiff/__init__.py:2533, the GPU read path for stripped (non-tiled) TIFFs falls back to CPU via:The caller's
max_pixels,window, andbandarguments are in scope but never forwarded. Three consequences:max_pixelscap still triggers a full decode under the default 1B-pixel limit.Expected behavior
Forward
max_pixels,window, andbandtoread_to_arrayso the stripped-TIFF GPU path matches the contract of the tiled path.Additional context
Same module's tiled path enforces
max_pixelsvia_check_dimensions(line 2601). The stripped branch should be consistent.