image-tiff icon indicating copy to clipboard operation
image-tiff copied to clipboard

Add SignedByte and SignedShort enum variants

Open weiji14 opened this issue 9 months ago • 2 comments

Support SignedByte (i8) and SignedShort (i16) types by:

  • Adding tiff::decoder::ifd::Value::SignedByte and tiff::decoder::ifd::Value::SignedShort enum variants
  • Adding TiffFormatError::SignedByteExpected and TiffFormatError::SignedShortExpected enum variants
  • Adding two new into_i8 and into_i16 methods under impl Value in src/decoder/ifd.rs

Also included two new TIFF files to test roundtrip decoding/encoding:

  • tests/images/minisblack-1c-i8b.tiff
    • Created using gdal_translate -ot Int8 -co PIXELTYPE=SIGNEDBYTE -scale 0 255 \-128 128 tests/images/minisblack-1c-8b.tiff tests/images/minisblack-1c-i8b.tiff
  • tests/images/minisblack-1c-i16b.tiff
    • Created using gdal_translate -ot Int16 -co PIXELTYPE=SIGNEDBYTE -scale 0 65536 \-32767 32767 tests/images/minisblack-1c-16b.tiff tests/images/minisblack-1c-i16b.tiff

References:

  • Page 16 in https://download.osgeo.org/libtiff/doc/TIFF6.pdf

Addresses https://github.com/image-rs/image-tiff/issues/204#issuecomment-1708003609

weiji14 avatar May 17 '24 14:05 weiji14