Skip to main content

TiTiler extension to work with non-geo images.

Project description

TiTiler Image.

Test Coverage Package version License


Source Code: https://github.com/developmentseed/titiler-image


TiTiler.image is a titiler extension to work with non-geo images.

Installation

To install from PyPI and run:

# Make sure to have pip up to date
python -m pip install -U pip

python -m pip install titiler.image

To install from sources and run for development:

python -m pip install -e .

Launch

python -m pip install uvicorn
python -m uvicorn titiler.image.main:app --reload

Using Docker

git clone https://github.com/developmentseed/titiler-image.git
cd titiler-pgstac
docker-compose up --build tiler

It runs titiler.image using Gunicorn web server. To run Uvicorn based version:

docker-compose up --build tiler-uvicorn

Factories

titiler-image provide multiple endpoint Factories (see https://developmentseed.org/titiler/advanced/tiler_factories/)

MetadataFactory

Endpoints

  • /info?url={...}

  • /metadata?url={...}

from fastapi import FastAPI
from titiler.image.factory import MetadataFactory

app = FastAPI()
meta = MetadataFactory()
app.include_router(meta.router)

IIIFFactory

Specification: https://iiif.io/api/image/3.0/

Endpoints

  • /{identifier}/info.json: IIIF Image Information Request

  • /{identifier}/{region}/{size}/{rotation}/{quality}.{format}: IIIF Image Request

  • /{identifier}: Redirect do the Image Information Request endpoint or return a simple IIIF viewer (based on headers Accept value)

from fastapi import FastAPI
from titiler.image.factory import IIIFFactory

app = FastAPI()
iiif = IIIFFactory()
app.include_router(iiif.router)

LocalTilerFactory

Endpoints

  • /tilejson.json?url={...}: TileJSON document

  • /tiles/{z}/{x}/{y}[@{scale}x.{format}]?url={...}: Tiles endpoint

  • /viewer?url={...}: Simple local tiles viewer

from fastapi import FastAPI
from titiler.image.factory import LocalTilerFactory

app = FastAPI()
local_tiles = LocalTilerFactory()
app.include_router(local_tiles.router)

GeoTilerFactory

This is a lightweight version of titiler.core.factory.TilerFactory.

Endpoints

  • [/TileMatrixSetId]/tilejson.json?url={...}: TileJSON document

  • /tiles[/TileMatrixSetId]/{z}/{x}/{y}[@{scale}x.{format}]?url={...}: Tiles endpoint

  • [/{TileMatrixSetId}]/map?url={...}: Simple dataset viewer

from fastapi import FastAPI
from titiler.image.factory import GeoTilerFactory

app = FastAPI()
geo = GeoTilerFactory()
app.include_router(geo.router)

All together

app = FastAPI()

meta = MetadataFactory()
app.include_router(meta.router, tags=["Metadata"])

iiif = IIIFFactory(router_prefix="/iiif")
app.include_router(iiif.router, tags=["IIIF"], prefix="/iiif")

image_tiles = LocalTilerFactory(router_prefix="/image")
app.include_router(image_tiles.router, tags=["Local Tiles"], prefix="/image")

geo_tiles = GeoTilerFactory(
    reader=GCPSReader, reader_dependency=GCPSParams, router_prefix="/geo"
)
app.include_router(geo_tiles.router, tags=["Geo Tiles"], prefix="/geo")

Contribution & Development

See CONTRIBUTING.md

License

See LICENSE

Authors

See contributors for a listing of individual contributors.

Changes

See CHANGES.md.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

titiler.image-0.1.0.tar.gz (21.5 kB view hashes)

Uploaded Source

Built Distribution

titiler.image-0.1.0-py3-none-any.whl (23.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page