Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 12 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,19 @@
# async-tiff

An async [TIFF](https://en.wikipedia.org/wiki/TIFF) reader.
An async, low-level [TIFF](https://en.wikipedia.org/wiki/TIFF) reader.

The existing [`tiff` crate](https://crates.io/crates/tiff) is great, but only supports synchronous reading of TIFF files. Furthermore, due to low maintenance bandwidth it is not designed for extensibility (see [#250](https://github.com/image-rs/image-tiff/issues/250)).
## Features

- Support for tiled TIFF images.
- Read directly from object storage providers, via the `object_store` crate.
- Support for user-defined decompression algorithms.
- Tile request merging and concurrency.

<!-- [Full documentation](https://docs.rs/async-tiff/). (version 0.1.0 will be published when object_store 0.12 is released.) -->

This crate is designed to be a minimal, low-level interface to read tiled TIFF files in an async way.
## Background

The existing [`tiff` crate](https://crates.io/crates/tiff) is great, but only supports synchronous reading of TIFF files. Furthermore, due to low maintenance bandwidth it is not designed for extensibility (see [#250](https://github.com/image-rs/image-tiff/issues/250)).

It additionally exposes geospatial-specific TIFF tag metadata.

Expand Down
3 changes: 3 additions & 0 deletions src/decoder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@ use crate::tiff::tags::{CompressionMethod, PhotometricInterpretation};
use crate::tiff::{TiffError, TiffUnsupportedError};

/// A registry of decoders.
///
/// This allows end users to register their own decoders, for custom compression methods, or
/// override the default decoder implementations.
#[derive(Debug)]
pub struct DecoderRegistry(HashMap<CompressionMethod, Box<dyn Decoder>>);

Expand Down