🗺️ Tiny viewer for large GDAL rasters written in rust 🦀
- GDAL raster support: open
GTiff,ENVI,ROIPACfiles and more... If it is a raster it will open (190 drivers available in the bundled version). - Raster information: display the metadata of your raster. Handy.
- Fast display: compiled rendering operations and tile caching allows seemless raster exploration. For very large rasters, consider creating overviews using GDAL (
gdaladdocommand) before opening the raster in the application, or convert the file toCOGformat.#WIP - Standard color palettes: use perceptually perceptive colormaps for intuitive color rendering.
#WIP - Cube exploration: display per pixel profiles along all bands, usefull to explore time series.
#TODO - Raw rasters: simulate rasters from 2D arrays on disk, given dimensions.
#WIP
- separate loaded raster from view parameters
- allow alternatively for loading 2d arrays with user given size and format type
- Fix view parameters with user inputs
- Fix value range
- Fix invert cmap for min max colors
- Clean parameters export to user
- Add keybindings
- Add a decrease resolution parameter to allow load data at a resolution coarser than actually could have displayed
- Add extended loading strategy, by decreasing loading charge by checking panning/zooming speed and then loading coarser tiles until the view stabilize, and drop all in middle
- Invert y-axis display
- Add resolution to main dataset metadata display
- Show all file system info
- Implement loading spinner and stats waiting
- Add clap cli cmd
- Organize parameters panel
- Make button and forms wrapper
- Workaround for loading complex dtype (Rust gdal limitation)
- Save screenshot of current view (view + colorbar, need own module)
- Add index view mode (multi-band raster)
- Switch cache call to quadtree to enable coarse filling
- Add sqrt, log, gamma, histo eq conversions, dB valid only for positive data
- Add symmetric value to cmap, with phase should be -pi;+pi
- Multi-raster view, layer composition: use QGIS instead
- Projection and background layer maps: only display rasters as a pixel grid
- InSAR specific vizualisation: use InSARViz instead
NEW: GDAL dependencies is now handled by pixi, independently from any system installation.
This application builds using the Rust compiler. If you don't have rust installed, check the Rust website.
This application builds against GDAL using the pixi package manager, fetching source from conda-forge. If you don't have pixi installed, check the Pixi Website.
You can either use directly the pixi commands, or launch the pixi shell, to have the env variables correctly set, and then use normal cargo commands. When bundling (embedding GDAL), GDAl is built from source so no need for pixi.
git clone https://github.com/LeoLetellier/RasterView
cd RasterViewpixi run debug-runpixi run release-nativeThis binary bundle GDAL, and is compiled with optimization relative to your current hardware.
The binary will be located in: ./target/release-native.
This works only if GDAL was correctly installed on your system and with a compatible version. You can try with or without the bindgen feature.
cargo remove gdal-sys gdal-src
cargo add gdal -F bindgen
cargo build --releaseThe binary will be located in: ./target/release.
pixi run release-staticThis binary bundle GDAL, and is compiled with optimization for your OS.
The binary will be located in: ./target/release-static.