tiffany

A library for parsing Tagged Image File Format (Tiff) files

License

License

Categories

Categories

Data
GroupId

GroupId

ag.granular
ArtifactId

ArtifactId

tiffany-metadata
Last Version

Last Version

0.1.2
Release Date

Release Date

Type

Type

module
Description

Description

tiffany
A library for parsing Tagged Image File Format (Tiff) files
Project URL

Project URL

https://github.com/granular-oss/tiffany
Source Code Management

Source Code Management

https://github.com/granular-oss/tiffany

Download tiffany-metadata

Dependencies

compile (1)

Group / Artifact Type Version
org.jetbrains.kotlin : kotlin-stdlib-common jar 1.4.10

Project Modules

There are no modules declared in this project.

Tiffany

A library for parsing Tagged Image File Format (Tiff) files on any platform (currently JVM and native iOS)

The library inspired by the TIFF Java developed at the National Geospatial-Intelligence Agency (NGA) in collaboration with BIT Systems. The software use, modification, and distribution rights are stipulated within the MIT license.

Pull Requests

If you'd like to contribute to this project, please make a pull request. We'll review the pull request and discuss the changes. All pull request contributions to this project will be released under the MIT license.

About

Tiffany is a Kotlin Multiplatform library for reading and writing Tagged Image File Format files. Implementation is based on the TIFF specification and ported from TIFF Java implementation: https://github.com/ngageoint/tiff-java/

Usage

View the latest Javadoc TODO

Read

//val data: ByteArray = ...

val tiffFile: TIFFImage = TiffReader(data).readTiff()
val fileDirectories: List<FileDirectory> = tiffFile?.fileDirectories

// read the first directory in tiff file
val fileDirectory = fileDirectories[0]
val rasters: TypedRasters = fileDirectory.readTypedRasters()

// get the width and height
val rasterWidth = rasters.width
val rasterHeight = rasters.height

val samples1: ShortArray = (rasters.samples[0] as TypedSample.ShortSample).data
val samples2: ShortArray = (rasters.samples[1] as TypedSample.ShortSample).data

Write

val tiffImage: TiffImage = ...
val tiffBytes: ByteArray = TiffWriter().writeTiffToBytes(tiffImage)

Installation

TODO provide link to the maven once published

Build

Build this repository using Gradle:

    ./gradlew build

Publish to local maven for local testing:

    ./gradlew publishToMavenLocal
ag.granular

Granular, Inc

Granular Open Source Software

Versions

Version
0.1.2
0.1.1
0.1.0
0.0.1