Viewing Gigapixel Images Daniel Garcia-Briseno Matthew Ostovarpour Thomas O’Brien Douglas Peterson
Total Page:16
File Type:pdf, Size:1020Kb
● Current image renderers require buffering and again timeViewing Gigapixel Images Daniel Garcia-Briseno Matthew Ostovarpour Thomas O’Brien Douglas Peterson 1 Faculty Mentor: James Palmer ● Professor of Computer Science ● Computer Science and Electrical Engineering Chair 2 United States Geological Survey (USGS) Sponsor: Trent Hare ● Graduated from NAU with B.S. in Computer Mathematics and M.S. E in Computer Science. ● GIS-based analysis ● Creation of geospatial tools. 3 Our Goals ● Refine last year’s work ● Reduce current sampling times ● Develop robust GUI ● Probably should combine this with the our project slide 4 Last Year’s Project What they did: What they did not: ● Implement stochastic sampling ● Build on Linux ● Create primitive viewer ● Showed increased speed 5 The Problem ● Slow read times ● Panning/Zooming non-processed images ● Pyramids 6 Requirements Acquisition Talk about how and from where we got our requirements We should go into a medium amount of detail for this I left the pyramid picture here so that we can use it for something else if we need it 7 Image Viewers ● Tuiview ● Cartographica for Mac ● ArcGIS ● Geographic Imager plugin for Photoshop ● OpenEV ● QuantumGIS 8 Our Project 1. Create a stochastic image reader inside GDAL. 2. Create an interactive image viewer to utilize the reader. 9 Why inside GDAL? ● Accessible through C, C++, and Python ● Support for plenty of image formats (Listed Below) Aeronav FAA files Google Fusion Tables Arc/Info ASCII Grid AmigoCloud API Google Maps Engine ACE2 ESRI .hdr Labelled ESRI ArcObjects GML ADRG/ARC Digitilized Raster Graphics (.gen/.thf) Erdas Imagine Raw Arc/Info Binary Coverage GMT Arc/Info Binary Grid (.adf) NASA ELAS Arc/Info .E00 (ASCII) Coverage GPSBabel AIRSAR Polarimetric ENVI .hdr Labelled Raster Arc/Info Generate GPX Azavea Raster Grid Epsilon - Wavelet compressed images Atlas BNA GRASS Vector Format Magellan BLX Topo (.blx, .xlb) ERMapper (.ers) AutoCAD DWG GPSTrackMaker (.gtm, .gtz) Bathymetry Attributed Grid (.bag) Envisat Image Product (.n1) AutoCAD DXF Hydrographic Transfer Format Microsoft Windows Device Independent Bitmap (.bmp) EOSAT FAST Format CartoDB Idrisi Vector (.VCT) BPG (Better Portable Graphics) FIT Cloudant / CouchDB Informix DataBlade BSB Nautical Chart Format (.kap) FITS (.fits) CouchDB / GeoCouch INTREST Data Format VTP Binary Terrain Format (.bt) Fuji BAS Scanner Image Comma Separated Value (.csv) INTERLIS CALS Type I Generic Binary (.hdr Labelled) OGC CSW (Catalog Service for the Web) INGRES CEOS (Spot for instance) GeoPackage Czech Cadastral Exchange Data Format JML DRDC COASP SAR Processor Raster Oracle Spatial GeoRaster DODS/OPeNDAP KML TerraSAR-X Complex SAR Data Product GSat File Format EDIGEO LIBKML Convair PolGASP data Graphics Interchange Format (.gif) ElasticSearch Mapinfo File USGS LULC Composite Theme Grid WMO GRIB1/GRIB2 (.grb) ESRI FileGDB Microstation DGN DirectDraw Surface GMT Compatible netCDF ESRI Personal GeoDatabase Memory Spot DIMAP (metadata.dim) GRASS Raster Format ESRI ArcSDE MySQL ELAS DIPEx GRASS ASCII Grid ESRI Shapefile NAS - ALKIS DODS / OPeNDAP Golden Software ASCII Grid FMEObjects Gateway Oracle Spatial First Generation USGS DOQ (.doq) Golden Software Binary Grid GeoJSON ODBC New Labelled USGS DOQ (.doq) Golden Software Surfer 7 Binary Grid Géoconcept Export MS SQL Spatial Military Elevation Data (.dt0, .dt1, .dt2) GSC Geogrid Geomedia .mdb Open Document Spreadsheet Arc/Info Export E00 GRID Generic Tagged Arrays (.gta) 10 GeoPackage OGDI Vectors (VPF, VMAP, DCW) ECRG Table Of Contents (TOC.xml) TIFF / BigTIFF / GeoTIFF (.tif) GeoRSS More Vector formats... ERDAS Compressed Wavelets (.ecw) More Raster Formats... Image Downsampling Process ● Averaging ○ Average each pixel in a block ● Decimation ○ Use only the first pixel in each block 11 Image credit: USGS 12 13 Downsampling a 1 gigapixel image (1 billion pixels) 32 x 32 Pixels per block = 1024 pixel blocks 976,563 blocks per image average block value = 1023 adds + 1 divide 1024 calculations/block * 976,563 blocks = 1,000,000,000 mathematical operations for the image, plus 1,000,000,000 reads for each pixel. 14 Risks ● Quality is lost during downsampling ○ Will the increased speed be worth the quality that is lost? ○ Testing different amounts of samples could help to mediate this risk. ● High Color Variation ○ Result in slow sampling speed ○ Just test for RGB to speed up 15 Key Requirements ● Must be faster than current readers ● Must produce a viewable image ○ Image quality must be high enough to view features in the image ● Scalable image quality ○ When zooming in on image, the quality should increase ● Support for multiple image formats 16 Schedule 17 Conclusion ● Current image readers are inefficient. ● Stochastic reader has potential to improve productivity. ● GDAL integration will allow it to be used by anyone. 18.