developmentseed / titiler-image

TiTiler extension to work with non-geo images
MIT License
18 stars 4 forks source link
iiif

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

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

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

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

LocalTilerFactory

Endpoints

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

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.