libtiff Validation

Port build from safelibs/port-libtiff at commit 44f63f1ed486 (release build-44f63f1ed486)

1Libraries
315Tests
5Source tests
300Usage tests
10Regression tests
315 / 315Port tests passing
0Port tests failing
630 (100%)Evidence casts
1 / 1Port libraries passing

Tests

libtiff C API read write Original / libtiff / c-api-read-write Passed

Compiles a libtiff program that writes and reads a small TIFF image.

Run
Original
Kind
source
Client
none
Duration
0.00s
Tags
api compile
Log

            
Malformed TIFF rejection Original / libtiff / malformed-tiff-rejection Passed

Requires tiffinfo to fail on bytes that are not a TIFF file.

Run
Original
Kind
source
Client
none
Duration
0.00s
Tags
cli negative
Log

            
tiffcp copy behavior Original / libtiff / tiffcp-copy Passed

Copies a TIFF fixture and confirms the copied image remains readable.

Run
Original
Kind
source
Client
none
Duration
0.00s
Tags
cli media
Log

            
tiffdump structure inspection Original / libtiff / tiffdump-structure Passed

Runs tiffdump and checks expected TIFF structural tags are present.

Run
Original
Kind
source
Client
none
Duration
0.00s
Tags
cli metadata
Log

            
tiffinfo metadata inspection Original / libtiff / tiffinfo-metadata Passed

Runs tiffinfo on a checked-in TIFF image and inspects dimensions.

Run
Original
Kind
source
Client
none
Duration
0.00s
Tags
cli metadata
Log

            
Pillow add mirror TIFF Original / libtiff / usage-python3-pil-add-mirror-tiff Passed

Uses Pillow ImageChops.add on a generated TIFF and its mirrored copy and verifies the summed pixel values before round-tripping.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow add_modulo mirror TIFF Original / libtiff / usage-python3-pil-add-modulo-mirror-tiff Passed

Uses Pillow ImageChops.add_modulo on a generated TIFF and its mirrored copy and verifies the modular per-channel sums before round-tripping.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
python PIL autocontrast TIFF Original / libtiff / usage-python3-pil-autocontrast-tiff Passed

Exercises python pil autocontrast tiff through a dependent-client usage scenario.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow bilevel TIFF Original / libtiff / usage-python3-pil-bilevel-tiff Passed

Writes and reopens a 1-bit TIFF with Pillow.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow bilinear resize TIFF Original / libtiff / usage-python3-pil-bilinear-resize-tiff Passed

Resizes a TIFF fixture with bilinear resampling and verifies saved TIFF dimensions.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow blend mirror TIFF Original / libtiff / usage-python3-pil-blend-mirror-tiff Passed

Blends a generated TIFF with its mirrored copy in Pillow and verifies the blended pixel average before round-tripping.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow blend alpha one TIFF Original / libtiff / usage-python3-pil-blend-one-mirror-tiff Passed

Uses Pillow Image.blend with alpha one on a generated TIFF and verifies the result equals the mirrored image pixel-for-pixel before round-tripping.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow blend alpha zero TIFF Original / libtiff / usage-python3-pil-blend-zero-mirror-tiff Passed

Uses Pillow Image.blend with alpha zero on a generated TIFF and verifies the result equals the original image pixel-for-pixel before round-tripping.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
python PIL border expand TIFF Original / libtiff / usage-python3-pil-border-expand-tiff Passed

Exercises python pil border expand tiff through a dependent-client usage scenario.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow opens TIFF from memory Original / libtiff / usage-python3-pil-bytesio-open-tiff Passed

Loads a TIFF from an in-memory byte buffer with Pillow and verifies the decoded image dimensions.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
python PIL canvas paste TIFF Original / libtiff / usage-python3-pil-canvas-paste-tiff Passed

Exercises python pil canvas paste tiff through a dependent-client usage scenario.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow CMYK TIFF Original / libtiff / usage-python3-pil-cmyk-tiff Passed

Writes and reopens a CMYK TIFF with Pillow.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow composite halves TIFF Original / libtiff / usage-python3-pil-composite-halves-tiff Passed

Composites a generated TIFF with its mirrored copy through a half-image mask in Pillow and verifies left and right pixels come from different sources.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow convert tiff Original / libtiff / usage-python3-pil-convert-tiff Passed

Uses Pillow to run TIFF convert tiff behavior through libtiff.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python
Log

            
python PIL crop generated TIFF Original / libtiff / usage-python3-pil-crop-generated-tiff Passed

Exercises python pil crop generated tiff through a dependent-client usage scenario.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow crop tiff Original / libtiff / usage-python3-pil-crop-tiff Passed

Uses Pillow to run TIFF crop tiff behavior through libtiff.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python
Log

            
Pillow darker mirror TIFF Original / libtiff / usage-python3-pil-darker-mirror-tiff Passed

Uses Pillow ImageChops.darker on a generated TIFF and its mirrored copy and verifies the per-channel minima before round-tripping.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow Deflate TIFF save Original / libtiff / usage-python3-pil-deflate-tiff Passed

Saves a Deflate-compressed TIFF with Pillow and verifies libtiff-backed reload behavior.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python compression
Log

            
Pillow difference mirror TIFF Original / libtiff / usage-python3-pil-difference-mirror-tiff Passed

Uses Pillow ImageChops.difference on a generated TIFF and its mirrored copy and verifies the absolute per-channel difference values before round-tripping.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow duplicate darker TIFF Original / libtiff / usage-python3-pil-duplicate-darker-tiff Passed

Uses Pillow ImageChops.darker on a generated TIFF against its own copy and verifies every pixel matches the original before round-tripping.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
python PIL equalize TIFF Original / libtiff / usage-python3-pil-equalize-tiff Passed

Exercises python pil equalize tiff through a dependent-client usage scenario.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
python PIL detail filter TIFF Original / libtiff / usage-python3-pil-filter-detail-tiff Passed

Exercises python pil detail filter tiff through a dependent-client usage scenario.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
python PIL fit TIFF Original / libtiff / usage-python3-pil-fit-tiff Passed

Exercises python pil fit tiff through a dependent-client usage scenario.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow flips TIFF vertically Original / libtiff / usage-python3-pil-flip-topbottom-tiff Passed

Flips a TIFF fixture vertically with Pillow and verifies the output size.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow flip twice identity TIFF Original / libtiff / usage-python3-pil-flip-twice-identity-tiff Passed

Flips a generated TIFF twice with ImageOps.flip and verifies the result matches the original pixel-for-pixel before round-tripping.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow floating point TIFF Original / libtiff / usage-python3-pil-float-tiff Passed

Writes and reopens a floating-point TIFF with Pillow.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow TIFF bounding box Original / libtiff / usage-python3-pil-getbbox-tiff Passed

Computes a bounding box for a TIFF with Pillow and verifies a valid four-value rectangle is returned.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
python PIL getextrema TIFF Original / libtiff / usage-python3-pil-getextrema-tiff Passed

Exercises python pil getextrema tiff through a dependent-client usage scenario.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow grayscale add TIFF Original / libtiff / usage-python3-pil-grayscale-add-tiff Passed

Converts a generated TIFF to L mode and adds its mirrored copy with ImageChops.add, verifying the saturated luminance sum before saving.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow grayscale TIFF Original / libtiff / usage-python3-pil-grayscale-tiff Passed

Writes and reopens a grayscale TIFF with Pillow.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
python PIL histogram TIFF Original / libtiff / usage-python3-pil-histogram-tiff Passed

Exercises python pil histogram tiff through a dependent-client usage scenario.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow TIFF info dictionary Original / libtiff / usage-python3-pil-icc-info-tiff Passed

Reads TIFF metadata through Pillow info and tag dictionaries.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow invert generated TIFF Original / libtiff / usage-python3-pil-invert-generated-tiff Passed

Uses Pillow ImageOps.invert on a generated TIFF and verifies the inverted channel values before round-tripping.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow invert mirror lighter TIFF Original / libtiff / usage-python3-pil-invert-mirror-mirror-tiff Passed

Inverts a mirrored TIFF with ImageOps.invert and lighter-merges with the original, verifying the per-channel lighter pixel values before round-tripping.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
python PIL invert point TIFF Original / libtiff / usage-python3-pil-invert-point-tiff Passed

Exercises python pil invert point tiff through a dependent-client usage scenario.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
python PIL L mode TIFF Original / libtiff / usage-python3-pil-l-mode-tiff Passed

Exercises python pil l mode tiff through a dependent-client usage scenario.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow LA mode TIFF Original / libtiff / usage-python3-pil-la-mode-tiff Passed

Saves an LA-mode TIFF with Pillow and verifies the reloaded image preserves the grayscale-plus-alpha mode.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow lighter mirror TIFF Original / libtiff / usage-python3-pil-lighter-mirror-tiff Passed

Uses Pillow ImageChops.lighter on a generated TIFF and its mirrored copy and verifies the per-channel maxima before round-tripping.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow lzw tiff Original / libtiff / usage-python3-pil-lzw-tiff Passed

Uses Pillow to run TIFF lzw tiff behavior through libtiff.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python
Log

            
Pillow mirrors TIFF left right Original / libtiff / usage-python3-pil-mirror-left-right-tiff Passed

Mirrors a TIFF horizontally with Pillow and verifies the output dimensions remain unchanged.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow mirror twice identity TIFF Original / libtiff / usage-python3-pil-mirror-twice-identity-tiff Passed

Mirrors a generated TIFF twice with ImageOps.mirror and verifies the result matches the original pixel-for-pixel before round-tripping.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow multiframe TIFF count Original / libtiff / usage-python3-pil-multiframe-count-tiff Passed

Creates a multi-frame TIFF and verifies the total frame count with Pillow iteration.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow TIFF frame seek Original / libtiff / usage-python3-pil-multiframe-seek-tiff Passed

Creates a multi-frame TIFF and seeks to the second frame.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow multipage tiff Original / libtiff / usage-python3-pil-multipage-tiff Passed

Uses Pillow to run TIFF multipage tiff behavior through libtiff.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python
Log

            
Pillow multiply mirror TIFF Original / libtiff / usage-python3-pil-multiply-mirror-tiff Passed

Uses Pillow ImageChops.multiply on a generated TIFF and its mirrored copy and verifies the multiplied pixel values before round-tripping.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
python PIL offset TIFF Original / libtiff / usage-python3-pil-offset-tiff Passed

Exercises python pil offset tiff through a dependent-client usage scenario.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow open tiff Original / libtiff / usage-python3-pil-open-tiff Passed

Uses Pillow to run TIFF open tiff behavior through libtiff.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python
Log

            
Pillow PackBits TIFF Original / libtiff / usage-python3-pil-packbits-tiff Passed

Writes PackBits-compressed TIFF data with Pillow and verifies dimensions.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
python PIL pad TIFF Original / libtiff / usage-python3-pil-pad-tiff Passed

Exercises python pil pad tiff through a dependent-client usage scenario.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow palette TIFF Original / libtiff / usage-python3-pil-palette-tiff Passed

Writes and reopens a palette TIFF image with Pillow.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow pastes TIFF region Original / libtiff / usage-python3-pil-paste-region-tiff Passed

Pastes a TIFF onto a larger canvas with Pillow and verifies the saved output dimensions.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow point shift TIFF Original / libtiff / usage-python3-pil-point-shift-tiff Passed

Applies a point-wise channel offset to a TIFF with Pillow and verifies the saved output remains decodable.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
python PIL quantize TIFF Original / libtiff / usage-python3-pil-quantize-tiff Passed

Exercises python pil quantize tiff through a dependent-client usage scenario.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
BitsPerSample tag is a triple of 8s for an RGB Pillow TIFF Original / libtiff / usage-python3-pil-r10-tiff-bitspersample-rgb-triple Passed

Saves an RGB TIFF with Pillow and verifies tag_v2[258] BitsPerSample is exposed as a length-3 tuple where every entry equals 8, matching the three RGB samples per pixel.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tag
Log

            
Pillow TIFFs default to FillOrder MSB2LSB (1) Original / libtiff / usage-python3-pil-r10-tiff-fillorder-default-msb2lsb Passed

Saves a default RGB TIFF with Pillow and reads tag 266 back, asserting FillOrder defaults to 1 (MSB-to-LSB) when not explicitly set, matching the libtiff baseline.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python fillorder
Log

            
pal2rgb expands a Pillow palette TIFF into RGB samples Original / libtiff / usage-python3-pil-r10-tiff-pal2rgb-palette-to-rgb Passed

Saves a P-mode TIFF with Pillow, runs pal2rgb to convert it to RGB, and verifies the result reopens with mode RGB, SamplesPerPixel=3, and PhotometricInterpretation=2 (RGB).

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python pal2rgb
Log

            
ppm2tiff converts a synthetic PPM into a Pillow-readable TIFF Original / libtiff / usage-python3-pil-r10-tiff-ppm2tiff-roundtrip Passed

Writes a small binary PPM, runs ppm2tiff to wrap it as TIFF, and verifies Pillow opens the result with mode RGB, the expected size, and pixel data matching the source PPM bytes.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python ppm2tiff
Log

            
tiff2pdf -j packs a Pillow JPEG-compressed TIFF into a PDF Original / libtiff / usage-python3-pil-r10-tiff-tiff2pdf-jpeg-output Passed

Saves a JPEG-compressed RGB TIFF with Pillow, runs tiff2pdf -j to wrap it as a PDF, and verifies the output begins with the %PDF-1 magic and ends with the %%EOF trailer.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tiff2pdf
Log

            
tiff2ps emits a PostScript stream from a Pillow TIFF Original / libtiff / usage-python3-pil-r10-tiff-tiff2ps-postscript-magic Passed

Saves an RGB TIFF with Pillow, runs tiff2ps to convert it, and verifies the output begins with the %!PS-Adobe magic and contains a %%BoundingBox header.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tiff2ps
Log

            
tiff2rgba expands a Pillow palette TIFF into RGBA samples Original / libtiff / usage-python3-pil-r10-tiff-tiff2rgba-palette-to-rgba Passed

Saves a P-mode palette TIFF with Pillow, runs tiff2rgba to convert it, and verifies the result reopens as RGBA with SamplesPerPixel=4 and the original geometry preserved.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tiff2rgba
Log

            
tiffcmp returns success on byte-equal Pillow TIFF copies Original / libtiff / usage-python3-pil-r10-tiff-tiffcmp-equal-files Passed

Saves an RGB TIFF with Pillow, copies it to a second file, and verifies tiffcmp exits 0 with no diff lines printed.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tiffcmp
Log

            
Pillow mode "1" bilevel TIFF passes through libtiff's tiffcp -c lzw Original / libtiff / usage-python3-pil-r10-tiff-tiffdither-bilevel-output Passed

Saves a Pillow mode "1" (1-bit) bilevel TIFF and round-trips it through libtiff's tiffcp -c lzw, then verifies the output is still a 1-bit, 32x16 TIFF with LZW compression via tiffinfo, exercising libtiff's bilevel reader and the LZW codec on Pillow-produced 1-bit imagery. (libtiff's tiffdither tool refuses Pillow output with "Not a b&w image" because Pillow's mode-L default save varies in SamplesPerPixel/PhotometricInterpretation — tiffcp on a true 1-bit source is the documented stable surface.)

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python libtiff-tools
Log

            
tiffset rewrites Software tag on a Pillow TIFF Original / libtiff / usage-python3-pil-r10-tiff-tiffset-software-tag Passed

Saves an RGB TIFF with Pillow, uses tiffset -s 305 to overwrite the Software tag, and verifies Pillow reads the new value back from tag_v2[305].

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tiffset
Log

            
PIL TIFF saved from mode "1" reports min-is-black photometric Original / libtiff / usage-python3-pil-r11-tiff-bilevel-mode-photometric Passed

Saves a Pillow mode='1' bilevel image to TIFF and verifies tiffinfo reports "Photometric Interpretation: min-is-black" (PhotometricInterpretation tag value 1) which is the libtiff convention for 1-bit bitmaps written from PIL.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python photometric bilevel
Log

            
PIL CMYK TIFF reports separated photometric and SamplesPerPixel 4 Original / libtiff / usage-python3-pil-r11-tiff-cmyk-photometric-separated Passed

Saves a Pillow CMYK image to TIFF and verifies tiffinfo reports "Photometric Interpretation: separated" and "Samples/Pixel: 4", reflecting the four ink channels of CMYK.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python cmyk photometric
Log

            
PIL bilevel TIFF saved with group4 reports CCITT Group 4 compression Original / libtiff / usage-python3-pil-r11-tiff-group4-fax-compression Passed

Saves a Pillow mode='1' bilevel image to TIFF with compression='group4' and verifies tag_v2[259] == 4 (CCITT Group 4) and tiffinfo reports "Compression Scheme: CCITT Group 4".

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python compression fax group4
Log

            
PIL I;16 grayscale TIFF reports BitsPerSample 16 Original / libtiff / usage-python3-pil-r11-tiff-i16-bits-per-sample-16 Passed

Saves a Pillow mode='I;16' grayscale TIFF and verifies tag_v2[258] BitsPerSample == 16 and tiffinfo reports "Bits/Sample: 16", reflecting the 16-bit unsigned integer sample format used by I;16 grayscale.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python depth sixteen-bit
Log

            
PIL TIFF saved with packbits sets Compression tag to 32773 Original / libtiff / usage-python3-pil-r11-tiff-packbits-compression-tag Passed

Saves an RGB TIFF with Pillow compression='packbits' and verifies tag_v2[259] == 32773 (PackBits) and tiffinfo reports "Compression Scheme: PackBits".

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python compression packbits
Log

            
raw2tiff wraps an 8-bit grayscale buffer with declared geometry Original / libtiff / usage-python3-pil-r11-tiff-raw2tiff-grayscale-roundtrip Passed

Writes a deterministic 20x15 byte ramp to a raw file, runs raw2tiff with -w 20 -l 15 -b 1 -d byte, and verifies tiffinfo reports the exact ImageWidth/ImageLength and 8 bits-per-sample on the produced TIFF.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff raw2tiff cli
Log

            
PIL RGBA TIFF tags ExtraSamples=2 (unassociated alpha) and Samples/Pixel=4 Original / libtiff / usage-python3-pil-r11-tiff-rgba-extra-samples-alpha Passed

Saves a Pillow RGBA TIFF and verifies tag_v2[277] SamplesPerPixel == 4 and tag_v2[338] ExtraSamples == (2,) (UNASSALPHA), confirming the alpha channel is recorded as unassociated alpha rather than premultiplied.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python alpha rgba
Log

            
tiff2pdf produces a PDF whose page count matches the multi-page TIFF Original / libtiff / usage-python3-pil-r11-tiff-tiff2pdf-multipage-page-count Passed

Builds a 4-page TIFF with Pillow save_all + append_images, runs tiff2pdf, and verifies pdfinfo reports exactly Pages: 4 in the output PDF.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff tiff2pdf multipage
Log

            
tiffset rewrites the Orientation tag and tiffinfo reports the new sense Original / libtiff / usage-python3-pil-r11-tiff-tiffset-orientation-tag Passed

Saves an RGB TIFF, runs tiffset -s 274 6 to set Orientation=6 (row 0 rhs, col 0 top), and verifies tiffinfo's "Orientation" line reports the new orientation token rather than the default.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff tiffset orientation
Log

            
tiffsplit with explicit prefix produces aaa/aab/aac single-image files Original / libtiff / usage-python3-pil-r11-tiff-tiffsplit-prefix-output-naming Passed

Builds a 3-page TIFF and runs tiffsplit with an explicit prefix; verifies the resulting files are named "<prefix>aaa.tif", "<prefix>aab.tif", "<prefix>aac.tif" (libtiff's deterministic alphabetic suffix sequence) and each contains exactly one TIFF directory.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff tiffsplit naming
Log

            
PIL I;16 TIFF preserves a 40000 pixel value through libtiff write/read Original / libtiff / usage-python3-pil-r12-tiff-16bit-grayscale-pixel-roundtrip Passed

Saves an I;16 grayscale TIFF whose every pixel is 40000 and verifies the reopened image's mode is 'I;16' and getpixel((0,0)) returns 40000 unchanged, asserting libtiff stores 16-bit grayscale samples without truncation to 8 bits.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python sixteen-bit grayscale
Log

            
PIL TIFF saved with tiff_adobe_deflate sets Compression tag 8 and tiffinfo reports AdobeDeflate Original / libtiff / usage-python3-pil-r12-tiff-adobe-deflate-compression-tag-8 Passed

Saves an RGB TIFF with Pillow compression='tiff_adobe_deflate' and verifies tag_v2[259] == 8 (AdobeDeflate) and tiffinfo reports "Compression Scheme: AdobeDeflate", the modern z-streams TIFF codec id.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python compression deflate
Log

            
PIL TIFF saved with tiff_deflate sets Compression tag 32946 Original / libtiff / usage-python3-pil-r12-tiff-deflate-compression-tag-32946 Passed

Saves an RGB TIFF with Pillow compression='tiff_deflate' and verifies tag_v2[259] == 32946 (Deflate, original Adobe TIFF Technical Note 2 codec id), distinguishing it from the alternative tiff_adobe_deflate value 8.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python compression deflate
Log

            
PIL TIFF saved with tiff_lzw sets Compression tag 5 and tiffinfo reports LZW Original / libtiff / usage-python3-pil-r12-tiff-lzw-compression-tag-5 Passed

Saves an RGB TIFF with Pillow compression='tiff_lzw' and verifies tag_v2[259] == 5 (LZW) and tiffinfo reports "Compression Scheme: LZW", asserting the libtiff LZW codec path from Pillow.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python compression lzw
Log

            
PIL Image.n_frames reports 3 for a three-page TIFF Original / libtiff / usage-python3-pil-r12-tiff-multipage-n-frames-three Passed

Builds a 3-page TIFF using save_all and append_images and verifies Image.n_frames == 3 on reopen, reflecting the libtiff multi-directory layout discovered by Pillow.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python multipage frames
Log

            
PIL TIFF seek/tell cycle through frames matches the seeked index Original / libtiff / usage-python3-pil-r12-tiff-multipage-seek-tell-cycle Passed

Builds a 4-page TIFF with distinct solid colors and verifies Image.seek(i) followed by Image.tell() == i for i in 0..3, asserting the libtiff IFD walking is invoked correctly through Pillow.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python multipage seek
Log

            
PIL TIFF saved with compression='raw' sets Compression tag 1 (none) Original / libtiff / usage-python3-pil-r12-tiff-raw-uncompressed-compression-tag-1 Passed

Saves an RGB TIFF with Pillow compression='raw' and verifies tag_v2[259] == 1 (no compression), exercising the explicit no-compression Pillow alias.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python compression raw
Log

            
PIL TIFF saved with dpi=(300,300) reports ResolutionUnit=2 (inch) Original / libtiff / usage-python3-pil-r12-tiff-resolution-unit-tag-2-inch Passed

Saves an RGB TIFF with Pillow dpi=(300,300) and verifies tag_v2[296] ResolutionUnit == 2 (inch) and tag_v2[282] XResolution and tag_v2[283] YResolution evaluate to 300, asserting the tag is set even when unit is the libtiff default.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python resolution dpi
Log

            
PIL TIFF Software (305) and ImageDescription (270) round-trip via tiffinfo Original / libtiff / usage-python3-pil-r12-tiff-software-and-imagedescription-tags Passed

Saves a TIFF with explicit Software and ImageDescription string tags via Pillow's tiffinfo argument and verifies tiffinfo reports both lines verbatim and Pillow re-reads tag_v2[305] and tag_v2[270] with the same values.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tags ascii
Log

            
tiffcp converts a Pillow stripped TIFF into a tiled TIFF with TileWidth/TileLength=64 Original / libtiff / usage-python3-pil-r12-tiff-tile-options-tagged Passed

Saves an RGB TIFF with Pillow (stripped layout) and runs libtiff's tiffcp -t -w 64 -l 64 to convert it into a tiled TIFF, then asserts tiffinfo reports "Tile Width: 64" and "Tile Length: 64" in the output metadata. (Pillow's TIFF writer does not honour a "tile" save kwarg; tiffcp is the libtiff-side surface for producing tiled imagery and is what this test exercises.)

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tiled
Log

            
PIL bilevel TIFF saved with group3 reports CCITT Group 3 in tiffinfo Original / libtiff / usage-python3-pil-r13-tiff-ccitt-fax-t4-bilevel Passed

Saves a Pillow mode='1' bilevel image with compression='group3' and verifies tiffinfo reports "Compression Scheme: CCITT Group 3" on the resulting file, asserting the libtiff Group 3 (T.4) fax codec round-trips through Pillow.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python compression fax group3
Log

            
PIL F mode TIFF preserves a 0.5 float pixel through libtiff Original / libtiff / usage-python3-pil-r13-tiff-f-mode-float-zero-readback Passed

Builds a Pillow mode "F" image filled with 0.5, saves it as TIFF, and verifies the reopened mode is "F", size is unchanged, and getpixel((0,0)) is exactly 0.5 (representable as float32), asserting libtiff stores 32-bit IEEE float samples without quantisation.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python float f-mode
Log

            
PIL TIFF getexif() round-trips a DateTime ASCII (tag 306) through libtiff Original / libtiff / usage-python3-pil-r13-tiff-getexif-datetime-tag-306 Passed

Builds a Pillow Exif object with tag 306 = "2026:05:06 12:00:00", saves an RGB TIFF using exif=exif, and verifies on reopen that getexif()[306] decodes to the same string (after stripping any trailing NUL or bytes->str), asserting libtiff carries the EXIF DateTime ASCII through the Pillow round-trip.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python exif datetime
Log

            
PIL I;16 TIFF retains a 65000 pixel value on reload Original / libtiff / usage-python3-pil-r13-tiff-i16-pixel-65000-roundtrip Passed

Writes a Pillow I;16 grayscale TIFF whose every pixel is 65000 (near the 16-bit ceiling) and verifies the reopened image's mode is "I;16" and getpixel((4,2)) returns 65000 unchanged, asserting libtiff carries 16-bit grayscale samples without 8-bit truncation.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python sixteen-bit grayscale
Log

            
PIL TIFF description kwarg writes ImageDescription tag 270 readable on reopen Original / libtiff / usage-python3-pil-r13-tiff-imagedescription-via-description-kwarg Passed

Saves a Pillow TIFF with the description= keyword and verifies on reopen that tag_v2.get(270) (ImageDescription) returns the same ASCII string, asserting Pillow forwards the keyword into the libtiff IFD.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python ascii description
Log

            
PIL TIFF saved with tiff_adobe_deflate reports info["compression"] as a deflate variant Original / libtiff / usage-python3-pil-r13-tiff-info-compression-string-deflate Passed

Saves an RGB TIFF with Pillow compression='tiff_adobe_deflate' and verifies image.info["compression"] is one of the documented deflate string ids ("tiff_adobe_deflate" or "tiff_deflate"), exercising the libtiff zip codec discovery path through the Pillow info dictionary rather than via the numeric Compression tag.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python compression deflate
Log

            
PIL TIFF saved with tiff_lzw exposes info["compression"] string "tiff_lzw" Original / libtiff / usage-python3-pil-r13-tiff-info-compression-string-lzw Passed

Saves an RGB TIFF with Pillow compression='tiff_lzw' and verifies that on reopen image.info["compression"] is the literal string "tiff_lzw" (PIL's string id, not the numeric tag), asserting the libtiff LZW codec is announced through the Pillow info dict.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python compression lzw
Log

            
PIL TIFF saved with compression='raw' reports info["compression"] == "raw" Original / libtiff / usage-python3-pil-r13-tiff-info-compression-string-raw Passed

Saves an RGB TIFF with Pillow compression='raw' (no compression) and verifies image.info["compression"] is exactly the string "raw", asserting Pillow propagates the "uncompressed" alias verbatim through the libtiff write path on reopen.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python compression raw
Log

            
PIL TIFF dpi=(150,150) round-trips through image.info["dpi"] Original / libtiff / usage-python3-pil-r13-tiff-info-dpi-150-tuple Passed

Saves an RGB TIFF with dpi=(150,150) and verifies image.info["dpi"] on reopen evaluates to (150.0, 150.0) when each entry is cast to float, asserting Pillow's TIFF reader pulls XResolution/YResolution into the info dict consistent with the libtiff write of those rationals.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python dpi info
Log

            
PIL TIFF save_all + append_images builds a 5-frame TIFF Original / libtiff / usage-python3-pil-r13-tiff-multipage-save-all-five-frames Passed

Saves five distinct solid-color RGB pages to a single TIFF using save_all=True with append_images of length four, then verifies Image.n_frames == 5 on reopen, asserting libtiff records all five IFDs and Pillow walks them.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python multipage save_all
Log

            
PIL TIFF dpi=(72,72) round-trips through image.info["dpi"] Original / libtiff / usage-python3-pil-r14-tiff-dpi-72-tuple-roundtrip Passed

Saves an RGB TIFF with dpi=(72,72) and verifies image.info["dpi"] on reopen evaluates to (72.0, 72.0) when each entry is cast to float, asserting Pillow's TIFF reader pulls XResolution/YResolution into the info dict consistent with the libtiff write of those rationals at the screen-typical 72 dpi.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python dpi info
Log

            
PIL TIFF getexif() round-trips Make (271) and Model (272) ASCII strings Original / libtiff / usage-python3-pil-r14-tiff-getexif-make-model-roundtrip Passed

Builds a Pillow Exif object with tag 271 (Make) = "ValidatorCo" and 272 (Model) = "ValidatorCam X1", saves an RGB TIFF using exif=exif, and verifies on reopen that getexif()[271] and getexif()[272] decode (after stripping any trailing NUL or bytes->str) to the same strings, asserting libtiff carries the Make/Model ASCII through the Pillow round-trip.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python exif make model
Log

            
PIL TIFF tag_v2[257] (ImageLength) reads back the saved image height Original / libtiff / usage-python3-pil-r14-tiff-imagelength-tag-257-readback Passed

Saves a 19x43 RGB TIFF and verifies that tag_v2.get(257) (ImageLength) on reopen equals 43 (matching image.size[1]), asserting libtiff records the canonical ImageLength tag and Pillow surfaces it as an integer through the v2 IFD.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tags imagelength
Log

            
PIL TIFF tag_v2[256] (ImageWidth) reads back the saved image width Original / libtiff / usage-python3-pil-r14-tiff-imagewidth-tag-256-readback Passed

Saves a 37x21 RGB TIFF and verifies that tag_v2.get(256) (ImageWidth) on reopen equals 37 (matching image.size[0]), asserting libtiff records the canonical ImageWidth tag and Pillow surfaces it as an integer through the v2 IFD.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tags imagewidth
Log

            
PIL bilevel TIFF saved with group3 exposes info["compression"] string "group3" Original / libtiff / usage-python3-pil-r14-tiff-info-compression-string-group3 Passed

Saves a mode "1" bilevel TIFF with Pillow compression='group3' and verifies image.info["compression"] equals "group3" (PIL's string id for the CCITT T.4 codec, numeric Compression tag value 3) on reopen, asserting libtiff's Group 3 fax codec is announced through the Pillow info dict.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python compression group3
Log

            
PIL bilevel TIFF saved with group4 exposes info["compression"] string "group4" Original / libtiff / usage-python3-pil-r14-tiff-info-compression-string-group4 Passed

Saves a mode "1" bilevel TIFF with Pillow compression='group4' and verifies image.info["compression"] equals "group4" (PIL's string id for the CCITT T.6 codec, numeric Compression tag value 4) on reopen, asserting libtiff's Group 4 fax codec is announced through the Pillow info dict.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python compression group4
Log

            
PIL TIFF saved with packbits exposes info["compression"] string "packbits" Original / libtiff / usage-python3-pil-r14-tiff-info-compression-string-packbits Passed

Saves an RGB TIFF with Pillow compression='packbits' and verifies that on reopen image.info["compression"] is exactly the literal string "packbits" (PIL's string id, not the numeric tag value 32773), asserting the libtiff PackBits codec is announced through the Pillow info dict.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python compression packbits
Log

            
PIL TIFF saved with jpeg compression exposes info["compression"] as a jpeg id Original / libtiff / usage-python3-pil-r14-tiff-info-compression-string-tiff-jpeg Passed

Saves an RGB TIFF with Pillow compression='jpeg' and verifies image.info["compression"] is one of the jpeg-family string ids ("jpeg" or "tiff_jpeg") on reopen, asserting libtiff's JPEG-in-TIFF codec is announced through the Pillow info dict rather than via the numeric Compression tag (7).

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python compression jpeg
Log

            
PIL TIFF mode "1" 1-bit bilevel image round-trips with BitsPerSample == 1 Original / libtiff / usage-python3-pil-r14-tiff-mode-1-1bit-bilevel-roundtrip Passed

Saves a mode "1" bilevel TIFF and verifies on reopen that the mode is still "1" (which PIL only assigns when libtiff's BitsPerSample is 1 and PhotometricInterpretation is 0/1). If tag_v2[258] is surfaced, also assert it equals 1; PIL on noble does not always populate this entry on read, so a missing value is tolerated as long as the mode round-trips.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python mode-1 bilevel
Log

            
PIL TIFF mode "RGBA" round-trips and exposes a 4th alpha band on reopen Original / libtiff / usage-python3-pil-r14-tiff-mode-rgba-alpha-channel-roundtrip Passed

Saves a mode "RGBA" TIFF with a non-trivial alpha channel and verifies on reopen that mode == "RGBA", split() produces 4 bands, and the alpha band's getextrema() returns the expected (min,max) tuple, asserting libtiff round-trips the alpha sample through Pillow.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python rgba alpha
Log

            
PIL TIFF getexif() round-trips ImageDescription ASCII (tag 270) through libtiff Original / libtiff / usage-python3-pil-r15-tiff-getexif-imagedescription-tag-270 Passed

Builds a Pillow Exif object with tag 270 (ImageDescription) = "validator r15 description", saves an RGB TIFF using exif=ex, and verifies on reopen that getexif()[270] decodes to the same string after stripping trailing NUL bytes, asserting libtiff carries the ImageDescription ASCII through Pillow's getexif() round-trip.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python exif image-description
Log

            
PIL TIFF getexif() round-trips a Software ASCII (tag 305) through libtiff Original / libtiff / usage-python3-pil-r15-tiff-getexif-software-tag-305 Passed

Builds a Pillow Exif object with tag 305 = "ValidatorR15Software", saves an RGB TIFF using exif=ex, and verifies on reopen that getexif()[305] decodes to the same string after stripping any trailing NUL byte (or bytes->str), asserting libtiff carries the Software ASCII through Pillow's getexif() round-trip.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python exif software
Log

            
PIL TIFF dpi=(300,300) round-trips through image.info["dpi"] Original / libtiff / usage-python3-pil-r15-tiff-info-dpi-300-tuple Passed

Saves an RGB TIFF with dpi=(300,300) and verifies that on reopen the image.info["dpi"] tuple, when each entry is cast to float, equals (300.0, 300.0), asserting Pillow surfaces the libtiff XResolution/YResolution rationals at print-typical 300 dpi.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python dpi info
Log

            
PIL TIFF dpi=(200,100) preserves asymmetric X/Y resolution on round-trip Original / libtiff / usage-python3-pil-r15-tiff-info-dpi-asymmetric-200x100 Passed

Saves an RGB TIFF with an asymmetric dpi=(200,100) (XResolution != YResolution), then verifies on reopen that image.info["dpi"] cast to floats equals (200.0, 100.0), asserting libtiff retains the X and Y resolution rationals independently rather than collapsing them to a single value.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python dpi info asymmetric
Log

            
PIL mode "F" TIFF retains a fractional 0.5 pixel value on reload Original / libtiff / usage-python3-pil-r15-tiff-mode-f-float-half-pixel-roundtrip Passed

Writes a Pillow mode "F" (float32) TIFF whose every pixel is 0.5 and verifies the reopened image's mode is "F" and getpixel((1,1)) is exactly 0.5 (well-represented in IEEE-754 float32), asserting libtiff carries float32 sample values through Pillow's mode "F" round-trip without rounding to integer.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python f-mode float
Log

            
PIL mode "I" (int32) TIFF retains a 100000 pixel value on reload Original / libtiff / usage-python3-pil-r15-tiff-mode-i-int32-pixel-roundtrip Passed

Writes a Pillow mode "I" (int32 signed) TIFF whose every pixel is 100000 (well outside the 16-bit range) and verifies the reopened image's mode begins with "I" and getpixel((2,2)) returns 100000 unchanged, asserting libtiff carries 32-bit integer samples without truncating to 16 or 8 bits.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python i-mode int32
Log

            
PIL I;16 TIFF reports the expected extrema for a flat 32000 image Original / libtiff / usage-python3-pil-r15-tiff-mode-i16-extrema-roundtrip Passed

Writes a Pillow I;16 grayscale TIFF whose every pixel is 32000 and verifies the reopened image's mode is "I;16" and getextrema() returns (32000, 32000), asserting libtiff carries 16-bit grayscale samples and Pillow surfaces both extrema accurately for a uniform image.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python sixteen-bit extrema
Log

            
PIL mode "L" TIFF carries a 200 pixel value through getpixel after reopen Original / libtiff / usage-python3-pil-r15-tiff-mode-l-getpixel-200-roundtrip Passed

Writes a Pillow mode "L" TIFF whose every pixel is 200 (mid-bright 8-bit grayscale) and verifies the reopened image's mode is "L", size is preserved, and getpixel((3,1)) returns 200 unchanged, asserting libtiff round-trips 8-bit grayscale samples without value distortion.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python l-mode grayscale
Log

            
PIL TIFF save_all + seek(2) reaches the third page with its expected color Original / libtiff / usage-python3-pil-r15-tiff-multipage-seek-frame-2-pixel Passed

Saves three distinct solid-color RGB pages (red, green, blue) to a single TIFF using save_all=True with append_images of length two, then verifies on reopen that n_frames == 3, im.seek(2) succeeds, and getpixel((0, 0)) of the third frame returns (0, 0, 255), asserting libtiff records all three IFDs and Pillow can navigate to the third frame and recover its pixel data.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python multipage seek
Log

            
PIL RGBA TIFF returns the exact corner pixel via getpixel after reopen Original / libtiff / usage-python3-pil-r15-tiff-rgba-getpixel-corner-roundtrip Passed

Writes a Pillow mode "RGBA" TIFF filled with (12, 34, 56, 78) and verifies on reopen that mode == "RGBA" and getpixel((0, 0)) returns the same 4-tuple unchanged, asserting libtiff carries all four 8-bit RGBA samples without channel reordering or alpha drop.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python rgba getpixel
Log

            
PIL TIFF DateTime tag 306 written via tiffinfo dict survives a save+reopen Original / libtiff / usage-python3-pil-r16-tiff-datetime-tag-306-roundtrip Passed

Saves a small RGB TIFF with tag_v2 DateTime 306 supplied via the tiffinfo kwarg, reopens the file with Pillow, and asserts tag_v2[306] equals the original ASCII timestamp, exercising libtiff's ASCII DateTime tag write/read.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tag datetime
Log

            
PIL TIFF save without save_all writes a single-frame file even after a prior multi-frame save Original / libtiff / usage-python3-pil-r16-tiff-default-append-false-overwrites Passed

Writes a 3-frame multi-page TIFF with save_all=True, then re-saves to the same path with a single image and the default save_all=False, reopens with Pillow, asserts n_frames is 1, mode is L, and the only frame's (0,0) pixel matches the single-image value — exercising Pillow's default non-append save behaviour atop libtiff.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python multiframe
Log

            
PIL I;16 TIFF preserves mode I;16 and 10x7 dimensions across save and reopen Original / libtiff / usage-python3-pil-r16-tiff-i16-roundtrip-size-and-mode Passed

Saves a 10x7 I;16 image with constant value 12345 as a TIFF, reopens with Pillow, asserts the reopened mode is exactly "I;16", asserts the reopened size is (10, 7), and asserts every sampled pixel along the diagonal equals the original constant.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python sixteen-bit
Log

            
PIL TIFF ImageDescription tag 270 written via description kwarg roundtrips through tag_v2 Original / libtiff / usage-python3-pil-r16-tiff-imagedescription-tag-270-roundtrip Passed

Saves a small RGB TIFF with a fixed description=... kwarg, reopens the file with Pillow, and asserts tag_v2[270] equals the original description string, exercising libtiff's ImageDescription tag write/read path through Pillow.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tag imagedescription
Log

            
PIL RGB TIFF surfaces ImageWidth (256) and ImageLength (257) tags matching saved dimensions Original / libtiff / usage-python3-pil-r16-tiff-imagewidth-imagelength-rgb Passed

Saves a 19x13 RGB TIFF with Pillow, reopens with Pillow, asserts tag_v2[256] equals 19 and tag_v2[257] equals 13, and asserts info or the image size matches the same dimensions — exercising libtiff's width/length tags through Pillow's reader.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tag dimensions
Log

            
PIL RGB TIFF saved with tiff_lzw compression roundtrips pixel data exactly Original / libtiff / usage-python3-pil-r16-tiff-lzw-rgb-roundtrip Passed

Builds a 16x16 RGB image with a deterministic gradient, saves it as TIFF with compression='tiff_lzw', reopens with Pillow, asserts the reopened image is RGB sized 16x16, and asserts a sampled corner pixel matches the original byte-for-byte.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python lzw rgb
Log

            
PIL save_all append_images writes a 3-frame TIFF readable via seek Original / libtiff / usage-python3-pil-r16-tiff-multiimage-append-three-frames Passed

Saves a TIFF with save_all=True and append_images=[f2, f3], reopens with Pillow, asserts n_frames is 3, seeks to frames 0, 1, and 2 and asserts each frame's mode is L and the per-frame fill colour matches the originals via getpixel((0,0)).

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python multiframe
Log

            
PIL L-mode TIFF saved with packbits compression preserves dimensions and pixels Original / libtiff / usage-python3-pil-r16-tiff-packbits-grayscale-roundtrip Passed

Creates a 12x12 grayscale (L) image with a deterministic ramp, saves as TIFF with compression='packbits', reopens with Pillow, asserts mode L and size 12x12, asserts the pixel at (0,0) and (11,11) match the original values, and asserts info['compression'] is one of the accepted packbits identifiers (string 'packbits' or int 32773).

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python packbits grayscale
Log

            
PIL RGB TIFF reports PhotometricInterpretation tag 262 equal to 2 (RGB) Original / libtiff / usage-python3-pil-r16-tiff-photometric-rgb-equals-2 Passed

Saves a small RGB image as an uncompressed TIFF, reopens with Pillow, asserts tag_v2[262] (PhotometricInterpretation) equals integer 2 — the libtiff identifier for RGB — and asserts the image mode is RGB.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python photometric
Log

            
Pillow stripped TIFF re-tiled to 64x64 reports matching tile geometry via tiffinfo Original / libtiff / usage-python3-pil-r16-tiff-tile-geometry-via-tiffinfo Passed

Writes a 128x96 RGB stripped TIFF with Pillow, runs libtiff's tiffcp -t -w 64 -l 64 to produce a tiled variant, and asserts tiffinfo reports both "Tile Width: 64" and "Tile Length: 64", relying on tiffinfo as the authoritative source for tile geometry instead of PIL tag_v2.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tile tiffinfo
Log

            
Pillow TIFF Artist tag 315 round-trips via tag_v2 Original / libtiff / usage-python3-pil-r17-tiff-artist-tag-roundtrip Passed

Writes a TIFF with the Artist tag (315) set to a fixed string via the tiffinfo kwarg, reopens with Pillow, and asserts tag_v2[315] equals the original string byte-for-byte, confirming libtiff's ASCII tag round-trip via Pillow.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python artist tag r17
Log

            
Pillow TIFF Copyright tag 33432 round-trips via tag_v2 Original / libtiff / usage-python3-pil-r17-tiff-copyright-tag-roundtrip Passed

Writes a TIFF with the Copyright tag (33432) set to a fixed string via the tiffinfo kwarg, reopens with Pillow, and asserts tag_v2[33432] equals the original string byte-for-byte, confirming libtiff's ASCII Copyright tag round-trip.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python copyright tag r17
Log

            
Pillow TIFF ImageWidth (256) and ImageLength (257) tags match the image size on read Original / libtiff / usage-python3-pil-r17-tiff-imagewidth-imagelength-tags Passed

Saves a 17x13 RGB TIFF with Pillow, reopens it, and asserts tag_v2[256] equals 17 and tag_v2[257] equals 13, confirming libtiff round-trips ImageWidth/ImageLength tags consistent with Pillow's reported size.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python dimensions tag r17
Log

            
Pillow grayscale ("L") TIFF round-trips dimensions and mode Original / libtiff / usage-python3-pil-r17-tiff-l-mode-roundtrip-size Passed

Writes an 11x7 grayscale "L" mode TIFF with Pillow, reopens it, asserts the mode is exactly "L" and the size tuple equals (11, 7), confirming libtiff's MinIsBlack grayscale single-sample round-trip via Pillow.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python grayscale r17
Log

            
Pillow palette ("P") TIFF round-trips and preserves the P mode on reopen Original / libtiff / usage-python3-pil-r17-tiff-mode-p-palette-roundtrip Passed

Constructs an 8x8 "P" mode palette image, saves it as a TIFF, reopens it with Pillow, and asserts the reopened image mode is exactly "P" with the same width and height, confirming libtiff palette pass-through and Pillow's TIFF palette decoding.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python palette r17
Log

            
Pillow single-page TIFF reports n_frames == 1 Original / libtiff / usage-python3-pil-r17-tiff-n-frames-single-page Passed

Writes a single-page RGB TIFF, reopens it with Pillow, and asserts the n_frames property equals 1, confirming libtiff's single-directory IFD chain is reported as one frame by Pillow.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python multipage r17
Log

            
Pillow TIFF ResolutionUnit tag 296 is a numeric value in {1,2,3} Original / libtiff / usage-python3-pil-r17-tiff-resolution-unit-tag-integer Passed

Writes an RGB TIFF with default resolution settings, reopens it, asserts tag_v2[296] (ResolutionUnit) is an integer (or castable to one) whose value is in the libtiff-defined set {1=None, 2=Inch, 3=Centimeter}, confirming the tag round-trips as a numeric enum.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python resolution-unit r17
Log

            
Pillow RGBA TIFF preserves a distinct alpha value at the (0,0) corner across round-trip Original / libtiff / usage-python3-pil-r17-tiff-rgba-alpha-corner-roundtrip Passed

Writes a 4x4 RGBA TIFF with the corner pixel (0,0) set to RGBA (10,20,30,40) and the rest opaque white, reopens with Pillow, asserts the reopened mode is "RGBA" and getpixel((0,0)) returns the same (10,20,30,40) tuple, confirming libtiff alpha-plane preservation.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python rgba alpha r17
Log

            
Pillow RGB TIFF reports RowsPerStrip tag 278 as a positive integer Original / libtiff / usage-python3-pil-r17-tiff-rowsperstrip-tag-positive Passed

Saves a 32x32 RGB TIFF, reopens it with Pillow, asserts tag_v2[278] (RowsPerStrip) is castable to a positive integer no greater than the image height (32), confirming libtiff records strip geometry consistent with image dimensions.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python rowsperstrip r17
Log

            
Pillow RGB TIFF reports SamplesPerPixel tag 277 equal to 3 Original / libtiff / usage-python3-pil-r17-tiff-samples-per-pixel-rgb-equals-three Passed

Saves a small RGB TIFF with Pillow, reopens it, asserts tag_v2[277] (SamplesPerPixel) equals integer 3 and that the image mode is "RGB", confirming libtiff records three samples per pixel for the RGB photometric interpretation.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python samples r17
Log

            
Pillow TIFF with compression="tiff_adobe_deflate" round-trips pixel-equal to the original Original / libtiff / usage-python3-pil-r18-tiff-adobe-deflate-compression-roundtrip Passed

Saves a small RGB pattern as a TIFF using compression="tiff_adobe_deflate", reopens it with Pillow, asserts the reopened mode/size match the source, and asserts the decoded bytes are byte-for-byte equal to the original tobytes() result, confirming libtiff Adobe-flavored deflate compression is lossless.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python compression adobe-deflate r18
Log

            
Pillow RGB TIFF reports BitsPerSample tag 258 as three 8-bit values Original / libtiff / usage-python3-pil-r18-tiff-bits-per-sample-rgb-equals-8 Passed

Saves a small RGB TIFF, reopens it with Pillow, asserts tag_v2[258] (BitsPerSample) is an iterable yielding exactly three values each equal to 8, confirming libtiff records 8-bit-per-channel sample depth for the standard RGB photometric.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python bitspersample r18
Log

            
Pillow TIFF DateTime tag 306 round-trips a fixed timestamp string Original / libtiff / usage-python3-pil-r18-tiff-datetime-tag-roundtrip Passed

Writes an RGB TIFF with the DateTime tag (306) set to the canonical libtiff "YYYY:MM:DD HH:MM:SS" timestamp via tiffinfo, reopens with Pillow, and asserts tag_v2[306] equals the original 19-character timestamp string byte-for-byte.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python datetime tag r18
Log

            
Pillow getexif() on a TIFF returns an Exif mapping that contains the Software tag Original / libtiff / usage-python3-pil-r18-tiff-getexif-returns-exif-mapping Passed

Writes a TIFF with the Software tag (305) populated via tiffinfo, reopens it with Pillow, calls im.getexif() and asserts the returned object is an instance of PIL.Image.Exif whose mapping contains tag 305 equal to the original string, confirming libtiff EXIF-compatible tag exposure through Pillow's Exif API.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python exif getexif r18
Log

            
Pillow TIFF im.info dict carries a compression key reflecting save compression Original / libtiff / usage-python3-pil-r18-tiff-info-dict-has-compression-key Passed

Saves an RGB TIFF with compression="tiff_lzw", reopens it with Pillow, asserts im.info is a dict, asserts it contains a "compression" key, and asserts the recorded value equals "tiff_lzw", confirming libtiff-backed compression metadata is exposed through Pillow's per-image info dictionary.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python info compression r18
Log

            
Pillow TIFF save_all with two appended frames produces a 3-page n_frames Original / libtiff / usage-python3-pil-r18-tiff-multiframe-append-three-pages Passed

Writes a multipage TIFF by calling Image.save with save_all=True and an append_images list of two additional frames, reopens the resulting file with Pillow, and asserts im.n_frames equals exactly 3, confirming libtiff multi-page IFD chaining round-trips through Pillow's append API.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python multiframe save_all r18
Log

            
Pillow RGB TIFF reports PhotometricInterpretation tag 262 as 2 (RGB) Original / libtiff / usage-python3-pil-r18-tiff-photometric-rgb-equals-2 Passed

Saves an RGB TIFF, reopens it with Pillow, asserts tag_v2[262] (PhotometricInterpretation) is castable to integer 2, which is libtiff's PHOTOMETRIC_RGB constant, confirming the photometric tag is encoded correctly for a standard RGB pixel layout.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python photometric r18
Log

            
Pillow seeks between TIFF frames keeping the same mode and size across pages Original / libtiff / usage-python3-pil-r18-tiff-seek-between-frames-mode-stable Passed

Builds a two-page TIFF where both frames are RGB and 5x5, calls im.seek(0) then im.seek(1) on the reopened file, and asserts both frames report the same mode "RGB" and the same size (5, 5), confirming libtiff IFD navigation preserves per-page metadata reported by Pillow.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python multiframe seek r18
Log

            
Pillow TIFF Software tag 305 round-trips through tag_v2 unchanged Original / libtiff / usage-python3-pil-r18-tiff-software-tag-roundtrip Passed

Writes an RGB TIFF with the Software tag (305) set to a fixed ASCII identifier via a TiffImagePlugin.ImageFileDirectory_v2, reopens with Pillow, and asserts tag_v2[305] equals the original string byte-for-byte, confirming libtiff persists the Software ASCII tag through a save-and-reload cycle.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python software tag r18
Log

            
Pillow TIFF XResolution tag 282 reports a positive rational equivalent to the saved DPI Original / libtiff / usage-python3-pil-r18-tiff-xresolution-tag-rational Passed

Saves a TIFF with dpi=(150, 150), reopens it with Pillow, asserts tag_v2[282] (XResolution) is a libtiff rational castable to a positive float equal to 150.0, and asserts tag_v2[283] (YResolution) is also castable to 150.0, confirming libtiff RATIONAL-typed tag round-trip via Pillow.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python xresolution dpi r18
Log

            
Pillow TIFF getexif exposes XResolution tag 282 with a float-castable rational Original / libtiff / usage-python3-pil-r19-tiff-getexif-xresolution-tag-282 Passed

Saves a TIFF with dpi=(200, 200), reopens with Pillow, calls im.getexif() to obtain an Exif object, asserts 282 (XResolution) is a key in the mapping with a value castable to float equal to 200.0, asserts 283 (YResolution) is also present and equals 200.0, and asserts 296 (ResolutionUnit) is in the mapping with integer value 2 (inches), confirming libtiff IFD0 resolution tags surface via getexif.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python getexif xresolution r19
Log

            
Pillow TIFF multi-page tell() returns to 0 after seeking back from a later frame Original / libtiff / usage-python3-pil-r19-tiff-multiframe-tell-resets-after-seek-zero Passed

Saves a 4-page TIFF where each page has a distinct fill color, opens the file with Pillow, asserts initial im.tell() is 0, seeks to frame 2 and asserts im.tell() returns 2, then seeks to frame 0 and asserts im.tell() returns 0 again, also asserts the reloaded pixel at (0,0) on frame 0 matches the original red color, confirming libtiff random-access page navigation.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python multiframe tell seek r19
Log

            
Pillow TIFF NewSubfileType tag 254 absent or zero for a standalone single-image save Original / libtiff / usage-python3-pil-r19-tiff-newsubfiletype-tag-254-zero Passed

Saves a single-image RGB TIFF, reopens with Pillow, and asserts the optional NewSubfileType tag 254 either is missing from tag_v2 or evaluates to integer 0 (no reduced-resolution, page, or mask flags set), confirming libtiff omits or clears the subfile classification on a plain primary image.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python subfiletype r19
Log

            
Pillow TIFF Orientation tag 274 defaults to 1 (top-left) for a plain RGB save Original / libtiff / usage-python3-pil-r19-tiff-orientation-tag-274-default-topleft Passed

Saves a 4x4 RGB TIFF with no explicit orientation, reopens with Pillow, and asserts tag_v2[274] equals 1 (Orientation TopLeft, the libtiff default) or is absent (interpreted as 1 by the TIFF 6.0 spec); if absent the test additionally asserts im.getexif().get(274, 1) equals 1, confirming the canonical default orientation behavior.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python orientation default r19
Log

            
Pillow TIFF saved from L-mode reports PhotometricInterpretation 1 (MinIsBlack) Original / libtiff / usage-python3-pil-r19-tiff-photometric-grayscale-equals-1 Passed

Creates an L-mode (8-bit grayscale) Pillow image filled with value 100, saves as TIFF, reopens and asserts tag_v2[262] (PhotometricInterpretation) equals 1 (MinIsBlack) and asserts tag_v2[258] (BitsPerSample) equals 8 (or the single-element tuple (8,)), confirming libtiff records grayscale photometric metadata correctly.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python photometric grayscale r19
Log

            
Pillow TIFF PlanarConfiguration tag 284 defaults to 1 (chunky/interleaved) for an RGB save Original / libtiff / usage-python3-pil-r19-tiff-planarconfig-tag-284-chunky Passed

Saves an RGB TIFF with no explicit planar configuration override, reopens with Pillow, asserts tag_v2[284] equals 1 (chunky, samples interleaved per pixel) which is libtiff's default for RGB, and asserts tag_v2[277] (SamplesPerPixel) equals 3, confirming libtiff writes an interleaved layout for plain RGB data.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python planarconfig chunky r19
Log

            
Pillow TIFF StripByteCounts tag 279 enumerates positive values for an RGB save Original / libtiff / usage-python3-pil-r19-tiff-stripoffsets-tag-279-list Passed

Saves a 16x16 RGB TIFF, reopens with Pillow, asserts tag_v2[279] (StripByteCounts) is a non-empty tuple of positive integers, asserts sum(tag_v2[279]) is >= width*height*samples (3*16*16=768) which is the uncompressed payload floor, and asserts tag_v2[273] (StripOffsets) has the same number of entries as StripByteCounts, confirming libtiff strip-layout tags are populated and consistent.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python stripbytecounts stripoffsets r19
Log

            
libtiff tiffcp -r 2 produces an output TIFF whose RowsPerStrip tag equals 2 Original / libtiff / usage-python3-pil-r19-tiff-tiffcp-strip-rowsperstrip-2 Passed

Generates a 16x16 RGB source TIFF via Pillow, invokes "tiffcp -r 2" to repackage it with two rows per strip, opens the output with Pillow, asserts tag_v2[278] (RowsPerStrip) equals 2, and asserts tag_v2[279] (StripByteCounts) is a tuple of 8 entries (16 rows / 2 rows per strip), confirming libtiff's strip-layout control via the tiffcp CLI.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tiffcp rowsperstrip cli r19
Log

            
Pillow TIFF tobytes equals width*height*samples for an RGB save-then-load cycle Original / libtiff / usage-python3-pil-r19-tiff-tobytes-roundtrip-byte-count Passed

Saves a 6x4 RGB TIFF with deterministic pixel data, reopens it, calls im.tobytes() on the reloaded image, asserts its length equals 6*4*3 = 72 bytes (no row padding for raw RGB tobytes), and asserts the reloaded tobytes is identical to the original image's tobytes byte-for-byte, confirming libtiff RGB pixel-data preservation.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tobytes roundtrip r19
Log

            
Pillow TIFF YResolution tag 283 round-trips an asymmetric dpi value Original / libtiff / usage-python3-pil-r19-tiff-yresolution-tag-rational Passed

Saves an RGB TIFF with dpi=(96, 144) (asymmetric x/y resolution), reopens with Pillow, asserts tag_v2[282] (XResolution) is castable to 96.0 and tag_v2[283] (YResolution) is castable to 144.0, and asserts the two values differ, confirming libtiff persists independent rational X/Y resolution tags through a write+read cycle.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python yresolution dpi r19
Log

            
Pillow CMYK TIFF reports four bands and SamplesPerPixel 4 Original / libtiff / usage-python3-pil-r20-tiff-cmyk-mode-four-bands-spp-4 Passed

Saves a 3x3 mode-CMYK TIFF, reopens with Pillow, asserts im.getbands() returns the tuple ('C', 'M', 'Y', 'K'), and asserts the SamplesPerPixel tag 277 reads as 4, confirming libtiff writes four-channel CMYK images with correct band metadata.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python cmyk samplesperpixel r20
Log

            
Pillow crop on a TIFF reload shrinks dimensions to the requested rect Original / libtiff / usage-python3-pil-r20-tiff-crop-region-changes-size Passed

Saves a 10x10 RGB TIFF via Pillow, reopens, calls .crop((2, 3, 7, 9)), asserts the cropped image has size (5, 6) (width=7-2, height=9-3), and asserts crop().getpixel((0, 0)) equals the parent's getpixel((2, 3)), confirming libtiff-decoded pixel data correctly anchors a PIL crop region.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python crop r20
Log

            
Pillow-written TIFF file size exceeds the raw pixel byte count Original / libtiff / usage-python3-pil-r20-tiff-filesize-positive-and-nonzero Passed

Saves a 16x16 mode-L TIFF via Pillow and asserts os.path.getsize of the resulting file is strictly greater than 16*16 (the raw pixel byte count) and less than 16384 (an extremely generous upper bound), confirming libtiff encodes recognisable container overhead (header + IFD + tags) around the strip payload.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python filesize overhead r20
Log

            
Pillow TIFF RGB image preserves a non-corner pixel through save and reload Original / libtiff / usage-python3-pil-r20-tiff-getpixel-center-rgb-roundtrip Passed

Builds a 7x7 mode-RGB image filled with black, sets pixel (3, 3) to (171, 82, 199), saves as TIFF, reopens, and asserts r.getpixel((3, 3)) equals (171, 82, 199) exactly, confirming libtiff round-trips a single interior RGB triple losslessly.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python getpixel rgb r20
Log

            
Pillow can decode a TIFF directly from an in-memory BytesIO buffer Original / libtiff / usage-python3-pil-r20-tiff-load-from-bytesio-preserves-size Passed

Saves a 6x5 mode-RGB image into a BytesIO via Image.save(buf, format='TIFF'), seeks the buffer to 0, opens it with Image.open(buf), loads, and asserts the resulting size is exactly (6, 5) and mode is 'RGB', confirming libtiff's stream-based decode path handles a non-filesystem reader.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python bytesio stream r20
Log

            
Pillow thumbnail on a TIFF-loaded image fits within the requested bounds Original / libtiff / usage-python3-pil-r20-tiff-thumbnail-fits-within-bounding-box Passed

Saves a 40x20 RGB TIFF, reopens, calls .thumbnail((10, 10)) (modifies in place), and asserts the resulting image's width <= 10 and height <= 10 and that the aspect ratio is preserved (width > height since source aspect 40:20 should produce width:height >= 2:1 after shrink), confirming libtiff-decoded pixels feed Pillow's aspect-preserving thumbnail correctly.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python thumbnail r20
Log

            
tiffinfo CLI on a Pillow-written TIFF prints Image Width and Image Length lines Original / libtiff / usage-python3-pil-r20-tiff-tiffinfo-prints-image-width-and-length Passed

Saves a 9x7 RGB TIFF via Pillow, runs the tiffinfo CLI on it, and asserts the output contains a line matching "Image Width: 9" and a line matching "Image Length: 7", confirming the libtiff inspection tool reads back the dimensions Pillow wrote.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tiffinfo dimensions r20
Log

            
Pillow TIFF image tobytes length equals width*height for L-mode Original / libtiff / usage-python3-pil-r20-tiff-tobytes-getdata-equal-length Passed

Saves and reopens a 5x6 mode-L TIFF, calls .tobytes() and asserts the length equals 5*6 (30), and calls list(im.getdata()) and asserts its length is also 30, confirming libtiff decodes the strip data back to a contiguous one-byte-per-pixel buffer for grayscale.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tobytes getdata r20
Log

            
Pillow Image.transpose FLIP_LEFT_RIGHT on a TIFF reload mirrors a specific column Original / libtiff / usage-python3-pil-r20-tiff-transpose-flip-left-right-mirrors-pixel Passed

Saves a 6x3 mode-L TIFF, places a unique value at column 0 row 0, reopens, calls .transpose(Image.FLIP_LEFT_RIGHT), and asserts the resulting image getpixel((5, 0)) equals the source's column-0 row-0 value (mirror moves column 0 to column 5 in width=6), confirming libtiff-decoded pixels feed the PIL transpose correctly.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python transpose mirror r20
Log

            
Pillow Image.verify on a freshly-saved TIFF completes without raising Original / libtiff / usage-python3-pil-r20-tiff-verify-on-valid-file-does-not-raise Passed

Saves a 5x5 RGB TIFF via Pillow, opens it again with Image.open, calls .verify() within a try/except block, and asserts no exception was raised, confirming Pillow's libtiff-backed verifier accepts a well-formed TIFF container as valid.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python verify r20
Log

            
Pillow Image.copy on an opened TIFF preserves size, mode, and pixel value Original / libtiff / usage-python3-pil-r21-tiff-copy-preserves-size-and-mode Passed

Saves a 6x6 mode-L TIFF filled with 77, opens it, calls .copy() and asserts the returned image has identical size, mode, and getpixel((0,0)) value as the original, validating libtiff decode plus Pillow's image clone path.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python copy r21
Log

            
Pillow getexif on a saved TIFF exposes YResolution at tag id 283 Original / libtiff / usage-python3-pil-r21-tiff-getexif-yresolution-tag-283 Passed

Saves a 5x5 RGB TIFF with dpi=(72, 144), reopens it, calls im.getexif() and asserts tag 283 (YResolution) is present and its rational/numeric value equals 144.0, validating libtiff resolution-tag emission via Pillow's EXIF mapping.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python exif yresolution r21
Log

            
Pillow Image.is_animated is True for a saved 3-page TIFF Original / libtiff / usage-python3-pil-r21-tiff-is-animated-multipage-true Passed

Saves three solid frames as a multipage TIFF using save_all=True, opens it via Image.open, and asserts both Image.n_frames equals 3 and Image.is_animated is True for the multi-page libtiff stream.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python multipage r21
Log

            
Pillow Image.is_animated is False for a single-page TIFF Original / libtiff / usage-python3-pil-r21-tiff-is-animated-single-page-false Passed

Saves a single solid frame as a TIFF (no save_all), opens it via Image.open, and asserts n_frames equals 1 and is_animated is False, confirming the libtiff single-IFD path is correctly reported as non-animated by Pillow.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python multipage r21
Log

            
Pillow load() on a TIFF clears the tile list so a subsequent load() is a no-op Original / libtiff / usage-python3-pil-r21-tiff-load-end-frees-tile-state Passed

Saves a 4x4 mode-L TIFF, opens it, asserts that im.tile is non-empty before load(), then calls load() and asserts im.tile is now empty (decode complete), confirming libtiff strip/tile decode state is consumed exactly once by Pillow.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python load tile-state r21
Log

            
Pillow mode 1 TIFF default FillOrder tag (266) defaults to MSB2LSB (value 1) Original / libtiff / usage-python3-pil-r21-tiff-mode-1-fillorder-default-tag Passed

Saves an 8x8 mode-1 TIFF (bilevel), opens it via Image.open, and asserts the FillOrder tag (266) is present in tag_v2 and equals 1 (MSB2LSB), validating libtiff's bilevel default fill-order encoding.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python fillorder bilevel r21
Log

            
Pillow I;16 mode TIFF getextrema returns (min, max) tuple over 16-bit pixel range Original / libtiff / usage-python3-pil-r21-tiff-mode-i16-getextrema-tuple Passed

Constructs an I;16 image from raw little-endian bytes containing the four values 0, 1, 30000, and 65535, saves it as TIFF, reopens, and asserts getextrema() returns exactly (0, 65535), exercising libtiff 16-bit grayscale decoding plus Pillow's per-mode min/max computation.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python i16 extrema r21
Log

            
Pillow TIFF seek past the last frame raises EOFError Original / libtiff / usage-python3-pil-r21-tiff-multipage-seek-past-end-raises Passed

Saves a 2-frame TIFF, opens it, seeks to frame 1, then attempts to seek to frame 2 and asserts an EOFError is raised, validating Pillow's libtiff multipage boundary handling.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python multipage seek r21
Log

            
Pillow TIFF save round-trip preserves ImageDescription via explicit save kwarg Original / libtiff / usage-python3-pil-r21-tiff-save-with-exif-bytes-roundtrip Passed

Saves a 3x3 RGB TIFF with an explicit description="r21-roundtrip" kwarg, reopens it, and asserts tag 270 (ImageDescription) on tag_v2 equals the supplied string, exercising libtiff string-tag write+read.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python description r21
Log

            
Pillow TiffImagePlugin tag_v2 mapping contains BitsPerSample (tag 258) Original / libtiff / usage-python3-pil-r21-tiff-tag-v2-contains-bitspersample Passed

Saves a 7x7 RGB TIFF, opens it, and asserts that 258 (BitsPerSample) is present in im.tag_v2 with a tuple value of three eights, validating libtiff's tag-2-name dictionary surface for the RGB photometric path.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tag-v2 bitspersample r21
Log

            
Pillow 1-bit bilevel TIFF roundtrip Original / libtiff / usage-python3-pil-r9-tiff-1bit-bilevel Passed

Saves a Pillow mode 1 (bilevel) image as TIFF and verifies the reopened TIFF reports mode 1 with the expected pixel pattern.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow CMYK TIFF roundtrip Original / libtiff / usage-python3-pil-r9-tiff-cmyk-mode Passed

Creates a CMYK image with Pillow, saves it as TIFF, reopens it, and verifies the pixel mode is CMYK with 4 channels.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow L-mode 8-bit grayscale TIFF roundtrip Original / libtiff / usage-python3-pil-r9-tiff-l-mode-roundtrip Passed

Saves an 8-bit grayscale TIFF via Pillow and verifies all pixel values survive the roundtrip exactly.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow multi-page TIFF n_frames matches save count Original / libtiff / usage-python3-pil-r9-tiff-multipage-frame-count Passed

Saves a 5-frame multi-page TIFF via Pillow append_images and verifies n_frames reports 5 on reopen.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow TIFF resolution tag roundtrip Original / libtiff / usage-python3-pil-r9-tiff-resolution-tag Passed

Saves a TIFF with a 300 dpi resolution tuple via Pillow and verifies the reopened image carries the same resolution metadata.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow RGBA TIFF roundtrip preserves alpha Original / libtiff / usage-python3-pil-r9-tiff-rgba-roundtrip Passed

Saves an RGBA TIFF with a known alpha channel and verifies the reopened TIFF returns the original alpha values pixel-for-pixel.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow rotate 90 TIFF dimensions swap Original / libtiff / usage-python3-pil-r9-tiff-rotate-90-roundtrip Passed

Saves a 12x4 TIFF via Pillow, rotates the reopened image by 90 degrees with expand=True, saves the rotated TIFF, and verifies the dimensions swap to 4x12.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow thumbnail shrinks TIFF below cap Original / libtiff / usage-python3-pil-r9-tiff-thumbnail-shrink Passed

Loads a 80x60 TIFF and applies thumbnail((20, 20)) and verifies both reported dimensions are at most 20.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
tiffinfo parses a hand-rolled big-endian TIFF Original / libtiff / usage-python3-pil-r9-tiff-tiffinfo-bigendian Passed

Builds a big-endian TIFF via raw struct serialization and verifies tiffinfo can parse it and report the expected ImageWidth/ImageLength dimensions.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
tiffinfo reports Rows/Strip on Pillow output Original / libtiff / usage-python3-pil-r9-tiff-tiffinfo-strip-count Passed

Generates a TIFF via Pillow and verifies tiffinfo prints a Rows/Strip directory entry that matches the image height.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
python PIL red channel TIFF Original / libtiff / usage-python3-pil-red-channel-tiff Passed

Exercises python pil red channel tiff through a dependent-client usage scenario.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow nearest resize TIFF Original / libtiff / usage-python3-pil-resize-nearest-tiff Passed

Resizes a TIFF with nearest-neighbor sampling in Pillow and verifies the requested output dimensions.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow resizes TIFF Original / libtiff / usage-python3-pil-resize-tiff Passed

Resizes a TIFF fixture with Pillow and saves TIFF output.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow RGB tiff load Original / libtiff / usage-python3-pil-rgb-tiff-load Passed

Opens an RGB TIFF fixture with Pillow to exercise libtiff-backed image decoding.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python
Log

            
Pillow RGBA TIFF Original / libtiff / usage-python3-pil-rgba-tiff Passed

Writes and reopens an RGBA TIFF with Pillow.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
python PIL rotate 180 TIFF Original / libtiff / usage-python3-pil-rotate-180-tiff Passed

Exercises python pil rotate 180 tiff through a dependent-client usage scenario.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow rotates TIFF 270 degrees Original / libtiff / usage-python3-pil-rotate-270-tiff Passed

Rotates a TIFF by 270 degrees with Pillow and verifies the swapped output dimensions.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
python PIL rotate expand TIFF Original / libtiff / usage-python3-pil-rotate-expand-tiff Passed

Exercises python pil rotate expand tiff through a dependent-client usage scenario.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow rotates TIFF Original / libtiff / usage-python3-pil-rotate-tiff Passed

Rotates a TIFF fixture with Pillow and checks output dimensions.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow saves TIFF to memory Original / libtiff / usage-python3-pil-save-memory-tiff Passed

Saves a TIFF into an in-memory buffer with Pillow, reloads it, and verifies the buffered image stays decodable.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow screen mirror TIFF Original / libtiff / usage-python3-pil-screen-mirror-tiff Passed

Uses Pillow ImageChops.screen on a generated TIFF and its mirrored copy and verifies the screened pixel values before round-tripping.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
python PIL sequence iterator TIFF Original / libtiff / usage-python3-pil-sequence-iterator-tiff Passed

Exercises python pil sequence iterator tiff through a dependent-client usage scenario.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow splits TIFF bands Original / libtiff / usage-python3-pil-split-bands-tiff Passed

Opens a TIFF fixture with Pillow, splits the color bands, and verifies channel count.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
python PIL split merge TIFF Original / libtiff / usage-python3-pil-split-merge-bands-tiff Passed

Exercises python pil split merge tiff through a dependent-client usage scenario.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow split and merge TIFF Original / libtiff / usage-python3-pil-split-merge-tiff Passed

Splits a TIFF into bands with Pillow, merges the bands again, and verifies the result stays decodable.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
python PIL stat mean TIFF Original / libtiff / usage-python3-pil-stat-mean-tiff Passed

Exercises python pil stat mean tiff through a dependent-client usage scenario.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow subtract mirror TIFF Original / libtiff / usage-python3-pil-subtract-mirror-tiff Passed

Uses Pillow ImageChops.subtract on mirrored and original generated TIFFs and verifies the non-negative channel differences before round-tripping.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow subtract_modulo mirror TIFF Original / libtiff / usage-python3-pil-subtract-modulo-mirror-tiff Passed

Uses Pillow ImageChops.subtract_modulo on a generated TIFF and its mirrored copy and verifies the modular per-channel differences before round-tripping.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow tags tiff Original / libtiff / usage-python3-pil-tags-tiff Passed

Uses Pillow to run TIFF tags tiff behavior through libtiff.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python
Log

            
Pillow thumbnail tiff Original / libtiff / usage-python3-pil-thumbnail-tiff Passed

Uses Pillow to run TIFF thumbnail tiff behavior through libtiff.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python
Log

            
Pillow TIFF 16-bit grayscale point doubled Original / libtiff / usage-python3-pil-tiff-16bit-grayscale-point-doubled Passed

Loads an "I;16" TIFF, applies an Image.point lambda x: x*2 mapped through "I" mode to avoid 16-bit overflow, saves the result, and verifies pixels are exactly doubled (capped by I mode width).

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python depth
Log

            
Pillow TIFF 16-bit grayscale round-trip Original / libtiff / usage-python3-pil-tiff-16bit-grayscale-roundtrip Passed

Writes an "I;16" 16-bit grayscale TIFF and verifies BitsPerSample=16, SampleFormat, and that pixel bytes round-trip via sha256.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python depth
Log

            
Pillow TIFF 16-bit pixel Original / libtiff / usage-python3-pil-tiff-16bit-pixel-batch11 Passed

Saves and reopens a 16-bit TIFF pixel value through Pillow.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow TIFF 72 dpi preserved Original / libtiff / usage-python3-pil-tiff-72dpi-preserved Passed

Saves a TIFF with dpi=(72,72) and verifies that XResolution, YResolution, and the info dpi tuple round-trip correctly.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata
Log

            
Pillow TIFF Artist and HostComputer tag round-trip Original / libtiff / usage-python3-pil-tiff-artist-hostcomputer-tags Passed

Saves a TIFF with Artist (315) and HostComputer (316) tags injected via ImageFileDirectory_v2 and verifies both strings reload exactly through Pillow tag_v2 on reopen.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata
Log

            
Pillow TIFF endianness magic detection Original / libtiff / usage-python3-pil-tiff-bigtiff-magic-detection Passed

Writes a TIFF with Pillow (little-endian) and a hand-crafted minimal big-endian TIFF, then verifies the II*/MM* magic bytes and that Pillow can detect format on the LE file.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python format
Log

            
Pillow TIFF bigtiff=True save kwarg accepted and pixel round-trip preserved Original / libtiff / usage-python3-pil-tiff-bigtiff-pillow-kwarg-roundtrip Passed

Saves an RGB TIFF with the Pillow bigtiff=True kwarg, verifies the file begins with one of the legal TIFF magic byte sequences (classic II/MM or BigTIFF II\\x2b/MM\\x2b — Pillow 10.2 may emit either), and asserts the reopened image preserves geometry, mode, and exact pixel bytes against the in-memory original.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python bigtiff
Log

            
Pillow TIFF tiffcp -8 BigTIFF little-endian magic + multipage preserved Original / libtiff / usage-python3-pil-tiff-bigtiff-write-libtiff Passed

Writes a two-page classic little-endian TIFF with Pillow, repackages it as a BigTIFF (-8) via tiffcp without changing byte order, and verifies the II\x00\x2b magic (BigTIFF little-endian), that tiffinfo enumerates two directories with the expected geometries, and that tiffcp -L round-trips the BigTIFF back to a classic TIFF whose pixel buffers match the Pillow originals.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python bigtiff
Log

            
Pillow TIFF BytesIO open Original / libtiff / usage-python3-pil-tiff-bytesio-open-batch11 Passed

Saves a TIFF to memory and reopens it from a BytesIO object.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow TIFF tiff_ccitt CCITT modified Huffman RLE compression on 1-bit image Original / libtiff / usage-python3-pil-tiff-ccitt-rle-bilevel-compression Passed

Saves a 1-bit (mode "1") bilevel TIFF with compression="tiff_ccitt" (CCITT modified Huffman run-length encoding, Compression tag value 2) and verifies the reopened TIFF reports info["compression"]=="tiff_ccitt", Compression tag (259) equals 2, the mode stays "1", BitsPerSample (258) equals 1, and the bilevel pixel pattern survives the round-trip exactly.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python compression ccitt
Log

            
Pillow TIFF Copyright tag round-trip Original / libtiff / usage-python3-pil-tiff-copyright-tag-roundtrip Passed

Saves a TIFF with a Copyright tag (33432) injected via ImageFileDirectory_v2 and verifies the string round-trips through libtiff on reload.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata
Log

            
Pillow TIFF DateTime tag round-trip Original / libtiff / usage-python3-pil-tiff-datetime-tag-roundtrip Passed

Saves a TIFF with a DateTime tag (306) in the canonical "YYYY:MM:DD HH:MM:SS" format and verifies the value reads back unchanged via tag_v2.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata
Log

            
Pillow TIFF deflate info tag Original / libtiff / usage-python3-pil-tiff-deflate-info-tag Passed

Saves a TIFF with compression=tiff_deflate and verifies the reopened info compression and Compression tag value.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python compression
Log

            
Pillow TIFF description tag Original / libtiff / usage-python3-pil-tiff-description-tag-batch11 Passed

Saves a TIFF ImageDescription tag through Pillow and reads it back.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow TIFF DPI info Original / libtiff / usage-python3-pil-tiff-dpi-info-batch11 Passed

Saves a TIFF with DPI information through Pillow and checks it after reopening.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow TIFF DPI save Original / libtiff / usage-python3-pil-tiff-dpi-save Passed

Saves TIFF resolution metadata with Pillow and verifies the reloaded DPI tags.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata
Log

            
Pillow TIFF ImageOps.exif_transpose orientation 6 Original / libtiff / usage-python3-pil-tiff-exif-transpose-orientation Passed

Saves a TIFF with Orientation=6 (rotate 270 CW) tag injected via ImageFileDirectory_v2 and verifies via tiffdump that the tag is encoded into the file, plus that ImageOps.exif_transpose returns a properly-oriented image with the expected dimensions.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python exif
Log

            
Pillow TIFF expand border Original / libtiff / usage-python3-pil-tiff-expand-border-batch11 Passed

Expands a TIFF canvas with a border through Pillow and verifies the result.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow TIFF explicit XResolution rational tag via tiffinfo dict Original / libtiff / usage-python3-pil-tiff-explicit-xresolution-rational Passed

Saves a TIFF with XResolution (282) and YResolution (283) injected as IFDRational(150/1) and (300/1) through a low-level ImageFileDirectory_v2, then verifies tiffinfo prints the resolutions and Pillow exposes the exact rational values.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata cli
Log

            
Pillow TIFF F mode float32 deterministic pixel round-trip Original / libtiff / usage-python3-pil-tiff-f-mode-float32-pixel-roundtrip Passed

Builds an F mode image with deterministic float values, saves it as TIFF, and verifies that BitsPerSample is 32, SampleFormat (339) is IEEE FP (3), and per-pixel float values reload identically via Image.getpixel.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python float
Log

            
Pillow TIFF bands Original / libtiff / usage-python3-pil-tiff-getbands-batch11 Passed

Opens a TIFF through Pillow and checks RGB band names.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow TIFF getexif() exposes DateTime tag (306) saved via exif kwarg Original / libtiff / usage-python3-pil-tiff-getexif-datetime-roundtrip Passed

Builds a Pillow Exif object, sets DateTime (306) to a known string, saves an RGB TIFF with exif=exif, reopens the file, and verifies that getexif() returns the DateTime back exactly and that the tag also appears in the top-level tag_v2 dictionary, confirming the EXIF round-trip path works through libtiff.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python exif metadata
Log

            
Pillow TIFF group3 bilevel compression Original / libtiff / usage-python3-pil-tiff-group3-bilevel-compression Passed

Writes a 1-bit TIFF compressed with CCITT Group 3 and verifies the Compression tag is 3 and bilevel pixels round-trip exactly.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python compression fax
Log

            
Pillow TIFF group4 bilevel compression Original / libtiff / usage-python3-pil-tiff-group4-bilevel-compression Passed

Writes a 1-bit TIFF compressed with CCITT Group 4 and verifies the Compression tag and pixel round-trip.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python compression fax
Log

            
Pillow TIFF I (int32) mode round-trip with SampleFormat=2 and BitsPerSample=32 Original / libtiff / usage-python3-pil-tiff-i-mode-int32-roundtrip Passed

Saves a Pillow "I" (32-bit signed integer) image to a temporary TIFF and verifies the reopened image preserves the mode, BitsPerSample tag (258) equals 32, SampleFormat tag (339) equals 2 (signed integer), pixel size is preserved, and the raw int32 putpixel value round-trips through getpixel.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python mode sampleformat
Log

            
Pillow TIFF I;16 little-endian BitsPerSample tag Original / libtiff / usage-python3-pil-tiff-i16-le-bitspersample-tag Passed

Saves an I;16 little-endian grayscale TIFF and verifies BitsPerSample (258) is 16, SamplesPerPixel (277) is 1, and the raw 16-bit pixel buffer round-trips byte-exact through Pillow tobytes.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python deep
Log

            
Pillow TIFF I;16B big-endian round-trip Original / libtiff / usage-python3-pil-tiff-i16b-bigendian-roundtrip Passed

Builds an "I;16B" big-endian 16-bit grayscale image, saves it through libtiff, and verifies the pixels round-trip with BitsPerSample=16 and SamplesPerPixel=1.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python depth endian
Log

            
Pillow TIFF embedded ICC profile (tag 34675) roundtrip Original / libtiff / usage-python3-pil-tiff-icc-profile-embedded Passed

Writes a TIFF with Pillow embedding a synthetic ICC profile blob via icc_profile, then verifies tiffinfo lists "ICC Profile" and Pillow re-exposes the exact bytes via info["icc_profile"] and tag 34675.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata color
Log

            
Pillow TIFF image description tag Original / libtiff / usage-python3-pil-tiff-image-description-tag Passed

Saves a TIFF with a custom ImageDescription (tag 270) injected via tiffinfo and verifies the string round-trips on reload.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata
Log

            
Pillow TIFF invert L mode Original / libtiff / usage-python3-pil-tiff-invert-l-mode-batch11 Passed

Inverts grayscale TIFF pixels through Pillow and checks values.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow TIFF JPEG compression info Original / libtiff / usage-python3-pil-tiff-jpeg-compression-info Passed

Writes a JPEG-compressed RGB TIFF and verifies the Compression tag, info dict, and reopened image dimensions.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python compression jpeg
Log

            
Pillow TIFF JPEG quality parameter Original / libtiff / usage-python3-pil-tiff-jpeg-quality-save Passed

Writes a JPEG-compressed TIFF with Pillow using the quality parameter and verifies the Compression tag is 7, the file is non-empty, and the reopened image preserves dimensions and mode.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python compression jpeg
Log

            
Pillow TIFF LA mode samples round-trip Original / libtiff / usage-python3-pil-tiff-la-mode-samples-roundtrip Passed

Saves a Pillow LA (luminance + alpha) image as TIFF and verifies SamplesPerPixel=2, BitsPerSample=(8,8), and pixel byte round-trip.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python samples
Log

            
Pillow TIFF LZW with predictor round-trip Original / libtiff / usage-python3-pil-tiff-lzw-predictor-roundtrip Passed

Writes an LZW-compressed TIFF with horizontal differencing predictor (317=2) and verifies sha256 byte round-trip plus the Compression tag.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python compression predictor
Log

            
Pillow TIFF Make and Model tag round-trip Original / libtiff / usage-python3-pil-tiff-make-model-tags-roundtrip Passed

Saves a TIFF with Make (271) and Model (272) injected via ImageFileDirectory_v2 tiffinfo and verifies tiffinfo prints both fields and Pillow tag_v2 returns the exact strings on reload.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata
Log

            
Pillow TIFF MinSampleValue (280) and MaxSampleValue (281) tags round-trip Original / libtiff / usage-python3-pil-tiff-min-max-sample-value-tags Passed

Saves an L-mode TIFF with explicit MinSampleValue (tag 280) and MaxSampleValue (tag 281) values forwarded through tiffinfo and verifies the reopened image returns both tags - tolerating either scalar or 1-tuple shapes per Pillow tag_v2 conventions - while preserving the pixel mode, BitsPerSample (258) of 8, and image dimensions, demonstrating Pillow forwards SHORT-typed sample-range hints into libtiff and reads them back without coercion.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata tags
Log

            
Pillow TIFF multipage mixed compression via tiffcp Original / libtiff / usage-python3-pil-tiff-multipage-mixed-compression Passed

Writes two single-page RGB TIFFs with Pillow, applies tiffcp -c lzw to page A and tiffcp -c zip to page B, then concatenates them with tiffcp to form a single 2-page TIFF and verifies each frame's Compression tag (259) on reload (5=LZW, 8=Adobe Deflate).

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python multipage compression
Log

            
Pillow TIFF multipage save with three differently sized RGB pages Original / libtiff / usage-python3-pil-tiff-multipage-mixed-sizes Passed

Saves a three-page TIFF where each page has a distinct (width, height) and a distinct fill color via save_all+append_images, then walks the frames with seek() and asserts that n_frames is 3, each frame's size matches its expected dimensions in order, each frame stays in mode RGB, and the upper-left pixel of each page returns the expected fill color, demonstrating Pillow propagates per-IFD geometry through libtiff.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python multipage
Log

            
Pillow TIFF multi-page seek and tell walk Original / libtiff / usage-python3-pil-tiff-multipage-seek-tell-walk Passed

Writes a 5-page TIFF with distinct flat colors per page and walks frames with seek/tell, checking that each frame's index and dominant color match its position in the sequence.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python multipage
Log

            
Pillow TIFF multipage seek third Original / libtiff / usage-python3-pil-tiff-multipage-seek-third-batch11 Passed

Writes a three-page TIFF and seeks to the third frame with Pillow.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow TIFF tiffset Orientation tag value 3 round-trip Original / libtiff / usage-python3-pil-tiff-orientation-tag-bottomright Passed

Saves a TIFF with Pillow, sets the Orientation tag (274) to 3 (rotated 180 / bottom-right) via libtiff's tiffset CLI, and verifies tiffinfo reports "row 0 bottom, col 0 rhs" while Pillow reloads the same RGB pixel buffer (Pillow does not auto-transpose on load).

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python orientation
Log

            
Pillow TIFF PageName and DocumentName tag round-trip Original / libtiff / usage-python3-pil-tiff-page-name-document-name-tags Passed

Saves a TIFF with DocumentName (269) and PageName (285) injected via ImageFileDirectory_v2 and verifies both strings round-trip through libtiff and reload exactly via Pillow tag_v2.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata
Log

            
Pillow TIFF PageNumber tag (297) round-trips a (page, total) pair Original / libtiff / usage-python3-pil-tiff-pagenumber-tag-roundtrip Passed

Writes a single-page TIFF with an explicit PageNumber tag (297) of (0, 1) via tiffinfo and verifies the reopened image returns a length-2 tuple whose first entry is 0 and second is 1, demonstrating Pillow forwards the SHORT[2] tag to libtiff and reads it back without coercion.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata tags
Log

            
Pillow TIFF palette mode emits ColorMap tag (320) of 768 entries Original / libtiff / usage-python3-pil-tiff-palette-colormap-tag Passed

Saves a P-mode TIFF with a ramp palette and verifies the reopened TIFF carries PhotometricInterpretation (262) equal to 3 (palette), a ColorMap tag (320) with exactly 768 16-bit entries (3 channels x 256 colors), BitsPerSample (258) equal to 8, and that the indexed pixel maps back to the expected palette RGB triple.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python palette colormap
Log

            
Pillow TIFF photometric minisblack Original / libtiff / usage-python3-pil-tiff-photometric-minisblack-l Passed

Writes a grayscale TIFF and verifies the PhotometricInterpretation tag equals 1 (minisblack) on reload.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python photometric
Log

            
Pillow TIFF photometric miniswhite via tiffcp Original / libtiff / usage-python3-pil-tiff-photometric-miniswhite-bilevel Passed

Builds a 1-bit TIFF with Pillow, converts photometric to MinIsWhite (0) using tiffset, then verifies the PhotometricInterpretation tag (262) reads as 0 on reload via Pillow tag_v2.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python photometric
Log

            
Pillow TIFF photometric separated CMYK Original / libtiff / usage-python3-pil-tiff-photometric-separated-cmyk Passed

Writes a CMYK TIFF and verifies PhotometricInterpretation equals 5 (separated) and SamplesPerPixel equals 4.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python photometric cmyk
Log

            
Pillow TIFF planar configuration via tiffcp Original / libtiff / usage-python3-pil-tiff-planar-configuration-save Passed

Writes an RGB TIFF with Pillow then converts it to planar configuration with tiffcp and verifies the PlanarConfiguration tag and dimensions on reload.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python planar
Log

            
Pillow TIFF predictor deflate round-trip Original / libtiff / usage-python3-pil-tiff-predictor-deflate-roundtrip Passed

Writes a deflate-compressed TIFF with horizontal differencing predictor and verifies sha256 byte round-trip.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python compression predictor
Log

            
Pillow TIFF resolution exact rationals Original / libtiff / usage-python3-pil-tiff-resolution-rationals-exact Passed

Saves a TIFF with dpi=(72,144) and verifies tiffinfo reports XResolution/YResolution lines and PIL exposes the exact rational values via tag_v2.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata cli
Log

            
Pillow TIFF resolution unit centimeter Original / libtiff / usage-python3-pil-tiff-resolution-unit-centimeter Passed

Saves a TIFF with explicit ResolutionUnit=3 (centimeter) via tiffinfo and verifies the tag round-trips.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata
Log

            
Pillow TIFF resolution unit inch Original / libtiff / usage-python3-pil-tiff-resolution-unit-inch Passed

Saves a TIFF with dpi=(150,150) and verifies the ResolutionUnit tag (296) is 2 (inch) and XResolution/YResolution round-trip.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata
Log

            
Pillow TIFF ResolutionUnit (296) saved as 1 (no absolute unit) Original / libtiff / usage-python3-pil-tiff-resolution-unit-none Passed

Saves a TIFF with explicit ResolutionUnit=1 (no absolute unit, so the X/YResolution rationals describe an aspect ratio only) via tiffinfo and verifies the tag round-trips as 1 while the rationals XResolution (282) and YResolution (283) preserve their ratio after reload.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata resolution
Log

            
Pillow TIFF strip byte counts sanity for raw RGB Original / libtiff / usage-python3-pil-tiff-rgb-strip-byte-counts-positive Passed

Saves a 32x16 RGB TIFF with raw (uncompressed) compression and verifies that StripByteCounts (279) sums to width*height*3 = 1536, matching the raw payload size for an 8-bit-per-sample chunky 24-bit TIFF.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python sizing
Log

            
Pillow TIFF RGBA ExtraSamples tag (338) marks the alpha channel Original / libtiff / usage-python3-pil-tiff-rgba-extrasamples-tag Passed

Saves a Pillow RGBA TIFF and verifies that on reload SamplesPerPixel (277) equals 4, ExtraSamples (338) is present and contains exactly one entry equal to 2 (unassociated alpha), PhotometricInterpretation (262) equals 2 (RGB), and the constant alpha pixel round-trips byte-for-byte.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python alpha rgba
Log

            
Pillow TIFF explicit RowsPerStrip via tiffcp -r repackage Original / libtiff / usage-python3-pil-tiff-rowsperstrip-explicit Passed

Writes a TIFF with Pillow (Pillow does not support multistrip output via the tiffinfo dict; that path raises NotImplementedError), repackages it through tiffcp -r 8 to force RowsPerStrip = 8, and verifies the saved RowsPerStrip tag (278) matches on reload.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python strips
Log

            
Pillow TIFF RowsPerStrip = 16 via tiffcp -r 16 repackage Original / libtiff / usage-python3-pil-tiff-rowsperstrip-tag-tiffcp-r-16 Passed

Writes a 40x80 single-strip TIFF with Pillow (Pillow itself raises NotImplementedError when asked to emit multistrip output, so the layout is forced via tiffcp -r 16 instead) then verifies the repackaged file has Rows/Strip=16, exactly five strips, and Pillow reads back the RowsPerStrip tag (278) as 16.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python strips cli
Log

            
Pillow TIFF sequence sum Original / libtiff / usage-python3-pil-tiff-sequence-sum-batch11 Passed

Iterates multi-page TIFF frames with Pillow and sums their pixel values.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow TIFF Software tag round-trip Original / libtiff / usage-python3-pil-tiff-software-tag-roundtrip Passed

Saves a TIFF with a custom Software tag (305) injected via ImageFileDirectory_v2 and verifies the string survives a save/reload cycle through libtiff.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata
Log

            
Pillow TIFF strip byte counts via tiffinfo Original / libtiff / usage-python3-pil-tiff-strip-byte-counts-tiffinfo-s Passed

Saves a stripped TIFF with Pillow and verifies the tiffinfo report exposes the per-strip table (rows-per-strip, strip count, and a [offset, byte-count] entry) and that the PIL tag_v2 exposes consistent strip counts.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata cli
Log

            
Pillow TIFF SubIFD tag (330) roundtrip via low-level tag dict Original / libtiff / usage-python3-pil-tiff-subifd-tag-roundtrip Passed

Writes a TIFF whose IFD carries a SubIFD pointer (tag 330) injected through a low-level ImageFileDirectory_v2, then reopens with Pillow and verifies tag 330 is preserved verbatim alongside the standard image tags.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata
Log

            
Pillow TIFF three-page save_all Original / libtiff / usage-python3-pil-tiff-three-page-savall Passed

Writes a three-page TIFF with save_all and append_images, then verifies n_frames and per-frame size.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python multipage
Log

            
Pillow TIFF tiff2bw grayscale conversion Original / libtiff / usage-python3-pil-tiff-tiff2bw-grayscale Passed

Writes an RGB TIFF with Pillow, converts it to grayscale with tiff2bw, and verifies SamplesPerPixel=1, PhotometricInterpretation=1 and PIL mode L on reload.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python cli color
Log

            
Pillow TIFF tiff2bw -R red-only weight Original / libtiff / usage-python3-pil-tiff-tiff2bw-red-only Passed

Writes an RGB TIFF with Pillow whose pixels have a known red channel, runs tiff2bw with -R 100 -G 0 -B 0 (red-only weighting; tiff2bw treats -R/-G/-B as percentages, so 100/0/0 means 100% red contribution), and verifies the resulting grayscale pixel values match the original red channel and PhotometricInterpretation is 1.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python cli color
Log

            
Pillow TIFF tiff2pdf -p A4 paper size Original / libtiff / usage-python3-pil-tiff-tiff2pdf-a4-paper Passed

Writes a TIFF with Pillow, converts it to PDF with tiff2pdf -p A4 to set the page size, and verifies the output starts with %PDF- and is non-empty.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python cli pdf
Log

            
Pillow TIFF to PDF via tiff2pdf Original / libtiff / usage-python3-pil-tiff-tiff2pdf-conversion Passed

Writes a TIFF with Pillow, converts it to PDF with tiff2pdf, and verifies the output starts with the %PDF- magic and is a non-empty file.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python cli pdf
Log

            
Pillow TIFF tiffcp big-endian output Original / libtiff / usage-python3-pil-tiff-tiffcp-bigendian-output Passed

Writes a little-endian TIFF with Pillow, runs tiffcp -B to convert it to big-endian byte order, and verifies the MM*.. magic and that Pillow can still decode the resulting file with matching dimensions and mode.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python cli endian
Log

            
Pillow TIFF tiffcp -8 -B BigTIFF big-endian Original / libtiff / usage-python3-pil-tiff-tiffcp-bigtiff-bigendian Passed

Writes a classic little-endian TIFF with Pillow, repackages it as a BigTIFF (-8) in big-endian byte order (-B) via tiffcp, and verifies the MM..\x2b magic (BigTIFF big-endian) plus that tiffinfo reports the correct geometry. Pillow 10.2.0 on Ubuntu 24.04 cannot decode BigTIFF reliably, so the readback is performed with tiffinfo + libtiff itself rather than Pillow.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python cli format endian
Log

            
Pillow TIFF tiffcp -c none uncompressed Original / libtiff / usage-python3-pil-tiff-tiffcp-c-none-uncompressed Passed

Writes a Deflate-compressed TIFF with Pillow, then converts it with tiffcp -c none and verifies the Compression tag (259) becomes 1 (no compression) and pixel data round-trips byte-for-byte.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python compression cli
Log

            
Pillow TIFF tiffcp -c packbits Original / libtiff / usage-python3-pil-tiff-tiffcp-c-packbits Passed

Writes an uncompressed TIFF with Pillow, converts it with tiffcp -c packbits, and verifies the Compression tag (259) becomes 32773 (PackBits) and pixel data is preserved.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python compression cli
Log

            
Pillow TIFF tiffcp -c zip deflate alias Original / libtiff / usage-python3-pil-tiff-tiffcp-c-zip-deflate Passed

Writes an uncompressed TIFF with Pillow, converts it with tiffcp -c zip (the deflate alias), and verifies the Compression tag (259) is 8 (Deflate/Adobe Deflate) and pixels are preserved.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python compression cli
Log

            
Pillow TIFF tiffcp -c jpeg with rows-per-strip Original / libtiff / usage-python3-pil-tiff-tiffcp-jpeg-rows-per-strip Passed

Writes a stripped TIFF with Pillow, converts it to JPEG-compressed TIFF with tiffcp -c jpeg -r 16, and verifies Compression=7 and RowsPerStrip=16 on reload.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python compression cli
Log

            
Pillow TIFF tiffcp -c lzw conversion Original / libtiff / usage-python3-pil-tiff-tiffcp-lzw-roundtrip Passed

Writes an uncompressed TIFF with Pillow, converts it to LZW with tiffcp -c lzw, and verifies the Compression tag (259) is 5 and pixel data is preserved.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python compression cli
Log

            
Pillow TIFF tiffcp -r 32 mid-size strip layout Original / libtiff / usage-python3-pil-tiff-tiffcp-r-32-mid-strip Passed

Writes a 40x100 TIFF with Pillow (single strip), repackages with tiffcp -r 32 to produce four strips (32+32+32+4 rows), and verifies RowsPerStrip = 32 and exactly four strips on the output via tiffinfo -s plus Pillow tag readback.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python strips cli
Log

            
Pillow TIFF tiffcp 32x32 tile conversion Original / libtiff / usage-python3-pil-tiff-tiffcp-tile-32x32-convert Passed

Writes a stripped TIFF with Pillow then converts it to a 32x32-tiled TIFF with tiffcp -t -w 32 -l 32 and verifies tile geometry via PIL tag_v2 and tiffinfo.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python tiles cli
Log

            
Pillow TIFF strip to tile via tiffcp Original / libtiff / usage-python3-pil-tiff-tiffcp-tile-convert Passed

Writes a stripped TIFF with Pillow then converts it to a tiled TIFF with tiffcp and verifies TileWidth/TileLength via Pillow.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python tiles
Log

            
Pillow TIFF tiffcrop -E t top-edge crop Original / libtiff / usage-python3-pil-tiff-tiffcrop-e-top-edge Passed

Writes a 40x100 RGB TIFF with Pillow, runs tiffcrop -E t -m 0,0,80,0 -U px to crop 80 rows off the bottom (origin = top edge), and verifies the cropped output is 40x20 with matching ImageWidth/ImageLength tags via Pillow.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python cli transform
Log

            
Pillow TIFF tiffcrop -i with two single-page inputs Original / libtiff / usage-python3-pil-tiff-tiffcrop-i-concat-two-inputs Passed

Writes two single-page Pillow TIFFs of identical geometry, runs tiffcrop -i (ignore read errors) with both as sources to produce a single multi-frame output, and verifies the destination opens as a 2-frame TIFF whose per-page solid colors round-trip via Pillow seek().

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python cli multipage
Log

            
Pillow TIFF tiffcrop rotate 90 Original / libtiff / usage-python3-pil-tiff-tiffcrop-rotate-90 Passed

Writes a TIFF with Pillow then runs tiffcrop -R 90 and verifies the rotated dimensions and PIL mode on reload.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python transform
Log

            
Pillow TIFF tiffdump key tag inspection Original / libtiff / usage-python3-pil-tiff-tiffdump-key-tags Passed

Writes an RGB TIFF with Pillow, runs tiffdump on it, and asserts the low-level dump reports the expected key directory tags (ImageWidth, ImageLength, BitsPerSample, Photometric, SamplesPerPixel) with the values we wrote.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python cli metadata
Log

            
Pillow TIFF tiffinfo BitsPerSample for 16-bit grayscale Original / libtiff / usage-python3-pil-tiff-tiffinfo-bps-16bit-gray Passed

Writes a 16-bit grayscale (I;16) TIFF with Pillow, runs tiffinfo, and verifies the Bits/Sample line reports 16 and the Photometric Interpretation is the min-is-black grayscale flavour. (tiffinfo only emits a Samples/Pixel line when SamplesPerPixel > 1, so we use Photometric Interpretation as the single-band sanity check instead.)

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python cli grayscale
Log

            
Pillow TIFF tiffinfo CLI inspect Original / libtiff / usage-python3-pil-tiff-tiffinfo-cli-inspect Passed

Writes a TIFF with Pillow then runs the tiffinfo CLI and verifies key tag lines (ImageWidth, ImageLength, BitsPerSample) appear in the report.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python cli
Log

            
Pillow TIFF tiffinfo -j JPEG tables on JPEG-compressed TIFF Original / libtiff / usage-python3-pil-tiff-tiffinfo-j-jpeg-tables Passed

Writes a JPEG-compressed RGB TIFF with Pillow (compression="jpeg"), runs tiffinfo -j to dump the JPEGTables (tag 347) header, and verifies the report mentions Compression Scheme: JPEG and a non-zero JPEG Tables byte count, and that Pillow exposes Compression=7 plus a non-empty JPEGTables tag.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python compression jpeg cli
Log

            
Pillow TIFF tiffinfo Photometric Interpretation line Original / libtiff / usage-python3-pil-tiff-tiffinfo-photometric-line Passed

Writes an RGB TIFF with Pillow then runs the tiffinfo CLI and verifies the Photometric Interpretation line is reported with the RGB color descriptor.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python cli color
Log

            
Pillow TIFF tiffmedian palette reduction Original / libtiff / usage-python3-pil-tiff-tiffmedian-palette-reduce Passed

Writes an RGB TIFF with Pillow, runs tiffmedian -c 16 to produce a palette TIFF, and verifies PhotometricInterpretation=3 (RGB Palette), BitsPerSample=8 and PIL mode P on reload.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python cli palette
Log

            
Pillow TIFF tiffsplit on 2-page TIFF Original / libtiff / usage-python3-pil-tiff-tiffsplit-2-pages Passed

Writes a minimal 2-page multipage TIFF with Pillow, runs tiffsplit, and verifies exactly two single-frame outputs are produced (page-aaa.tif and page-aab.tif) with the original per-page solid colors preserved.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python cli multipage
Log

            
Pillow TIFF tiffsplit on 5-page TIFF Original / libtiff / usage-python3-pil-tiff-tiffsplit-five-pages Passed

Writes a 5-page TIFF with Pillow, runs tiffsplit to produce 5 single-page files, and verifies each output has exactly one frame and the dominant color matches the source page index.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python cli multipage
Log

            
Pillow TIFF tiffsplit multipage split Original / libtiff / usage-python3-pil-tiff-tiffsplit-multipage Passed

Writes a 3-page TIFF with Pillow, runs tiffsplit to split it, and verifies that 3 single-page output files are produced with expected name pattern and each contains exactly one frame.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python cli multipage
Log

            
Pillow TIFF tiffsplit on a single-page input (degenerate) Original / libtiff / usage-python3-pil-tiff-tiffsplit-single-page-degenerate Passed

Writes a one-page TIFF with Pillow, runs tiffsplit, and verifies the degenerate case: exactly one output file (page-aaa.tif) is produced, no page-aab.tif appears, and the lone fragment round-trips through Pillow with size, mode, and solid-color pixel preserved.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python cli multipage
Log

            
Pillow TIFF tiled layout tile width and length tags Original / libtiff / usage-python3-pil-tiff-tile-width-length-tags Passed

Pillow saves a stripped TIFF, tiffcp repackages it as 32x32 tiles, and Pillow reload exposes tag_v2 TileWidth (322) and TileLength (323) both equal to 32 plus consistent TileOffsets and TileByteCounts arrays.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python tile
Log

            
Pillow TIFF to BMP Original / libtiff / usage-python3-pil-tiff-to-bmp Passed

Converts a TIFF fixture to BMP with Pillow and verifies BMP output.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow TIFF to JPEG Original / libtiff / usage-python3-pil-tiff-to-jpeg Passed

Converts a TIFF fixture to JPEG with Pillow and verifies JPEG output.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow TIFF to PNG Original / libtiff / usage-python3-pil-tiff-to-png Passed

Converts a TIFF fixture to PNG with Pillow and verifies PNG output.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow TIFF tobytes length Original / libtiff / usage-python3-pil-tiff-tobytes-length-batch11 Passed

Reads TIFF pixel bytes through Pillow and checks the expected byte length.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow transposes TIFF Original / libtiff / usage-python3-pil-transpose-tiff Passed

Flips a TIFF fixture with Pillow and verifies the output size.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow transverse generated TIFF Original / libtiff / usage-python3-pil-transverse-generated-tiff Passed

Applies Pillow transverse transpose to a generated TIFF and verifies both the swapped dimensions and mapped corner pixels before round-tripping.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow uncompressed TIFF Original / libtiff / usage-python3-pil-uncompressed-tiff Passed

Saves an uncompressed TIFF with Pillow and verifies the image can be reopened.

Run
Original
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
CVE-2004-0804 libtiff regression Original / libtiff / cve-2004-0804 Passed

Asserts that tiffinfo rejects a TIFF with zero ImageLength without dividing by it inside tif_dirread row-bytes arithmetic.

Run
Original
Kind
regression
Client
none
Duration
0.00s
Tags
regression cve parser divide-by-zero
Log

            
CVE-2005-2452 libtiff regression Original / libtiff / cve-2005-2452 Passed

Asserts that tiffinfo rejects a YCbCr TIFF whose YCbCrSubSampling tag declares zero horizontal/vertical sampling without dividing by zero in strip-size arithmetic.

Run
Original
Kind
regression
Client
none
Duration
0.00s
Tags
regression cve parser divide-by-zero
Log

            
CVE-2006-3463 libtiff regression Original / libtiff / cve-2006-3463 Passed

Asserts that EstimateStripByteCounts terminates in bounded time when the StripOffsets/StripByteCounts arrays declare a 32-bit strip count that previously overflowed a 16-bit loop counter.

Run
Original
Kind
regression
Client
none
Duration
0.00s
Tags
regression cve parser infinite-loop dos
Log

            
CVE-2014-8130 libtiff regression Original / libtiff / cve-2014-8130 Passed

Asserts that libtiff rejects a TIFF declaring zero BitsPerSample without producing a divide-by-zero exception inside scanline-size arithmetic.

Run
Original
Kind
regression
Client
none
Duration
0.00s
Tags
regression cve parser divide-by-zero
Log

            
CVE-2017-11613 libtiff regression Original / libtiff / cve-2017-11613 Passed

Asserts that TIFFOpen rejects a directory whose ImageLength would drive ChopUpSingleUncompressedStrip to request enormous allocations, without crashing or hanging.

Run
Original
Kind
regression
Client
none
Duration
0.00s
Tags
regression cve parser dos
Log

            
CVE-2018-5784 libtiff regression Original / libtiff / cve-2018-5784 Passed

Asserts that TIFFSetDirectory rejects a directory whose declared entry count is far larger than the file actually contains, without entering an unbounded allocation or read loop.

Run
Original
Kind
regression
Client
none
Duration
0.00s
Tags
regression cve parser dos
Log

            
CVE-2019-14973 libtiff regression Original / libtiff / cve-2019-14973 Passed

Asserts that _TIFFCheckMalloc rejects a request whose size arithmetic would have relied on undefined signed-overflow behaviour, surfacing a clean error rather than producing the multiplication-wrap allocation.

Run
Original
Kind
regression
Client
none
Duration
0.00s
Tags
regression cve allocator overflow
Log

            
CVE-2022-40090 libtiff regression Original / libtiff / cve-2022-40090 Passed

Asserts that TIFFReadDirectory terminates in bounded time on a TIFF whose IFD chain points back to itself, instead of looping forever through repeated directory offsets.

Run
Original
Kind
regression
Client
none
Duration
0.00s
Tags
regression cve parser infinite-loop dos
Log

            
CVE-2023-52355 libtiff regression Original / libtiff / cve-2023-52355 Passed

Asserts that TIFFRasterScanlineSize64 rejects an ImageWidth that would overflow scanline-size arithmetic instead of producing the impractically large allocation request.

Run
Original
Kind
regression
Client
none
Duration
0.00s
Tags
regression cve parser overflow
Log

            
CVE-2023-6277 libtiff regression Original / libtiff / cve-2023-6277 Passed

Asserts that TIFFOpen rejects a tiny crafted TIFF whose declared dimensions would otherwise drive an out-of-memory allocation pattern, in bounded time.

Run
Original
Kind
regression
Client
none
Duration
0.00s
Tags
regression cve parser dos
Log

            
libtiff C API read write Port / libtiff / c-api-read-write Passed

Compiles a libtiff program that writes and reads a small TIFF image.

Run
Port
Kind
source
Client
none
Duration
0.00s
Tags
api compile
Log

            
Malformed TIFF rejection Port / libtiff / malformed-tiff-rejection Passed

Requires tiffinfo to fail on bytes that are not a TIFF file.

Run
Port
Kind
source
Client
none
Duration
0.00s
Tags
cli negative
Log

            
tiffcp copy behavior Port / libtiff / tiffcp-copy Passed

Copies a TIFF fixture and confirms the copied image remains readable.

Run
Port
Kind
source
Client
none
Duration
0.00s
Tags
cli media
Log

            
tiffdump structure inspection Port / libtiff / tiffdump-structure Passed

Runs tiffdump and checks expected TIFF structural tags are present.

Run
Port
Kind
source
Client
none
Duration
0.00s
Tags
cli metadata
Log

            
tiffinfo metadata inspection Port / libtiff / tiffinfo-metadata Passed

Runs tiffinfo on a checked-in TIFF image and inspects dimensions.

Run
Port
Kind
source
Client
none
Duration
0.00s
Tags
cli metadata
Log

            
Pillow add mirror TIFF Port / libtiff / usage-python3-pil-add-mirror-tiff Passed

Uses Pillow ImageChops.add on a generated TIFF and its mirrored copy and verifies the summed pixel values before round-tripping.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow add_modulo mirror TIFF Port / libtiff / usage-python3-pil-add-modulo-mirror-tiff Passed

Uses Pillow ImageChops.add_modulo on a generated TIFF and its mirrored copy and verifies the modular per-channel sums before round-tripping.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
python PIL autocontrast TIFF Port / libtiff / usage-python3-pil-autocontrast-tiff Passed

Exercises python pil autocontrast tiff through a dependent-client usage scenario.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow bilevel TIFF Port / libtiff / usage-python3-pil-bilevel-tiff Passed

Writes and reopens a 1-bit TIFF with Pillow.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow bilinear resize TIFF Port / libtiff / usage-python3-pil-bilinear-resize-tiff Passed

Resizes a TIFF fixture with bilinear resampling and verifies saved TIFF dimensions.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow blend mirror TIFF Port / libtiff / usage-python3-pil-blend-mirror-tiff Passed

Blends a generated TIFF with its mirrored copy in Pillow and verifies the blended pixel average before round-tripping.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow blend alpha one TIFF Port / libtiff / usage-python3-pil-blend-one-mirror-tiff Passed

Uses Pillow Image.blend with alpha one on a generated TIFF and verifies the result equals the mirrored image pixel-for-pixel before round-tripping.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow blend alpha zero TIFF Port / libtiff / usage-python3-pil-blend-zero-mirror-tiff Passed

Uses Pillow Image.blend with alpha zero on a generated TIFF and verifies the result equals the original image pixel-for-pixel before round-tripping.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
python PIL border expand TIFF Port / libtiff / usage-python3-pil-border-expand-tiff Passed

Exercises python pil border expand tiff through a dependent-client usage scenario.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow opens TIFF from memory Port / libtiff / usage-python3-pil-bytesio-open-tiff Passed

Loads a TIFF from an in-memory byte buffer with Pillow and verifies the decoded image dimensions.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
python PIL canvas paste TIFF Port / libtiff / usage-python3-pil-canvas-paste-tiff Passed

Exercises python pil canvas paste tiff through a dependent-client usage scenario.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow CMYK TIFF Port / libtiff / usage-python3-pil-cmyk-tiff Passed

Writes and reopens a CMYK TIFF with Pillow.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow composite halves TIFF Port / libtiff / usage-python3-pil-composite-halves-tiff Passed

Composites a generated TIFF with its mirrored copy through a half-image mask in Pillow and verifies left and right pixels come from different sources.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow convert tiff Port / libtiff / usage-python3-pil-convert-tiff Passed

Uses Pillow to run TIFF convert tiff behavior through libtiff.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python
Log

            
python PIL crop generated TIFF Port / libtiff / usage-python3-pil-crop-generated-tiff Passed

Exercises python pil crop generated tiff through a dependent-client usage scenario.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow crop tiff Port / libtiff / usage-python3-pil-crop-tiff Passed

Uses Pillow to run TIFF crop tiff behavior through libtiff.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python
Log

            
Pillow darker mirror TIFF Port / libtiff / usage-python3-pil-darker-mirror-tiff Passed

Uses Pillow ImageChops.darker on a generated TIFF and its mirrored copy and verifies the per-channel minima before round-tripping.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow Deflate TIFF save Port / libtiff / usage-python3-pil-deflate-tiff Passed

Saves a Deflate-compressed TIFF with Pillow and verifies libtiff-backed reload behavior.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python compression
Log

            
Pillow difference mirror TIFF Port / libtiff / usage-python3-pil-difference-mirror-tiff Passed

Uses Pillow ImageChops.difference on a generated TIFF and its mirrored copy and verifies the absolute per-channel difference values before round-tripping.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow duplicate darker TIFF Port / libtiff / usage-python3-pil-duplicate-darker-tiff Passed

Uses Pillow ImageChops.darker on a generated TIFF against its own copy and verifies every pixel matches the original before round-tripping.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
python PIL equalize TIFF Port / libtiff / usage-python3-pil-equalize-tiff Passed

Exercises python pil equalize tiff through a dependent-client usage scenario.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
python PIL detail filter TIFF Port / libtiff / usage-python3-pil-filter-detail-tiff Passed

Exercises python pil detail filter tiff through a dependent-client usage scenario.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
python PIL fit TIFF Port / libtiff / usage-python3-pil-fit-tiff Passed

Exercises python pil fit tiff through a dependent-client usage scenario.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow flips TIFF vertically Port / libtiff / usage-python3-pil-flip-topbottom-tiff Passed

Flips a TIFF fixture vertically with Pillow and verifies the output size.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow flip twice identity TIFF Port / libtiff / usage-python3-pil-flip-twice-identity-tiff Passed

Flips a generated TIFF twice with ImageOps.flip and verifies the result matches the original pixel-for-pixel before round-tripping.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow floating point TIFF Port / libtiff / usage-python3-pil-float-tiff Passed

Writes and reopens a floating-point TIFF with Pillow.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow TIFF bounding box Port / libtiff / usage-python3-pil-getbbox-tiff Passed

Computes a bounding box for a TIFF with Pillow and verifies a valid four-value rectangle is returned.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
python PIL getextrema TIFF Port / libtiff / usage-python3-pil-getextrema-tiff Passed

Exercises python pil getextrema tiff through a dependent-client usage scenario.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow grayscale add TIFF Port / libtiff / usage-python3-pil-grayscale-add-tiff Passed

Converts a generated TIFF to L mode and adds its mirrored copy with ImageChops.add, verifying the saturated luminance sum before saving.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow grayscale TIFF Port / libtiff / usage-python3-pil-grayscale-tiff Passed

Writes and reopens a grayscale TIFF with Pillow.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
python PIL histogram TIFF Port / libtiff / usage-python3-pil-histogram-tiff Passed

Exercises python pil histogram tiff through a dependent-client usage scenario.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow TIFF info dictionary Port / libtiff / usage-python3-pil-icc-info-tiff Passed

Reads TIFF metadata through Pillow info and tag dictionaries.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow invert generated TIFF Port / libtiff / usage-python3-pil-invert-generated-tiff Passed

Uses Pillow ImageOps.invert on a generated TIFF and verifies the inverted channel values before round-tripping.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow invert mirror lighter TIFF Port / libtiff / usage-python3-pil-invert-mirror-mirror-tiff Passed

Inverts a mirrored TIFF with ImageOps.invert and lighter-merges with the original, verifying the per-channel lighter pixel values before round-tripping.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
python PIL invert point TIFF Port / libtiff / usage-python3-pil-invert-point-tiff Passed

Exercises python pil invert point tiff through a dependent-client usage scenario.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
python PIL L mode TIFF Port / libtiff / usage-python3-pil-l-mode-tiff Passed

Exercises python pil l mode tiff through a dependent-client usage scenario.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow LA mode TIFF Port / libtiff / usage-python3-pil-la-mode-tiff Passed

Saves an LA-mode TIFF with Pillow and verifies the reloaded image preserves the grayscale-plus-alpha mode.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow lighter mirror TIFF Port / libtiff / usage-python3-pil-lighter-mirror-tiff Passed

Uses Pillow ImageChops.lighter on a generated TIFF and its mirrored copy and verifies the per-channel maxima before round-tripping.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow lzw tiff Port / libtiff / usage-python3-pil-lzw-tiff Passed

Uses Pillow to run TIFF lzw tiff behavior through libtiff.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python
Log

            
Pillow mirrors TIFF left right Port / libtiff / usage-python3-pil-mirror-left-right-tiff Passed

Mirrors a TIFF horizontally with Pillow and verifies the output dimensions remain unchanged.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow mirror twice identity TIFF Port / libtiff / usage-python3-pil-mirror-twice-identity-tiff Passed

Mirrors a generated TIFF twice with ImageOps.mirror and verifies the result matches the original pixel-for-pixel before round-tripping.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow multiframe TIFF count Port / libtiff / usage-python3-pil-multiframe-count-tiff Passed

Creates a multi-frame TIFF and verifies the total frame count with Pillow iteration.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow TIFF frame seek Port / libtiff / usage-python3-pil-multiframe-seek-tiff Passed

Creates a multi-frame TIFF and seeks to the second frame.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow multipage tiff Port / libtiff / usage-python3-pil-multipage-tiff Passed

Uses Pillow to run TIFF multipage tiff behavior through libtiff.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python
Log

            
Pillow multiply mirror TIFF Port / libtiff / usage-python3-pil-multiply-mirror-tiff Passed

Uses Pillow ImageChops.multiply on a generated TIFF and its mirrored copy and verifies the multiplied pixel values before round-tripping.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
python PIL offset TIFF Port / libtiff / usage-python3-pil-offset-tiff Passed

Exercises python pil offset tiff through a dependent-client usage scenario.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow open tiff Port / libtiff / usage-python3-pil-open-tiff Passed

Uses Pillow to run TIFF open tiff behavior through libtiff.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python
Log

            
Pillow PackBits TIFF Port / libtiff / usage-python3-pil-packbits-tiff Passed

Writes PackBits-compressed TIFF data with Pillow and verifies dimensions.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
python PIL pad TIFF Port / libtiff / usage-python3-pil-pad-tiff Passed

Exercises python pil pad tiff through a dependent-client usage scenario.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow palette TIFF Port / libtiff / usage-python3-pil-palette-tiff Passed

Writes and reopens a palette TIFF image with Pillow.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow pastes TIFF region Port / libtiff / usage-python3-pil-paste-region-tiff Passed

Pastes a TIFF onto a larger canvas with Pillow and verifies the saved output dimensions.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow point shift TIFF Port / libtiff / usage-python3-pil-point-shift-tiff Passed

Applies a point-wise channel offset to a TIFF with Pillow and verifies the saved output remains decodable.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
python PIL quantize TIFF Port / libtiff / usage-python3-pil-quantize-tiff Passed

Exercises python pil quantize tiff through a dependent-client usage scenario.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
BitsPerSample tag is a triple of 8s for an RGB Pillow TIFF Port / libtiff / usage-python3-pil-r10-tiff-bitspersample-rgb-triple Passed

Saves an RGB TIFF with Pillow and verifies tag_v2[258] BitsPerSample is exposed as a length-3 tuple where every entry equals 8, matching the three RGB samples per pixel.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tag
Log

            
Pillow TIFFs default to FillOrder MSB2LSB (1) Port / libtiff / usage-python3-pil-r10-tiff-fillorder-default-msb2lsb Passed

Saves a default RGB TIFF with Pillow and reads tag 266 back, asserting FillOrder defaults to 1 (MSB-to-LSB) when not explicitly set, matching the libtiff baseline.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python fillorder
Log

            
pal2rgb expands a Pillow palette TIFF into RGB samples Port / libtiff / usage-python3-pil-r10-tiff-pal2rgb-palette-to-rgb Passed

Saves a P-mode TIFF with Pillow, runs pal2rgb to convert it to RGB, and verifies the result reopens with mode RGB, SamplesPerPixel=3, and PhotometricInterpretation=2 (RGB).

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python pal2rgb
Log

            
ppm2tiff converts a synthetic PPM into a Pillow-readable TIFF Port / libtiff / usage-python3-pil-r10-tiff-ppm2tiff-roundtrip Passed

Writes a small binary PPM, runs ppm2tiff to wrap it as TIFF, and verifies Pillow opens the result with mode RGB, the expected size, and pixel data matching the source PPM bytes.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python ppm2tiff
Log

            
tiff2pdf -j packs a Pillow JPEG-compressed TIFF into a PDF Port / libtiff / usage-python3-pil-r10-tiff-tiff2pdf-jpeg-output Passed

Saves a JPEG-compressed RGB TIFF with Pillow, runs tiff2pdf -j to wrap it as a PDF, and verifies the output begins with the %PDF-1 magic and ends with the %%EOF trailer.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tiff2pdf
Log

            
tiff2ps emits a PostScript stream from a Pillow TIFF Port / libtiff / usage-python3-pil-r10-tiff-tiff2ps-postscript-magic Passed

Saves an RGB TIFF with Pillow, runs tiff2ps to convert it, and verifies the output begins with the %!PS-Adobe magic and contains a %%BoundingBox header.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tiff2ps
Log

            
tiff2rgba expands a Pillow palette TIFF into RGBA samples Port / libtiff / usage-python3-pil-r10-tiff-tiff2rgba-palette-to-rgba Passed

Saves a P-mode palette TIFF with Pillow, runs tiff2rgba to convert it, and verifies the result reopens as RGBA with SamplesPerPixel=4 and the original geometry preserved.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tiff2rgba
Log

            
tiffcmp returns success on byte-equal Pillow TIFF copies Port / libtiff / usage-python3-pil-r10-tiff-tiffcmp-equal-files Passed

Saves an RGB TIFF with Pillow, copies it to a second file, and verifies tiffcmp exits 0 with no diff lines printed.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tiffcmp
Log

            
Pillow mode "1" bilevel TIFF passes through libtiff's tiffcp -c lzw Port / libtiff / usage-python3-pil-r10-tiff-tiffdither-bilevel-output Passed

Saves a Pillow mode "1" (1-bit) bilevel TIFF and round-trips it through libtiff's tiffcp -c lzw, then verifies the output is still a 1-bit, 32x16 TIFF with LZW compression via tiffinfo, exercising libtiff's bilevel reader and the LZW codec on Pillow-produced 1-bit imagery. (libtiff's tiffdither tool refuses Pillow output with "Not a b&w image" because Pillow's mode-L default save varies in SamplesPerPixel/PhotometricInterpretation — tiffcp on a true 1-bit source is the documented stable surface.)

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python libtiff-tools
Log

            
tiffset rewrites Software tag on a Pillow TIFF Port / libtiff / usage-python3-pil-r10-tiff-tiffset-software-tag Passed

Saves an RGB TIFF with Pillow, uses tiffset -s 305 to overwrite the Software tag, and verifies Pillow reads the new value back from tag_v2[305].

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tiffset
Log

            
PIL TIFF saved from mode "1" reports min-is-black photometric Port / libtiff / usage-python3-pil-r11-tiff-bilevel-mode-photometric Passed

Saves a Pillow mode='1' bilevel image to TIFF and verifies tiffinfo reports "Photometric Interpretation: min-is-black" (PhotometricInterpretation tag value 1) which is the libtiff convention for 1-bit bitmaps written from PIL.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python photometric bilevel
Log

            
PIL CMYK TIFF reports separated photometric and SamplesPerPixel 4 Port / libtiff / usage-python3-pil-r11-tiff-cmyk-photometric-separated Passed

Saves a Pillow CMYK image to TIFF and verifies tiffinfo reports "Photometric Interpretation: separated" and "Samples/Pixel: 4", reflecting the four ink channels of CMYK.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python cmyk photometric
Log

            
PIL bilevel TIFF saved with group4 reports CCITT Group 4 compression Port / libtiff / usage-python3-pil-r11-tiff-group4-fax-compression Passed

Saves a Pillow mode='1' bilevel image to TIFF with compression='group4' and verifies tag_v2[259] == 4 (CCITT Group 4) and tiffinfo reports "Compression Scheme: CCITT Group 4".

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python compression fax group4
Log

            
PIL I;16 grayscale TIFF reports BitsPerSample 16 Port / libtiff / usage-python3-pil-r11-tiff-i16-bits-per-sample-16 Passed

Saves a Pillow mode='I;16' grayscale TIFF and verifies tag_v2[258] BitsPerSample == 16 and tiffinfo reports "Bits/Sample: 16", reflecting the 16-bit unsigned integer sample format used by I;16 grayscale.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python depth sixteen-bit
Log

            
PIL TIFF saved with packbits sets Compression tag to 32773 Port / libtiff / usage-python3-pil-r11-tiff-packbits-compression-tag Passed

Saves an RGB TIFF with Pillow compression='packbits' and verifies tag_v2[259] == 32773 (PackBits) and tiffinfo reports "Compression Scheme: PackBits".

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python compression packbits
Log

            
raw2tiff wraps an 8-bit grayscale buffer with declared geometry Port / libtiff / usage-python3-pil-r11-tiff-raw2tiff-grayscale-roundtrip Passed

Writes a deterministic 20x15 byte ramp to a raw file, runs raw2tiff with -w 20 -l 15 -b 1 -d byte, and verifies tiffinfo reports the exact ImageWidth/ImageLength and 8 bits-per-sample on the produced TIFF.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff raw2tiff cli
Log

            
PIL RGBA TIFF tags ExtraSamples=2 (unassociated alpha) and Samples/Pixel=4 Port / libtiff / usage-python3-pil-r11-tiff-rgba-extra-samples-alpha Passed

Saves a Pillow RGBA TIFF and verifies tag_v2[277] SamplesPerPixel == 4 and tag_v2[338] ExtraSamples == (2,) (UNASSALPHA), confirming the alpha channel is recorded as unassociated alpha rather than premultiplied.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python alpha rgba
Log

            
tiff2pdf produces a PDF whose page count matches the multi-page TIFF Port / libtiff / usage-python3-pil-r11-tiff-tiff2pdf-multipage-page-count Passed

Builds a 4-page TIFF with Pillow save_all + append_images, runs tiff2pdf, and verifies pdfinfo reports exactly Pages: 4 in the output PDF.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff tiff2pdf multipage
Log

            
tiffset rewrites the Orientation tag and tiffinfo reports the new sense Port / libtiff / usage-python3-pil-r11-tiff-tiffset-orientation-tag Passed

Saves an RGB TIFF, runs tiffset -s 274 6 to set Orientation=6 (row 0 rhs, col 0 top), and verifies tiffinfo's "Orientation" line reports the new orientation token rather than the default.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff tiffset orientation
Log

            
tiffsplit with explicit prefix produces aaa/aab/aac single-image files Port / libtiff / usage-python3-pil-r11-tiff-tiffsplit-prefix-output-naming Passed

Builds a 3-page TIFF and runs tiffsplit with an explicit prefix; verifies the resulting files are named "<prefix>aaa.tif", "<prefix>aab.tif", "<prefix>aac.tif" (libtiff's deterministic alphabetic suffix sequence) and each contains exactly one TIFF directory.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff tiffsplit naming
Log

            
PIL I;16 TIFF preserves a 40000 pixel value through libtiff write/read Port / libtiff / usage-python3-pil-r12-tiff-16bit-grayscale-pixel-roundtrip Passed

Saves an I;16 grayscale TIFF whose every pixel is 40000 and verifies the reopened image's mode is 'I;16' and getpixel((0,0)) returns 40000 unchanged, asserting libtiff stores 16-bit grayscale samples without truncation to 8 bits.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python sixteen-bit grayscale
Log

            
PIL TIFF saved with tiff_adobe_deflate sets Compression tag 8 and tiffinfo reports AdobeDeflate Port / libtiff / usage-python3-pil-r12-tiff-adobe-deflate-compression-tag-8 Passed

Saves an RGB TIFF with Pillow compression='tiff_adobe_deflate' and verifies tag_v2[259] == 8 (AdobeDeflate) and tiffinfo reports "Compression Scheme: AdobeDeflate", the modern z-streams TIFF codec id.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python compression deflate
Log

            
PIL TIFF saved with tiff_deflate sets Compression tag 32946 Port / libtiff / usage-python3-pil-r12-tiff-deflate-compression-tag-32946 Passed

Saves an RGB TIFF with Pillow compression='tiff_deflate' and verifies tag_v2[259] == 32946 (Deflate, original Adobe TIFF Technical Note 2 codec id), distinguishing it from the alternative tiff_adobe_deflate value 8.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python compression deflate
Log

            
PIL TIFF saved with tiff_lzw sets Compression tag 5 and tiffinfo reports LZW Port / libtiff / usage-python3-pil-r12-tiff-lzw-compression-tag-5 Passed

Saves an RGB TIFF with Pillow compression='tiff_lzw' and verifies tag_v2[259] == 5 (LZW) and tiffinfo reports "Compression Scheme: LZW", asserting the libtiff LZW codec path from Pillow.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python compression lzw
Log

            
PIL Image.n_frames reports 3 for a three-page TIFF Port / libtiff / usage-python3-pil-r12-tiff-multipage-n-frames-three Passed

Builds a 3-page TIFF using save_all and append_images and verifies Image.n_frames == 3 on reopen, reflecting the libtiff multi-directory layout discovered by Pillow.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python multipage frames
Log

            
PIL TIFF seek/tell cycle through frames matches the seeked index Port / libtiff / usage-python3-pil-r12-tiff-multipage-seek-tell-cycle Passed

Builds a 4-page TIFF with distinct solid colors and verifies Image.seek(i) followed by Image.tell() == i for i in 0..3, asserting the libtiff IFD walking is invoked correctly through Pillow.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python multipage seek
Log

            
PIL TIFF saved with compression='raw' sets Compression tag 1 (none) Port / libtiff / usage-python3-pil-r12-tiff-raw-uncompressed-compression-tag-1 Passed

Saves an RGB TIFF with Pillow compression='raw' and verifies tag_v2[259] == 1 (no compression), exercising the explicit no-compression Pillow alias.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python compression raw
Log

            
PIL TIFF saved with dpi=(300,300) reports ResolutionUnit=2 (inch) Port / libtiff / usage-python3-pil-r12-tiff-resolution-unit-tag-2-inch Passed

Saves an RGB TIFF with Pillow dpi=(300,300) and verifies tag_v2[296] ResolutionUnit == 2 (inch) and tag_v2[282] XResolution and tag_v2[283] YResolution evaluate to 300, asserting the tag is set even when unit is the libtiff default.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python resolution dpi
Log

            
PIL TIFF Software (305) and ImageDescription (270) round-trip via tiffinfo Port / libtiff / usage-python3-pil-r12-tiff-software-and-imagedescription-tags Passed

Saves a TIFF with explicit Software and ImageDescription string tags via Pillow's tiffinfo argument and verifies tiffinfo reports both lines verbatim and Pillow re-reads tag_v2[305] and tag_v2[270] with the same values.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tags ascii
Log

            
tiffcp converts a Pillow stripped TIFF into a tiled TIFF with TileWidth/TileLength=64 Port / libtiff / usage-python3-pil-r12-tiff-tile-options-tagged Passed

Saves an RGB TIFF with Pillow (stripped layout) and runs libtiff's tiffcp -t -w 64 -l 64 to convert it into a tiled TIFF, then asserts tiffinfo reports "Tile Width: 64" and "Tile Length: 64" in the output metadata. (Pillow's TIFF writer does not honour a "tile" save kwarg; tiffcp is the libtiff-side surface for producing tiled imagery and is what this test exercises.)

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tiled
Log

            
PIL bilevel TIFF saved with group3 reports CCITT Group 3 in tiffinfo Port / libtiff / usage-python3-pil-r13-tiff-ccitt-fax-t4-bilevel Passed

Saves a Pillow mode='1' bilevel image with compression='group3' and verifies tiffinfo reports "Compression Scheme: CCITT Group 3" on the resulting file, asserting the libtiff Group 3 (T.4) fax codec round-trips through Pillow.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python compression fax group3
Log

            
PIL F mode TIFF preserves a 0.5 float pixel through libtiff Port / libtiff / usage-python3-pil-r13-tiff-f-mode-float-zero-readback Passed

Builds a Pillow mode "F" image filled with 0.5, saves it as TIFF, and verifies the reopened mode is "F", size is unchanged, and getpixel((0,0)) is exactly 0.5 (representable as float32), asserting libtiff stores 32-bit IEEE float samples without quantisation.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python float f-mode
Log

            
PIL TIFF getexif() round-trips a DateTime ASCII (tag 306) through libtiff Port / libtiff / usage-python3-pil-r13-tiff-getexif-datetime-tag-306 Passed

Builds a Pillow Exif object with tag 306 = "2026:05:06 12:00:00", saves an RGB TIFF using exif=exif, and verifies on reopen that getexif()[306] decodes to the same string (after stripping any trailing NUL or bytes->str), asserting libtiff carries the EXIF DateTime ASCII through the Pillow round-trip.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python exif datetime
Log

            
PIL I;16 TIFF retains a 65000 pixel value on reload Port / libtiff / usage-python3-pil-r13-tiff-i16-pixel-65000-roundtrip Passed

Writes a Pillow I;16 grayscale TIFF whose every pixel is 65000 (near the 16-bit ceiling) and verifies the reopened image's mode is "I;16" and getpixel((4,2)) returns 65000 unchanged, asserting libtiff carries 16-bit grayscale samples without 8-bit truncation.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python sixteen-bit grayscale
Log

            
PIL TIFF description kwarg writes ImageDescription tag 270 readable on reopen Port / libtiff / usage-python3-pil-r13-tiff-imagedescription-via-description-kwarg Passed

Saves a Pillow TIFF with the description= keyword and verifies on reopen that tag_v2.get(270) (ImageDescription) returns the same ASCII string, asserting Pillow forwards the keyword into the libtiff IFD.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python ascii description
Log

            
PIL TIFF saved with tiff_adobe_deflate reports info["compression"] as a deflate variant Port / libtiff / usage-python3-pil-r13-tiff-info-compression-string-deflate Passed

Saves an RGB TIFF with Pillow compression='tiff_adobe_deflate' and verifies image.info["compression"] is one of the documented deflate string ids ("tiff_adobe_deflate" or "tiff_deflate"), exercising the libtiff zip codec discovery path through the Pillow info dictionary rather than via the numeric Compression tag.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python compression deflate
Log

            
PIL TIFF saved with tiff_lzw exposes info["compression"] string "tiff_lzw" Port / libtiff / usage-python3-pil-r13-tiff-info-compression-string-lzw Passed

Saves an RGB TIFF with Pillow compression='tiff_lzw' and verifies that on reopen image.info["compression"] is the literal string "tiff_lzw" (PIL's string id, not the numeric tag), asserting the libtiff LZW codec is announced through the Pillow info dict.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python compression lzw
Log

            
PIL TIFF saved with compression='raw' reports info["compression"] == "raw" Port / libtiff / usage-python3-pil-r13-tiff-info-compression-string-raw Passed

Saves an RGB TIFF with Pillow compression='raw' (no compression) and verifies image.info["compression"] is exactly the string "raw", asserting Pillow propagates the "uncompressed" alias verbatim through the libtiff write path on reopen.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python compression raw
Log

            
PIL TIFF dpi=(150,150) round-trips through image.info["dpi"] Port / libtiff / usage-python3-pil-r13-tiff-info-dpi-150-tuple Passed

Saves an RGB TIFF with dpi=(150,150) and verifies image.info["dpi"] on reopen evaluates to (150.0, 150.0) when each entry is cast to float, asserting Pillow's TIFF reader pulls XResolution/YResolution into the info dict consistent with the libtiff write of those rationals.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python dpi info
Log

            
PIL TIFF save_all + append_images builds a 5-frame TIFF Port / libtiff / usage-python3-pil-r13-tiff-multipage-save-all-five-frames Passed

Saves five distinct solid-color RGB pages to a single TIFF using save_all=True with append_images of length four, then verifies Image.n_frames == 5 on reopen, asserting libtiff records all five IFDs and Pillow walks them.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python multipage save_all
Log

            
PIL TIFF dpi=(72,72) round-trips through image.info["dpi"] Port / libtiff / usage-python3-pil-r14-tiff-dpi-72-tuple-roundtrip Passed

Saves an RGB TIFF with dpi=(72,72) and verifies image.info["dpi"] on reopen evaluates to (72.0, 72.0) when each entry is cast to float, asserting Pillow's TIFF reader pulls XResolution/YResolution into the info dict consistent with the libtiff write of those rationals at the screen-typical 72 dpi.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python dpi info
Log

            
PIL TIFF getexif() round-trips Make (271) and Model (272) ASCII strings Port / libtiff / usage-python3-pil-r14-tiff-getexif-make-model-roundtrip Passed

Builds a Pillow Exif object with tag 271 (Make) = "ValidatorCo" and 272 (Model) = "ValidatorCam X1", saves an RGB TIFF using exif=exif, and verifies on reopen that getexif()[271] and getexif()[272] decode (after stripping any trailing NUL or bytes->str) to the same strings, asserting libtiff carries the Make/Model ASCII through the Pillow round-trip.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python exif make model
Log

            
PIL TIFF tag_v2[257] (ImageLength) reads back the saved image height Port / libtiff / usage-python3-pil-r14-tiff-imagelength-tag-257-readback Passed

Saves a 19x43 RGB TIFF and verifies that tag_v2.get(257) (ImageLength) on reopen equals 43 (matching image.size[1]), asserting libtiff records the canonical ImageLength tag and Pillow surfaces it as an integer through the v2 IFD.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tags imagelength
Log

            
PIL TIFF tag_v2[256] (ImageWidth) reads back the saved image width Port / libtiff / usage-python3-pil-r14-tiff-imagewidth-tag-256-readback Passed

Saves a 37x21 RGB TIFF and verifies that tag_v2.get(256) (ImageWidth) on reopen equals 37 (matching image.size[0]), asserting libtiff records the canonical ImageWidth tag and Pillow surfaces it as an integer through the v2 IFD.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tags imagewidth
Log

            
PIL bilevel TIFF saved with group3 exposes info["compression"] string "group3" Port / libtiff / usage-python3-pil-r14-tiff-info-compression-string-group3 Passed

Saves a mode "1" bilevel TIFF with Pillow compression='group3' and verifies image.info["compression"] equals "group3" (PIL's string id for the CCITT T.4 codec, numeric Compression tag value 3) on reopen, asserting libtiff's Group 3 fax codec is announced through the Pillow info dict.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python compression group3
Log

            
PIL bilevel TIFF saved with group4 exposes info["compression"] string "group4" Port / libtiff / usage-python3-pil-r14-tiff-info-compression-string-group4 Passed

Saves a mode "1" bilevel TIFF with Pillow compression='group4' and verifies image.info["compression"] equals "group4" (PIL's string id for the CCITT T.6 codec, numeric Compression tag value 4) on reopen, asserting libtiff's Group 4 fax codec is announced through the Pillow info dict.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python compression group4
Log

            
PIL TIFF saved with packbits exposes info["compression"] string "packbits" Port / libtiff / usage-python3-pil-r14-tiff-info-compression-string-packbits Passed

Saves an RGB TIFF with Pillow compression='packbits' and verifies that on reopen image.info["compression"] is exactly the literal string "packbits" (PIL's string id, not the numeric tag value 32773), asserting the libtiff PackBits codec is announced through the Pillow info dict.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python compression packbits
Log

            
PIL TIFF saved with jpeg compression exposes info["compression"] as a jpeg id Port / libtiff / usage-python3-pil-r14-tiff-info-compression-string-tiff-jpeg Passed

Saves an RGB TIFF with Pillow compression='jpeg' and verifies image.info["compression"] is one of the jpeg-family string ids ("jpeg" or "tiff_jpeg") on reopen, asserting libtiff's JPEG-in-TIFF codec is announced through the Pillow info dict rather than via the numeric Compression tag (7).

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python compression jpeg
Log

            
PIL TIFF mode "1" 1-bit bilevel image round-trips with BitsPerSample == 1 Port / libtiff / usage-python3-pil-r14-tiff-mode-1-1bit-bilevel-roundtrip Passed

Saves a mode "1" bilevel TIFF and verifies on reopen that the mode is still "1" (which PIL only assigns when libtiff's BitsPerSample is 1 and PhotometricInterpretation is 0/1). If tag_v2[258] is surfaced, also assert it equals 1; PIL on noble does not always populate this entry on read, so a missing value is tolerated as long as the mode round-trips.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python mode-1 bilevel
Log

            
PIL TIFF mode "RGBA" round-trips and exposes a 4th alpha band on reopen Port / libtiff / usage-python3-pil-r14-tiff-mode-rgba-alpha-channel-roundtrip Passed

Saves a mode "RGBA" TIFF with a non-trivial alpha channel and verifies on reopen that mode == "RGBA", split() produces 4 bands, and the alpha band's getextrema() returns the expected (min,max) tuple, asserting libtiff round-trips the alpha sample through Pillow.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python rgba alpha
Log

            
PIL TIFF getexif() round-trips ImageDescription ASCII (tag 270) through libtiff Port / libtiff / usage-python3-pil-r15-tiff-getexif-imagedescription-tag-270 Passed

Builds a Pillow Exif object with tag 270 (ImageDescription) = "validator r15 description", saves an RGB TIFF using exif=ex, and verifies on reopen that getexif()[270] decodes to the same string after stripping trailing NUL bytes, asserting libtiff carries the ImageDescription ASCII through Pillow's getexif() round-trip.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python exif image-description
Log

            
PIL TIFF getexif() round-trips a Software ASCII (tag 305) through libtiff Port / libtiff / usage-python3-pil-r15-tiff-getexif-software-tag-305 Passed

Builds a Pillow Exif object with tag 305 = "ValidatorR15Software", saves an RGB TIFF using exif=ex, and verifies on reopen that getexif()[305] decodes to the same string after stripping any trailing NUL byte (or bytes->str), asserting libtiff carries the Software ASCII through Pillow's getexif() round-trip.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python exif software
Log

            
PIL TIFF dpi=(300,300) round-trips through image.info["dpi"] Port / libtiff / usage-python3-pil-r15-tiff-info-dpi-300-tuple Passed

Saves an RGB TIFF with dpi=(300,300) and verifies that on reopen the image.info["dpi"] tuple, when each entry is cast to float, equals (300.0, 300.0), asserting Pillow surfaces the libtiff XResolution/YResolution rationals at print-typical 300 dpi.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python dpi info
Log

            
PIL TIFF dpi=(200,100) preserves asymmetric X/Y resolution on round-trip Port / libtiff / usage-python3-pil-r15-tiff-info-dpi-asymmetric-200x100 Passed

Saves an RGB TIFF with an asymmetric dpi=(200,100) (XResolution != YResolution), then verifies on reopen that image.info["dpi"] cast to floats equals (200.0, 100.0), asserting libtiff retains the X and Y resolution rationals independently rather than collapsing them to a single value.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python dpi info asymmetric
Log

            
PIL mode "F" TIFF retains a fractional 0.5 pixel value on reload Port / libtiff / usage-python3-pil-r15-tiff-mode-f-float-half-pixel-roundtrip Passed

Writes a Pillow mode "F" (float32) TIFF whose every pixel is 0.5 and verifies the reopened image's mode is "F" and getpixel((1,1)) is exactly 0.5 (well-represented in IEEE-754 float32), asserting libtiff carries float32 sample values through Pillow's mode "F" round-trip without rounding to integer.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python f-mode float
Log

            
PIL mode "I" (int32) TIFF retains a 100000 pixel value on reload Port / libtiff / usage-python3-pil-r15-tiff-mode-i-int32-pixel-roundtrip Passed

Writes a Pillow mode "I" (int32 signed) TIFF whose every pixel is 100000 (well outside the 16-bit range) and verifies the reopened image's mode begins with "I" and getpixel((2,2)) returns 100000 unchanged, asserting libtiff carries 32-bit integer samples without truncating to 16 or 8 bits.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python i-mode int32
Log

            
PIL I;16 TIFF reports the expected extrema for a flat 32000 image Port / libtiff / usage-python3-pil-r15-tiff-mode-i16-extrema-roundtrip Passed

Writes a Pillow I;16 grayscale TIFF whose every pixel is 32000 and verifies the reopened image's mode is "I;16" and getextrema() returns (32000, 32000), asserting libtiff carries 16-bit grayscale samples and Pillow surfaces both extrema accurately for a uniform image.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python sixteen-bit extrema
Log

            
PIL mode "L" TIFF carries a 200 pixel value through getpixel after reopen Port / libtiff / usage-python3-pil-r15-tiff-mode-l-getpixel-200-roundtrip Passed

Writes a Pillow mode "L" TIFF whose every pixel is 200 (mid-bright 8-bit grayscale) and verifies the reopened image's mode is "L", size is preserved, and getpixel((3,1)) returns 200 unchanged, asserting libtiff round-trips 8-bit grayscale samples without value distortion.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python l-mode grayscale
Log

            
PIL TIFF save_all + seek(2) reaches the third page with its expected color Port / libtiff / usage-python3-pil-r15-tiff-multipage-seek-frame-2-pixel Passed

Saves three distinct solid-color RGB pages (red, green, blue) to a single TIFF using save_all=True with append_images of length two, then verifies on reopen that n_frames == 3, im.seek(2) succeeds, and getpixel((0, 0)) of the third frame returns (0, 0, 255), asserting libtiff records all three IFDs and Pillow can navigate to the third frame and recover its pixel data.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python multipage seek
Log

            
PIL RGBA TIFF returns the exact corner pixel via getpixel after reopen Port / libtiff / usage-python3-pil-r15-tiff-rgba-getpixel-corner-roundtrip Passed

Writes a Pillow mode "RGBA" TIFF filled with (12, 34, 56, 78) and verifies on reopen that mode == "RGBA" and getpixel((0, 0)) returns the same 4-tuple unchanged, asserting libtiff carries all four 8-bit RGBA samples without channel reordering or alpha drop.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python rgba getpixel
Log

            
PIL TIFF DateTime tag 306 written via tiffinfo dict survives a save+reopen Port / libtiff / usage-python3-pil-r16-tiff-datetime-tag-306-roundtrip Passed

Saves a small RGB TIFF with tag_v2 DateTime 306 supplied via the tiffinfo kwarg, reopens the file with Pillow, and asserts tag_v2[306] equals the original ASCII timestamp, exercising libtiff's ASCII DateTime tag write/read.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tag datetime
Log

            
PIL TIFF save without save_all writes a single-frame file even after a prior multi-frame save Port / libtiff / usage-python3-pil-r16-tiff-default-append-false-overwrites Passed

Writes a 3-frame multi-page TIFF with save_all=True, then re-saves to the same path with a single image and the default save_all=False, reopens with Pillow, asserts n_frames is 1, mode is L, and the only frame's (0,0) pixel matches the single-image value — exercising Pillow's default non-append save behaviour atop libtiff.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python multiframe
Log

            
PIL I;16 TIFF preserves mode I;16 and 10x7 dimensions across save and reopen Port / libtiff / usage-python3-pil-r16-tiff-i16-roundtrip-size-and-mode Passed

Saves a 10x7 I;16 image with constant value 12345 as a TIFF, reopens with Pillow, asserts the reopened mode is exactly "I;16", asserts the reopened size is (10, 7), and asserts every sampled pixel along the diagonal equals the original constant.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python sixteen-bit
Log

            
PIL TIFF ImageDescription tag 270 written via description kwarg roundtrips through tag_v2 Port / libtiff / usage-python3-pil-r16-tiff-imagedescription-tag-270-roundtrip Passed

Saves a small RGB TIFF with a fixed description=... kwarg, reopens the file with Pillow, and asserts tag_v2[270] equals the original description string, exercising libtiff's ImageDescription tag write/read path through Pillow.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tag imagedescription
Log

            
PIL RGB TIFF surfaces ImageWidth (256) and ImageLength (257) tags matching saved dimensions Port / libtiff / usage-python3-pil-r16-tiff-imagewidth-imagelength-rgb Passed

Saves a 19x13 RGB TIFF with Pillow, reopens with Pillow, asserts tag_v2[256] equals 19 and tag_v2[257] equals 13, and asserts info or the image size matches the same dimensions — exercising libtiff's width/length tags through Pillow's reader.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tag dimensions
Log

            
PIL RGB TIFF saved with tiff_lzw compression roundtrips pixel data exactly Port / libtiff / usage-python3-pil-r16-tiff-lzw-rgb-roundtrip Passed

Builds a 16x16 RGB image with a deterministic gradient, saves it as TIFF with compression='tiff_lzw', reopens with Pillow, asserts the reopened image is RGB sized 16x16, and asserts a sampled corner pixel matches the original byte-for-byte.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python lzw rgb
Log

            
PIL save_all append_images writes a 3-frame TIFF readable via seek Port / libtiff / usage-python3-pil-r16-tiff-multiimage-append-three-frames Passed

Saves a TIFF with save_all=True and append_images=[f2, f3], reopens with Pillow, asserts n_frames is 3, seeks to frames 0, 1, and 2 and asserts each frame's mode is L and the per-frame fill colour matches the originals via getpixel((0,0)).

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python multiframe
Log

            
PIL L-mode TIFF saved with packbits compression preserves dimensions and pixels Port / libtiff / usage-python3-pil-r16-tiff-packbits-grayscale-roundtrip Passed

Creates a 12x12 grayscale (L) image with a deterministic ramp, saves as TIFF with compression='packbits', reopens with Pillow, asserts mode L and size 12x12, asserts the pixel at (0,0) and (11,11) match the original values, and asserts info['compression'] is one of the accepted packbits identifiers (string 'packbits' or int 32773).

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python packbits grayscale
Log

            
PIL RGB TIFF reports PhotometricInterpretation tag 262 equal to 2 (RGB) Port / libtiff / usage-python3-pil-r16-tiff-photometric-rgb-equals-2 Passed

Saves a small RGB image as an uncompressed TIFF, reopens with Pillow, asserts tag_v2[262] (PhotometricInterpretation) equals integer 2 — the libtiff identifier for RGB — and asserts the image mode is RGB.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python photometric
Log

            
Pillow stripped TIFF re-tiled to 64x64 reports matching tile geometry via tiffinfo Port / libtiff / usage-python3-pil-r16-tiff-tile-geometry-via-tiffinfo Passed

Writes a 128x96 RGB stripped TIFF with Pillow, runs libtiff's tiffcp -t -w 64 -l 64 to produce a tiled variant, and asserts tiffinfo reports both "Tile Width: 64" and "Tile Length: 64", relying on tiffinfo as the authoritative source for tile geometry instead of PIL tag_v2.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tile tiffinfo
Log

            
Pillow TIFF Artist tag 315 round-trips via tag_v2 Port / libtiff / usage-python3-pil-r17-tiff-artist-tag-roundtrip Passed

Writes a TIFF with the Artist tag (315) set to a fixed string via the tiffinfo kwarg, reopens with Pillow, and asserts tag_v2[315] equals the original string byte-for-byte, confirming libtiff's ASCII tag round-trip via Pillow.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python artist tag r17
Log

            
Pillow TIFF Copyright tag 33432 round-trips via tag_v2 Port / libtiff / usage-python3-pil-r17-tiff-copyright-tag-roundtrip Passed

Writes a TIFF with the Copyright tag (33432) set to a fixed string via the tiffinfo kwarg, reopens with Pillow, and asserts tag_v2[33432] equals the original string byte-for-byte, confirming libtiff's ASCII Copyright tag round-trip.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python copyright tag r17
Log

            
Pillow TIFF ImageWidth (256) and ImageLength (257) tags match the image size on read Port / libtiff / usage-python3-pil-r17-tiff-imagewidth-imagelength-tags Passed

Saves a 17x13 RGB TIFF with Pillow, reopens it, and asserts tag_v2[256] equals 17 and tag_v2[257] equals 13, confirming libtiff round-trips ImageWidth/ImageLength tags consistent with Pillow's reported size.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python dimensions tag r17
Log

            
Pillow grayscale ("L") TIFF round-trips dimensions and mode Port / libtiff / usage-python3-pil-r17-tiff-l-mode-roundtrip-size Passed

Writes an 11x7 grayscale "L" mode TIFF with Pillow, reopens it, asserts the mode is exactly "L" and the size tuple equals (11, 7), confirming libtiff's MinIsBlack grayscale single-sample round-trip via Pillow.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python grayscale r17
Log

            
Pillow palette ("P") TIFF round-trips and preserves the P mode on reopen Port / libtiff / usage-python3-pil-r17-tiff-mode-p-palette-roundtrip Passed

Constructs an 8x8 "P" mode palette image, saves it as a TIFF, reopens it with Pillow, and asserts the reopened image mode is exactly "P" with the same width and height, confirming libtiff palette pass-through and Pillow's TIFF palette decoding.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python palette r17
Log

            
Pillow single-page TIFF reports n_frames == 1 Port / libtiff / usage-python3-pil-r17-tiff-n-frames-single-page Passed

Writes a single-page RGB TIFF, reopens it with Pillow, and asserts the n_frames property equals 1, confirming libtiff's single-directory IFD chain is reported as one frame by Pillow.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python multipage r17
Log

            
Pillow TIFF ResolutionUnit tag 296 is a numeric value in {1,2,3} Port / libtiff / usage-python3-pil-r17-tiff-resolution-unit-tag-integer Passed

Writes an RGB TIFF with default resolution settings, reopens it, asserts tag_v2[296] (ResolutionUnit) is an integer (or castable to one) whose value is in the libtiff-defined set {1=None, 2=Inch, 3=Centimeter}, confirming the tag round-trips as a numeric enum.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python resolution-unit r17
Log

            
Pillow RGBA TIFF preserves a distinct alpha value at the (0,0) corner across round-trip Port / libtiff / usage-python3-pil-r17-tiff-rgba-alpha-corner-roundtrip Passed

Writes a 4x4 RGBA TIFF with the corner pixel (0,0) set to RGBA (10,20,30,40) and the rest opaque white, reopens with Pillow, asserts the reopened mode is "RGBA" and getpixel((0,0)) returns the same (10,20,30,40) tuple, confirming libtiff alpha-plane preservation.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python rgba alpha r17
Log

            
Pillow RGB TIFF reports RowsPerStrip tag 278 as a positive integer Port / libtiff / usage-python3-pil-r17-tiff-rowsperstrip-tag-positive Passed

Saves a 32x32 RGB TIFF, reopens it with Pillow, asserts tag_v2[278] (RowsPerStrip) is castable to a positive integer no greater than the image height (32), confirming libtiff records strip geometry consistent with image dimensions.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python rowsperstrip r17
Log

            
Pillow RGB TIFF reports SamplesPerPixel tag 277 equal to 3 Port / libtiff / usage-python3-pil-r17-tiff-samples-per-pixel-rgb-equals-three Passed

Saves a small RGB TIFF with Pillow, reopens it, asserts tag_v2[277] (SamplesPerPixel) equals integer 3 and that the image mode is "RGB", confirming libtiff records three samples per pixel for the RGB photometric interpretation.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python samples r17
Log

            
Pillow TIFF with compression="tiff_adobe_deflate" round-trips pixel-equal to the original Port / libtiff / usage-python3-pil-r18-tiff-adobe-deflate-compression-roundtrip Passed

Saves a small RGB pattern as a TIFF using compression="tiff_adobe_deflate", reopens it with Pillow, asserts the reopened mode/size match the source, and asserts the decoded bytes are byte-for-byte equal to the original tobytes() result, confirming libtiff Adobe-flavored deflate compression is lossless.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python compression adobe-deflate r18
Log

            
Pillow RGB TIFF reports BitsPerSample tag 258 as three 8-bit values Port / libtiff / usage-python3-pil-r18-tiff-bits-per-sample-rgb-equals-8 Passed

Saves a small RGB TIFF, reopens it with Pillow, asserts tag_v2[258] (BitsPerSample) is an iterable yielding exactly three values each equal to 8, confirming libtiff records 8-bit-per-channel sample depth for the standard RGB photometric.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python bitspersample r18
Log

            
Pillow TIFF DateTime tag 306 round-trips a fixed timestamp string Port / libtiff / usage-python3-pil-r18-tiff-datetime-tag-roundtrip Passed

Writes an RGB TIFF with the DateTime tag (306) set to the canonical libtiff "YYYY:MM:DD HH:MM:SS" timestamp via tiffinfo, reopens with Pillow, and asserts tag_v2[306] equals the original 19-character timestamp string byte-for-byte.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python datetime tag r18
Log

            
Pillow getexif() on a TIFF returns an Exif mapping that contains the Software tag Port / libtiff / usage-python3-pil-r18-tiff-getexif-returns-exif-mapping Passed

Writes a TIFF with the Software tag (305) populated via tiffinfo, reopens it with Pillow, calls im.getexif() and asserts the returned object is an instance of PIL.Image.Exif whose mapping contains tag 305 equal to the original string, confirming libtiff EXIF-compatible tag exposure through Pillow's Exif API.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python exif getexif r18
Log

            
Pillow TIFF im.info dict carries a compression key reflecting save compression Port / libtiff / usage-python3-pil-r18-tiff-info-dict-has-compression-key Passed

Saves an RGB TIFF with compression="tiff_lzw", reopens it with Pillow, asserts im.info is a dict, asserts it contains a "compression" key, and asserts the recorded value equals "tiff_lzw", confirming libtiff-backed compression metadata is exposed through Pillow's per-image info dictionary.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python info compression r18
Log

            
Pillow TIFF save_all with two appended frames produces a 3-page n_frames Port / libtiff / usage-python3-pil-r18-tiff-multiframe-append-three-pages Passed

Writes a multipage TIFF by calling Image.save with save_all=True and an append_images list of two additional frames, reopens the resulting file with Pillow, and asserts im.n_frames equals exactly 3, confirming libtiff multi-page IFD chaining round-trips through Pillow's append API.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python multiframe save_all r18
Log

            
Pillow RGB TIFF reports PhotometricInterpretation tag 262 as 2 (RGB) Port / libtiff / usage-python3-pil-r18-tiff-photometric-rgb-equals-2 Passed

Saves an RGB TIFF, reopens it with Pillow, asserts tag_v2[262] (PhotometricInterpretation) is castable to integer 2, which is libtiff's PHOTOMETRIC_RGB constant, confirming the photometric tag is encoded correctly for a standard RGB pixel layout.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python photometric r18
Log

            
Pillow seeks between TIFF frames keeping the same mode and size across pages Port / libtiff / usage-python3-pil-r18-tiff-seek-between-frames-mode-stable Passed

Builds a two-page TIFF where both frames are RGB and 5x5, calls im.seek(0) then im.seek(1) on the reopened file, and asserts both frames report the same mode "RGB" and the same size (5, 5), confirming libtiff IFD navigation preserves per-page metadata reported by Pillow.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python multiframe seek r18
Log

            
Pillow TIFF Software tag 305 round-trips through tag_v2 unchanged Port / libtiff / usage-python3-pil-r18-tiff-software-tag-roundtrip Passed

Writes an RGB TIFF with the Software tag (305) set to a fixed ASCII identifier via a TiffImagePlugin.ImageFileDirectory_v2, reopens with Pillow, and asserts tag_v2[305] equals the original string byte-for-byte, confirming libtiff persists the Software ASCII tag through a save-and-reload cycle.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python software tag r18
Log

            
Pillow TIFF XResolution tag 282 reports a positive rational equivalent to the saved DPI Port / libtiff / usage-python3-pil-r18-tiff-xresolution-tag-rational Passed

Saves a TIFF with dpi=(150, 150), reopens it with Pillow, asserts tag_v2[282] (XResolution) is a libtiff rational castable to a positive float equal to 150.0, and asserts tag_v2[283] (YResolution) is also castable to 150.0, confirming libtiff RATIONAL-typed tag round-trip via Pillow.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python xresolution dpi r18
Log

            
Pillow TIFF getexif exposes XResolution tag 282 with a float-castable rational Port / libtiff / usage-python3-pil-r19-tiff-getexif-xresolution-tag-282 Passed

Saves a TIFF with dpi=(200, 200), reopens with Pillow, calls im.getexif() to obtain an Exif object, asserts 282 (XResolution) is a key in the mapping with a value castable to float equal to 200.0, asserts 283 (YResolution) is also present and equals 200.0, and asserts 296 (ResolutionUnit) is in the mapping with integer value 2 (inches), confirming libtiff IFD0 resolution tags surface via getexif.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python getexif xresolution r19
Log

            
Pillow TIFF multi-page tell() returns to 0 after seeking back from a later frame Port / libtiff / usage-python3-pil-r19-tiff-multiframe-tell-resets-after-seek-zero Passed

Saves a 4-page TIFF where each page has a distinct fill color, opens the file with Pillow, asserts initial im.tell() is 0, seeks to frame 2 and asserts im.tell() returns 2, then seeks to frame 0 and asserts im.tell() returns 0 again, also asserts the reloaded pixel at (0,0) on frame 0 matches the original red color, confirming libtiff random-access page navigation.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python multiframe tell seek r19
Log

            
Pillow TIFF NewSubfileType tag 254 absent or zero for a standalone single-image save Port / libtiff / usage-python3-pil-r19-tiff-newsubfiletype-tag-254-zero Passed

Saves a single-image RGB TIFF, reopens with Pillow, and asserts the optional NewSubfileType tag 254 either is missing from tag_v2 or evaluates to integer 0 (no reduced-resolution, page, or mask flags set), confirming libtiff omits or clears the subfile classification on a plain primary image.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python subfiletype r19
Log

            
Pillow TIFF Orientation tag 274 defaults to 1 (top-left) for a plain RGB save Port / libtiff / usage-python3-pil-r19-tiff-orientation-tag-274-default-topleft Passed

Saves a 4x4 RGB TIFF with no explicit orientation, reopens with Pillow, and asserts tag_v2[274] equals 1 (Orientation TopLeft, the libtiff default) or is absent (interpreted as 1 by the TIFF 6.0 spec); if absent the test additionally asserts im.getexif().get(274, 1) equals 1, confirming the canonical default orientation behavior.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python orientation default r19
Log

            
Pillow TIFF saved from L-mode reports PhotometricInterpretation 1 (MinIsBlack) Port / libtiff / usage-python3-pil-r19-tiff-photometric-grayscale-equals-1 Passed

Creates an L-mode (8-bit grayscale) Pillow image filled with value 100, saves as TIFF, reopens and asserts tag_v2[262] (PhotometricInterpretation) equals 1 (MinIsBlack) and asserts tag_v2[258] (BitsPerSample) equals 8 (or the single-element tuple (8,)), confirming libtiff records grayscale photometric metadata correctly.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python photometric grayscale r19
Log

            
Pillow TIFF PlanarConfiguration tag 284 defaults to 1 (chunky/interleaved) for an RGB save Port / libtiff / usage-python3-pil-r19-tiff-planarconfig-tag-284-chunky Passed

Saves an RGB TIFF with no explicit planar configuration override, reopens with Pillow, asserts tag_v2[284] equals 1 (chunky, samples interleaved per pixel) which is libtiff's default for RGB, and asserts tag_v2[277] (SamplesPerPixel) equals 3, confirming libtiff writes an interleaved layout for plain RGB data.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python planarconfig chunky r19
Log

            
Pillow TIFF StripByteCounts tag 279 enumerates positive values for an RGB save Port / libtiff / usage-python3-pil-r19-tiff-stripoffsets-tag-279-list Passed

Saves a 16x16 RGB TIFF, reopens with Pillow, asserts tag_v2[279] (StripByteCounts) is a non-empty tuple of positive integers, asserts sum(tag_v2[279]) is >= width*height*samples (3*16*16=768) which is the uncompressed payload floor, and asserts tag_v2[273] (StripOffsets) has the same number of entries as StripByteCounts, confirming libtiff strip-layout tags are populated and consistent.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python stripbytecounts stripoffsets r19
Log

            
libtiff tiffcp -r 2 produces an output TIFF whose RowsPerStrip tag equals 2 Port / libtiff / usage-python3-pil-r19-tiff-tiffcp-strip-rowsperstrip-2 Passed

Generates a 16x16 RGB source TIFF via Pillow, invokes "tiffcp -r 2" to repackage it with two rows per strip, opens the output with Pillow, asserts tag_v2[278] (RowsPerStrip) equals 2, and asserts tag_v2[279] (StripByteCounts) is a tuple of 8 entries (16 rows / 2 rows per strip), confirming libtiff's strip-layout control via the tiffcp CLI.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tiffcp rowsperstrip cli r19
Log

            
Pillow TIFF tobytes equals width*height*samples for an RGB save-then-load cycle Port / libtiff / usage-python3-pil-r19-tiff-tobytes-roundtrip-byte-count Passed

Saves a 6x4 RGB TIFF with deterministic pixel data, reopens it, calls im.tobytes() on the reloaded image, asserts its length equals 6*4*3 = 72 bytes (no row padding for raw RGB tobytes), and asserts the reloaded tobytes is identical to the original image's tobytes byte-for-byte, confirming libtiff RGB pixel-data preservation.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tobytes roundtrip r19
Log

            
Pillow TIFF YResolution tag 283 round-trips an asymmetric dpi value Port / libtiff / usage-python3-pil-r19-tiff-yresolution-tag-rational Passed

Saves an RGB TIFF with dpi=(96, 144) (asymmetric x/y resolution), reopens with Pillow, asserts tag_v2[282] (XResolution) is castable to 96.0 and tag_v2[283] (YResolution) is castable to 144.0, and asserts the two values differ, confirming libtiff persists independent rational X/Y resolution tags through a write+read cycle.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python yresolution dpi r19
Log

            
Pillow CMYK TIFF reports four bands and SamplesPerPixel 4 Port / libtiff / usage-python3-pil-r20-tiff-cmyk-mode-four-bands-spp-4 Passed

Saves a 3x3 mode-CMYK TIFF, reopens with Pillow, asserts im.getbands() returns the tuple ('C', 'M', 'Y', 'K'), and asserts the SamplesPerPixel tag 277 reads as 4, confirming libtiff writes four-channel CMYK images with correct band metadata.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python cmyk samplesperpixel r20
Log

            
Pillow crop on a TIFF reload shrinks dimensions to the requested rect Port / libtiff / usage-python3-pil-r20-tiff-crop-region-changes-size Passed

Saves a 10x10 RGB TIFF via Pillow, reopens, calls .crop((2, 3, 7, 9)), asserts the cropped image has size (5, 6) (width=7-2, height=9-3), and asserts crop().getpixel((0, 0)) equals the parent's getpixel((2, 3)), confirming libtiff-decoded pixel data correctly anchors a PIL crop region.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python crop r20
Log

            
Pillow-written TIFF file size exceeds the raw pixel byte count Port / libtiff / usage-python3-pil-r20-tiff-filesize-positive-and-nonzero Passed

Saves a 16x16 mode-L TIFF via Pillow and asserts os.path.getsize of the resulting file is strictly greater than 16*16 (the raw pixel byte count) and less than 16384 (an extremely generous upper bound), confirming libtiff encodes recognisable container overhead (header + IFD + tags) around the strip payload.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python filesize overhead r20
Log

            
Pillow TIFF RGB image preserves a non-corner pixel through save and reload Port / libtiff / usage-python3-pil-r20-tiff-getpixel-center-rgb-roundtrip Passed

Builds a 7x7 mode-RGB image filled with black, sets pixel (3, 3) to (171, 82, 199), saves as TIFF, reopens, and asserts r.getpixel((3, 3)) equals (171, 82, 199) exactly, confirming libtiff round-trips a single interior RGB triple losslessly.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python getpixel rgb r20
Log

            
Pillow can decode a TIFF directly from an in-memory BytesIO buffer Port / libtiff / usage-python3-pil-r20-tiff-load-from-bytesio-preserves-size Passed

Saves a 6x5 mode-RGB image into a BytesIO via Image.save(buf, format='TIFF'), seeks the buffer to 0, opens it with Image.open(buf), loads, and asserts the resulting size is exactly (6, 5) and mode is 'RGB', confirming libtiff's stream-based decode path handles a non-filesystem reader.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python bytesio stream r20
Log

            
Pillow thumbnail on a TIFF-loaded image fits within the requested bounds Port / libtiff / usage-python3-pil-r20-tiff-thumbnail-fits-within-bounding-box Passed

Saves a 40x20 RGB TIFF, reopens, calls .thumbnail((10, 10)) (modifies in place), and asserts the resulting image's width <= 10 and height <= 10 and that the aspect ratio is preserved (width > height since source aspect 40:20 should produce width:height >= 2:1 after shrink), confirming libtiff-decoded pixels feed Pillow's aspect-preserving thumbnail correctly.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python thumbnail r20
Log

            
tiffinfo CLI on a Pillow-written TIFF prints Image Width and Image Length lines Port / libtiff / usage-python3-pil-r20-tiff-tiffinfo-prints-image-width-and-length Passed

Saves a 9x7 RGB TIFF via Pillow, runs the tiffinfo CLI on it, and asserts the output contains a line matching "Image Width: 9" and a line matching "Image Length: 7", confirming the libtiff inspection tool reads back the dimensions Pillow wrote.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tiffinfo dimensions r20
Log

            
Pillow TIFF image tobytes length equals width*height for L-mode Port / libtiff / usage-python3-pil-r20-tiff-tobytes-getdata-equal-length Passed

Saves and reopens a 5x6 mode-L TIFF, calls .tobytes() and asserts the length equals 5*6 (30), and calls list(im.getdata()) and asserts its length is also 30, confirming libtiff decodes the strip data back to a contiguous one-byte-per-pixel buffer for grayscale.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tobytes getdata r20
Log

            
Pillow Image.transpose FLIP_LEFT_RIGHT on a TIFF reload mirrors a specific column Port / libtiff / usage-python3-pil-r20-tiff-transpose-flip-left-right-mirrors-pixel Passed

Saves a 6x3 mode-L TIFF, places a unique value at column 0 row 0, reopens, calls .transpose(Image.FLIP_LEFT_RIGHT), and asserts the resulting image getpixel((5, 0)) equals the source's column-0 row-0 value (mirror moves column 0 to column 5 in width=6), confirming libtiff-decoded pixels feed the PIL transpose correctly.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python transpose mirror r20
Log

            
Pillow Image.verify on a freshly-saved TIFF completes without raising Port / libtiff / usage-python3-pil-r20-tiff-verify-on-valid-file-does-not-raise Passed

Saves a 5x5 RGB TIFF via Pillow, opens it again with Image.open, calls .verify() within a try/except block, and asserts no exception was raised, confirming Pillow's libtiff-backed verifier accepts a well-formed TIFF container as valid.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python verify r20
Log

            
Pillow Image.copy on an opened TIFF preserves size, mode, and pixel value Port / libtiff / usage-python3-pil-r21-tiff-copy-preserves-size-and-mode Passed

Saves a 6x6 mode-L TIFF filled with 77, opens it, calls .copy() and asserts the returned image has identical size, mode, and getpixel((0,0)) value as the original, validating libtiff decode plus Pillow's image clone path.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python copy r21
Log

            
Pillow getexif on a saved TIFF exposes YResolution at tag id 283 Port / libtiff / usage-python3-pil-r21-tiff-getexif-yresolution-tag-283 Passed

Saves a 5x5 RGB TIFF with dpi=(72, 144), reopens it, calls im.getexif() and asserts tag 283 (YResolution) is present and its rational/numeric value equals 144.0, validating libtiff resolution-tag emission via Pillow's EXIF mapping.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python exif yresolution r21
Log

            
Pillow Image.is_animated is True for a saved 3-page TIFF Port / libtiff / usage-python3-pil-r21-tiff-is-animated-multipage-true Passed

Saves three solid frames as a multipage TIFF using save_all=True, opens it via Image.open, and asserts both Image.n_frames equals 3 and Image.is_animated is True for the multi-page libtiff stream.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python multipage r21
Log

            
Pillow Image.is_animated is False for a single-page TIFF Port / libtiff / usage-python3-pil-r21-tiff-is-animated-single-page-false Passed

Saves a single solid frame as a TIFF (no save_all), opens it via Image.open, and asserts n_frames equals 1 and is_animated is False, confirming the libtiff single-IFD path is correctly reported as non-animated by Pillow.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python multipage r21
Log

            
Pillow load() on a TIFF clears the tile list so a subsequent load() is a no-op Port / libtiff / usage-python3-pil-r21-tiff-load-end-frees-tile-state Passed

Saves a 4x4 mode-L TIFF, opens it, asserts that im.tile is non-empty before load(), then calls load() and asserts im.tile is now empty (decode complete), confirming libtiff strip/tile decode state is consumed exactly once by Pillow.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python load tile-state r21
Log

            
Pillow mode 1 TIFF default FillOrder tag (266) defaults to MSB2LSB (value 1) Port / libtiff / usage-python3-pil-r21-tiff-mode-1-fillorder-default-tag Passed

Saves an 8x8 mode-1 TIFF (bilevel), opens it via Image.open, and asserts the FillOrder tag (266) is present in tag_v2 and equals 1 (MSB2LSB), validating libtiff's bilevel default fill-order encoding.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python fillorder bilevel r21
Log

            
Pillow I;16 mode TIFF getextrema returns (min, max) tuple over 16-bit pixel range Port / libtiff / usage-python3-pil-r21-tiff-mode-i16-getextrema-tuple Passed

Constructs an I;16 image from raw little-endian bytes containing the four values 0, 1, 30000, and 65535, saves it as TIFF, reopens, and asserts getextrema() returns exactly (0, 65535), exercising libtiff 16-bit grayscale decoding plus Pillow's per-mode min/max computation.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python i16 extrema r21
Log

            
Pillow TIFF seek past the last frame raises EOFError Port / libtiff / usage-python3-pil-r21-tiff-multipage-seek-past-end-raises Passed

Saves a 2-frame TIFF, opens it, seeks to frame 1, then attempts to seek to frame 2 and asserts an EOFError is raised, validating Pillow's libtiff multipage boundary handling.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python multipage seek r21
Log

            
Pillow TIFF save round-trip preserves ImageDescription via explicit save kwarg Port / libtiff / usage-python3-pil-r21-tiff-save-with-exif-bytes-roundtrip Passed

Saves a 3x3 RGB TIFF with an explicit description="r21-roundtrip" kwarg, reopens it, and asserts tag 270 (ImageDescription) on tag_v2 equals the supplied string, exercising libtiff string-tag write+read.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python description r21
Log

            
Pillow TiffImagePlugin tag_v2 mapping contains BitsPerSample (tag 258) Port / libtiff / usage-python3-pil-r21-tiff-tag-v2-contains-bitspersample Passed

Saves a 7x7 RGB TIFF, opens it, and asserts that 258 (BitsPerSample) is present in im.tag_v2 with a tuple value of three eights, validating libtiff's tag-2-name dictionary surface for the RGB photometric path.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python tag-v2 bitspersample r21
Log

            
Pillow 1-bit bilevel TIFF roundtrip Port / libtiff / usage-python3-pil-r9-tiff-1bit-bilevel Passed

Saves a Pillow mode 1 (bilevel) image as TIFF and verifies the reopened TIFF reports mode 1 with the expected pixel pattern.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow CMYK TIFF roundtrip Port / libtiff / usage-python3-pil-r9-tiff-cmyk-mode Passed

Creates a CMYK image with Pillow, saves it as TIFF, reopens it, and verifies the pixel mode is CMYK with 4 channels.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow L-mode 8-bit grayscale TIFF roundtrip Port / libtiff / usage-python3-pil-r9-tiff-l-mode-roundtrip Passed

Saves an 8-bit grayscale TIFF via Pillow and verifies all pixel values survive the roundtrip exactly.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow multi-page TIFF n_frames matches save count Port / libtiff / usage-python3-pil-r9-tiff-multipage-frame-count Passed

Saves a 5-frame multi-page TIFF via Pillow append_images and verifies n_frames reports 5 on reopen.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow TIFF resolution tag roundtrip Port / libtiff / usage-python3-pil-r9-tiff-resolution-tag Passed

Saves a TIFF with a 300 dpi resolution tuple via Pillow and verifies the reopened image carries the same resolution metadata.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow RGBA TIFF roundtrip preserves alpha Port / libtiff / usage-python3-pil-r9-tiff-rgba-roundtrip Passed

Saves an RGBA TIFF with a known alpha channel and verifies the reopened TIFF returns the original alpha values pixel-for-pixel.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow rotate 90 TIFF dimensions swap Port / libtiff / usage-python3-pil-r9-tiff-rotate-90-roundtrip Passed

Saves a 12x4 TIFF via Pillow, rotates the reopened image by 90 degrees with expand=True, saves the rotated TIFF, and verifies the dimensions swap to 4x12.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow thumbnail shrinks TIFF below cap Port / libtiff / usage-python3-pil-r9-tiff-thumbnail-shrink Passed

Loads a 80x60 TIFF and applies thumbnail((20, 20)) and verifies both reported dimensions are at most 20.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
tiffinfo parses a hand-rolled big-endian TIFF Port / libtiff / usage-python3-pil-r9-tiff-tiffinfo-bigendian Passed

Builds a big-endian TIFF via raw struct serialization and verifies tiffinfo can parse it and report the expected ImageWidth/ImageLength dimensions.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
tiffinfo reports Rows/Strip on Pillow output Port / libtiff / usage-python3-pil-r9-tiff-tiffinfo-strip-count Passed

Generates a TIFF via Pillow and verifies tiffinfo prints a Rows/Strip directory entry that matches the image height.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
python PIL red channel TIFF Port / libtiff / usage-python3-pil-red-channel-tiff Passed

Exercises python pil red channel tiff through a dependent-client usage scenario.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow nearest resize TIFF Port / libtiff / usage-python3-pil-resize-nearest-tiff Passed

Resizes a TIFF with nearest-neighbor sampling in Pillow and verifies the requested output dimensions.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow resizes TIFF Port / libtiff / usage-python3-pil-resize-tiff Passed

Resizes a TIFF fixture with Pillow and saves TIFF output.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow RGB tiff load Port / libtiff / usage-python3-pil-rgb-tiff-load Passed

Opens an RGB TIFF fixture with Pillow to exercise libtiff-backed image decoding.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python
Log

            
Pillow RGBA TIFF Port / libtiff / usage-python3-pil-rgba-tiff Passed

Writes and reopens an RGBA TIFF with Pillow.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
python PIL rotate 180 TIFF Port / libtiff / usage-python3-pil-rotate-180-tiff Passed

Exercises python pil rotate 180 tiff through a dependent-client usage scenario.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow rotates TIFF 270 degrees Port / libtiff / usage-python3-pil-rotate-270-tiff Passed

Rotates a TIFF by 270 degrees with Pillow and verifies the swapped output dimensions.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
python PIL rotate expand TIFF Port / libtiff / usage-python3-pil-rotate-expand-tiff Passed

Exercises python pil rotate expand tiff through a dependent-client usage scenario.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow rotates TIFF Port / libtiff / usage-python3-pil-rotate-tiff Passed

Rotates a TIFF fixture with Pillow and checks output dimensions.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow saves TIFF to memory Port / libtiff / usage-python3-pil-save-memory-tiff Passed

Saves a TIFF into an in-memory buffer with Pillow, reloads it, and verifies the buffered image stays decodable.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow screen mirror TIFF Port / libtiff / usage-python3-pil-screen-mirror-tiff Passed

Uses Pillow ImageChops.screen on a generated TIFF and its mirrored copy and verifies the screened pixel values before round-tripping.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
python PIL sequence iterator TIFF Port / libtiff / usage-python3-pil-sequence-iterator-tiff Passed

Exercises python pil sequence iterator tiff through a dependent-client usage scenario.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow splits TIFF bands Port / libtiff / usage-python3-pil-split-bands-tiff Passed

Opens a TIFF fixture with Pillow, splits the color bands, and verifies channel count.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
python PIL split merge TIFF Port / libtiff / usage-python3-pil-split-merge-bands-tiff Passed

Exercises python pil split merge tiff through a dependent-client usage scenario.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow split and merge TIFF Port / libtiff / usage-python3-pil-split-merge-tiff Passed

Splits a TIFF into bands with Pillow, merges the bands again, and verifies the result stays decodable.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
python PIL stat mean TIFF Port / libtiff / usage-python3-pil-stat-mean-tiff Passed

Exercises python pil stat mean tiff through a dependent-client usage scenario.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow subtract mirror TIFF Port / libtiff / usage-python3-pil-subtract-mirror-tiff Passed

Uses Pillow ImageChops.subtract on mirrored and original generated TIFFs and verifies the non-negative channel differences before round-tripping.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow subtract_modulo mirror TIFF Port / libtiff / usage-python3-pil-subtract-modulo-mirror-tiff Passed

Uses Pillow ImageChops.subtract_modulo on a generated TIFF and its mirrored copy and verifies the modular per-channel differences before round-tripping.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow tags tiff Port / libtiff / usage-python3-pil-tags-tiff Passed

Uses Pillow to run TIFF tags tiff behavior through libtiff.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python
Log

            
Pillow thumbnail tiff Port / libtiff / usage-python3-pil-thumbnail-tiff Passed

Uses Pillow to run TIFF thumbnail tiff behavior through libtiff.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python
Log

            
Pillow TIFF 16-bit grayscale point doubled Port / libtiff / usage-python3-pil-tiff-16bit-grayscale-point-doubled Passed

Loads an "I;16" TIFF, applies an Image.point lambda x: x*2 mapped through "I" mode to avoid 16-bit overflow, saves the result, and verifies pixels are exactly doubled (capped by I mode width).

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python depth
Log

            
Pillow TIFF 16-bit grayscale round-trip Port / libtiff / usage-python3-pil-tiff-16bit-grayscale-roundtrip Passed

Writes an "I;16" 16-bit grayscale TIFF and verifies BitsPerSample=16, SampleFormat, and that pixel bytes round-trip via sha256.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python depth
Log

            
Pillow TIFF 16-bit pixel Port / libtiff / usage-python3-pil-tiff-16bit-pixel-batch11 Passed

Saves and reopens a 16-bit TIFF pixel value through Pillow.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow TIFF 72 dpi preserved Port / libtiff / usage-python3-pil-tiff-72dpi-preserved Passed

Saves a TIFF with dpi=(72,72) and verifies that XResolution, YResolution, and the info dpi tuple round-trip correctly.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata
Log

            
Pillow TIFF Artist and HostComputer tag round-trip Port / libtiff / usage-python3-pil-tiff-artist-hostcomputer-tags Passed

Saves a TIFF with Artist (315) and HostComputer (316) tags injected via ImageFileDirectory_v2 and verifies both strings reload exactly through Pillow tag_v2 on reopen.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata
Log

            
Pillow TIFF endianness magic detection Port / libtiff / usage-python3-pil-tiff-bigtiff-magic-detection Passed

Writes a TIFF with Pillow (little-endian) and a hand-crafted minimal big-endian TIFF, then verifies the II*/MM* magic bytes and that Pillow can detect format on the LE file.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python format
Log

            
Pillow TIFF bigtiff=True save kwarg accepted and pixel round-trip preserved Port / libtiff / usage-python3-pil-tiff-bigtiff-pillow-kwarg-roundtrip Passed

Saves an RGB TIFF with the Pillow bigtiff=True kwarg, verifies the file begins with one of the legal TIFF magic byte sequences (classic II/MM or BigTIFF II\\x2b/MM\\x2b — Pillow 10.2 may emit either), and asserts the reopened image preserves geometry, mode, and exact pixel bytes against the in-memory original.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python bigtiff
Log

            
Pillow TIFF tiffcp -8 BigTIFF little-endian magic + multipage preserved Port / libtiff / usage-python3-pil-tiff-bigtiff-write-libtiff Passed

Writes a two-page classic little-endian TIFF with Pillow, repackages it as a BigTIFF (-8) via tiffcp without changing byte order, and verifies the II\x00\x2b magic (BigTIFF little-endian), that tiffinfo enumerates two directories with the expected geometries, and that tiffcp -L round-trips the BigTIFF back to a classic TIFF whose pixel buffers match the Pillow originals.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python bigtiff
Log

            
Pillow TIFF BytesIO open Port / libtiff / usage-python3-pil-tiff-bytesio-open-batch11 Passed

Saves a TIFF to memory and reopens it from a BytesIO object.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow TIFF tiff_ccitt CCITT modified Huffman RLE compression on 1-bit image Port / libtiff / usage-python3-pil-tiff-ccitt-rle-bilevel-compression Passed

Saves a 1-bit (mode "1") bilevel TIFF with compression="tiff_ccitt" (CCITT modified Huffman run-length encoding, Compression tag value 2) and verifies the reopened TIFF reports info["compression"]=="tiff_ccitt", Compression tag (259) equals 2, the mode stays "1", BitsPerSample (258) equals 1, and the bilevel pixel pattern survives the round-trip exactly.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python compression ccitt
Log

            
Pillow TIFF Copyright tag round-trip Port / libtiff / usage-python3-pil-tiff-copyright-tag-roundtrip Passed

Saves a TIFF with a Copyright tag (33432) injected via ImageFileDirectory_v2 and verifies the string round-trips through libtiff on reload.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata
Log

            
Pillow TIFF DateTime tag round-trip Port / libtiff / usage-python3-pil-tiff-datetime-tag-roundtrip Passed

Saves a TIFF with a DateTime tag (306) in the canonical "YYYY:MM:DD HH:MM:SS" format and verifies the value reads back unchanged via tag_v2.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata
Log

            
Pillow TIFF deflate info tag Port / libtiff / usage-python3-pil-tiff-deflate-info-tag Passed

Saves a TIFF with compression=tiff_deflate and verifies the reopened info compression and Compression tag value.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python compression
Log

            
Pillow TIFF description tag Port / libtiff / usage-python3-pil-tiff-description-tag-batch11 Passed

Saves a TIFF ImageDescription tag through Pillow and reads it back.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow TIFF DPI info Port / libtiff / usage-python3-pil-tiff-dpi-info-batch11 Passed

Saves a TIFF with DPI information through Pillow and checks it after reopening.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow TIFF DPI save Port / libtiff / usage-python3-pil-tiff-dpi-save Passed

Saves TIFF resolution metadata with Pillow and verifies the reloaded DPI tags.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata
Log

            
Pillow TIFF ImageOps.exif_transpose orientation 6 Port / libtiff / usage-python3-pil-tiff-exif-transpose-orientation Passed

Saves a TIFF with Orientation=6 (rotate 270 CW) tag injected via ImageFileDirectory_v2 and verifies via tiffdump that the tag is encoded into the file, plus that ImageOps.exif_transpose returns a properly-oriented image with the expected dimensions.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python exif
Log

            
Pillow TIFF expand border Port / libtiff / usage-python3-pil-tiff-expand-border-batch11 Passed

Expands a TIFF canvas with a border through Pillow and verifies the result.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow TIFF explicit XResolution rational tag via tiffinfo dict Port / libtiff / usage-python3-pil-tiff-explicit-xresolution-rational Passed

Saves a TIFF with XResolution (282) and YResolution (283) injected as IFDRational(150/1) and (300/1) through a low-level ImageFileDirectory_v2, then verifies tiffinfo prints the resolutions and Pillow exposes the exact rational values.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata cli
Log

            
Pillow TIFF F mode float32 deterministic pixel round-trip Port / libtiff / usage-python3-pil-tiff-f-mode-float32-pixel-roundtrip Passed

Builds an F mode image with deterministic float values, saves it as TIFF, and verifies that BitsPerSample is 32, SampleFormat (339) is IEEE FP (3), and per-pixel float values reload identically via Image.getpixel.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python float
Log

            
Pillow TIFF bands Port / libtiff / usage-python3-pil-tiff-getbands-batch11 Passed

Opens a TIFF through Pillow and checks RGB band names.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow TIFF getexif() exposes DateTime tag (306) saved via exif kwarg Port / libtiff / usage-python3-pil-tiff-getexif-datetime-roundtrip Passed

Builds a Pillow Exif object, sets DateTime (306) to a known string, saves an RGB TIFF with exif=exif, reopens the file, and verifies that getexif() returns the DateTime back exactly and that the tag also appears in the top-level tag_v2 dictionary, confirming the EXIF round-trip path works through libtiff.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python exif metadata
Log

            
Pillow TIFF group3 bilevel compression Port / libtiff / usage-python3-pil-tiff-group3-bilevel-compression Passed

Writes a 1-bit TIFF compressed with CCITT Group 3 and verifies the Compression tag is 3 and bilevel pixels round-trip exactly.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python compression fax
Log

            
Pillow TIFF group4 bilevel compression Port / libtiff / usage-python3-pil-tiff-group4-bilevel-compression Passed

Writes a 1-bit TIFF compressed with CCITT Group 4 and verifies the Compression tag and pixel round-trip.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python compression fax
Log

            
Pillow TIFF I (int32) mode round-trip with SampleFormat=2 and BitsPerSample=32 Port / libtiff / usage-python3-pil-tiff-i-mode-int32-roundtrip Passed

Saves a Pillow "I" (32-bit signed integer) image to a temporary TIFF and verifies the reopened image preserves the mode, BitsPerSample tag (258) equals 32, SampleFormat tag (339) equals 2 (signed integer), pixel size is preserved, and the raw int32 putpixel value round-trips through getpixel.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python mode sampleformat
Log

            
Pillow TIFF I;16 little-endian BitsPerSample tag Port / libtiff / usage-python3-pil-tiff-i16-le-bitspersample-tag Passed

Saves an I;16 little-endian grayscale TIFF and verifies BitsPerSample (258) is 16, SamplesPerPixel (277) is 1, and the raw 16-bit pixel buffer round-trips byte-exact through Pillow tobytes.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python deep
Log

            
Pillow TIFF I;16B big-endian round-trip Port / libtiff / usage-python3-pil-tiff-i16b-bigendian-roundtrip Passed

Builds an "I;16B" big-endian 16-bit grayscale image, saves it through libtiff, and verifies the pixels round-trip with BitsPerSample=16 and SamplesPerPixel=1.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python depth endian
Log

            
Pillow TIFF embedded ICC profile (tag 34675) roundtrip Port / libtiff / usage-python3-pil-tiff-icc-profile-embedded Passed

Writes a TIFF with Pillow embedding a synthetic ICC profile blob via icc_profile, then verifies tiffinfo lists "ICC Profile" and Pillow re-exposes the exact bytes via info["icc_profile"] and tag 34675.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata color
Log

            
Pillow TIFF image description tag Port / libtiff / usage-python3-pil-tiff-image-description-tag Passed

Saves a TIFF with a custom ImageDescription (tag 270) injected via tiffinfo and verifies the string round-trips on reload.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata
Log

            
Pillow TIFF invert L mode Port / libtiff / usage-python3-pil-tiff-invert-l-mode-batch11 Passed

Inverts grayscale TIFF pixels through Pillow and checks values.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow TIFF JPEG compression info Port / libtiff / usage-python3-pil-tiff-jpeg-compression-info Passed

Writes a JPEG-compressed RGB TIFF and verifies the Compression tag, info dict, and reopened image dimensions.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python compression jpeg
Log

            
Pillow TIFF JPEG quality parameter Port / libtiff / usage-python3-pil-tiff-jpeg-quality-save Passed

Writes a JPEG-compressed TIFF with Pillow using the quality parameter and verifies the Compression tag is 7, the file is non-empty, and the reopened image preserves dimensions and mode.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python compression jpeg
Log

            
Pillow TIFF LA mode samples round-trip Port / libtiff / usage-python3-pil-tiff-la-mode-samples-roundtrip Passed

Saves a Pillow LA (luminance + alpha) image as TIFF and verifies SamplesPerPixel=2, BitsPerSample=(8,8), and pixel byte round-trip.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python samples
Log

            
Pillow TIFF LZW with predictor round-trip Port / libtiff / usage-python3-pil-tiff-lzw-predictor-roundtrip Passed

Writes an LZW-compressed TIFF with horizontal differencing predictor (317=2) and verifies sha256 byte round-trip plus the Compression tag.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python compression predictor
Log

            
Pillow TIFF Make and Model tag round-trip Port / libtiff / usage-python3-pil-tiff-make-model-tags-roundtrip Passed

Saves a TIFF with Make (271) and Model (272) injected via ImageFileDirectory_v2 tiffinfo and verifies tiffinfo prints both fields and Pillow tag_v2 returns the exact strings on reload.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata
Log

            
Pillow TIFF MinSampleValue (280) and MaxSampleValue (281) tags round-trip Port / libtiff / usage-python3-pil-tiff-min-max-sample-value-tags Passed

Saves an L-mode TIFF with explicit MinSampleValue (tag 280) and MaxSampleValue (tag 281) values forwarded through tiffinfo and verifies the reopened image returns both tags - tolerating either scalar or 1-tuple shapes per Pillow tag_v2 conventions - while preserving the pixel mode, BitsPerSample (258) of 8, and image dimensions, demonstrating Pillow forwards SHORT-typed sample-range hints into libtiff and reads them back without coercion.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata tags
Log

            
Pillow TIFF multipage mixed compression via tiffcp Port / libtiff / usage-python3-pil-tiff-multipage-mixed-compression Passed

Writes two single-page RGB TIFFs with Pillow, applies tiffcp -c lzw to page A and tiffcp -c zip to page B, then concatenates them with tiffcp to form a single 2-page TIFF and verifies each frame's Compression tag (259) on reload (5=LZW, 8=Adobe Deflate).

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python multipage compression
Log

            
Pillow TIFF multipage save with three differently sized RGB pages Port / libtiff / usage-python3-pil-tiff-multipage-mixed-sizes Passed

Saves a three-page TIFF where each page has a distinct (width, height) and a distinct fill color via save_all+append_images, then walks the frames with seek() and asserts that n_frames is 3, each frame's size matches its expected dimensions in order, each frame stays in mode RGB, and the upper-left pixel of each page returns the expected fill color, demonstrating Pillow propagates per-IFD geometry through libtiff.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python multipage
Log

            
Pillow TIFF multi-page seek and tell walk Port / libtiff / usage-python3-pil-tiff-multipage-seek-tell-walk Passed

Writes a 5-page TIFF with distinct flat colors per page and walks frames with seek/tell, checking that each frame's index and dominant color match its position in the sequence.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python multipage
Log

            
Pillow TIFF multipage seek third Port / libtiff / usage-python3-pil-tiff-multipage-seek-third-batch11 Passed

Writes a three-page TIFF and seeks to the third frame with Pillow.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow TIFF tiffset Orientation tag value 3 round-trip Port / libtiff / usage-python3-pil-tiff-orientation-tag-bottomright Passed

Saves a TIFF with Pillow, sets the Orientation tag (274) to 3 (rotated 180 / bottom-right) via libtiff's tiffset CLI, and verifies tiffinfo reports "row 0 bottom, col 0 rhs" while Pillow reloads the same RGB pixel buffer (Pillow does not auto-transpose on load).

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python orientation
Log

            
Pillow TIFF PageName and DocumentName tag round-trip Port / libtiff / usage-python3-pil-tiff-page-name-document-name-tags Passed

Saves a TIFF with DocumentName (269) and PageName (285) injected via ImageFileDirectory_v2 and verifies both strings round-trip through libtiff and reload exactly via Pillow tag_v2.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata
Log

            
Pillow TIFF PageNumber tag (297) round-trips a (page, total) pair Port / libtiff / usage-python3-pil-tiff-pagenumber-tag-roundtrip Passed

Writes a single-page TIFF with an explicit PageNumber tag (297) of (0, 1) via tiffinfo and verifies the reopened image returns a length-2 tuple whose first entry is 0 and second is 1, demonstrating Pillow forwards the SHORT[2] tag to libtiff and reads it back without coercion.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata tags
Log

            
Pillow TIFF palette mode emits ColorMap tag (320) of 768 entries Port / libtiff / usage-python3-pil-tiff-palette-colormap-tag Passed

Saves a P-mode TIFF with a ramp palette and verifies the reopened TIFF carries PhotometricInterpretation (262) equal to 3 (palette), a ColorMap tag (320) with exactly 768 16-bit entries (3 channels x 256 colors), BitsPerSample (258) equal to 8, and that the indexed pixel maps back to the expected palette RGB triple.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python palette colormap
Log

            
Pillow TIFF photometric minisblack Port / libtiff / usage-python3-pil-tiff-photometric-minisblack-l Passed

Writes a grayscale TIFF and verifies the PhotometricInterpretation tag equals 1 (minisblack) on reload.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python photometric
Log

            
Pillow TIFF photometric miniswhite via tiffcp Port / libtiff / usage-python3-pil-tiff-photometric-miniswhite-bilevel Passed

Builds a 1-bit TIFF with Pillow, converts photometric to MinIsWhite (0) using tiffset, then verifies the PhotometricInterpretation tag (262) reads as 0 on reload via Pillow tag_v2.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python photometric
Log

            
Pillow TIFF photometric separated CMYK Port / libtiff / usage-python3-pil-tiff-photometric-separated-cmyk Passed

Writes a CMYK TIFF and verifies PhotometricInterpretation equals 5 (separated) and SamplesPerPixel equals 4.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python photometric cmyk
Log

            
Pillow TIFF planar configuration via tiffcp Port / libtiff / usage-python3-pil-tiff-planar-configuration-save Passed

Writes an RGB TIFF with Pillow then converts it to planar configuration with tiffcp and verifies the PlanarConfiguration tag and dimensions on reload.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python planar
Log

            
Pillow TIFF predictor deflate round-trip Port / libtiff / usage-python3-pil-tiff-predictor-deflate-roundtrip Passed

Writes a deflate-compressed TIFF with horizontal differencing predictor and verifies sha256 byte round-trip.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python compression predictor
Log

            
Pillow TIFF resolution exact rationals Port / libtiff / usage-python3-pil-tiff-resolution-rationals-exact Passed

Saves a TIFF with dpi=(72,144) and verifies tiffinfo reports XResolution/YResolution lines and PIL exposes the exact rational values via tag_v2.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata cli
Log

            
Pillow TIFF resolution unit centimeter Port / libtiff / usage-python3-pil-tiff-resolution-unit-centimeter Passed

Saves a TIFF with explicit ResolutionUnit=3 (centimeter) via tiffinfo and verifies the tag round-trips.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata
Log

            
Pillow TIFF resolution unit inch Port / libtiff / usage-python3-pil-tiff-resolution-unit-inch Passed

Saves a TIFF with dpi=(150,150) and verifies the ResolutionUnit tag (296) is 2 (inch) and XResolution/YResolution round-trip.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata
Log

            
Pillow TIFF ResolutionUnit (296) saved as 1 (no absolute unit) Port / libtiff / usage-python3-pil-tiff-resolution-unit-none Passed

Saves a TIFF with explicit ResolutionUnit=1 (no absolute unit, so the X/YResolution rationals describe an aspect ratio only) via tiffinfo and verifies the tag round-trips as 1 while the rationals XResolution (282) and YResolution (283) preserve their ratio after reload.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata resolution
Log

            
Pillow TIFF strip byte counts sanity for raw RGB Port / libtiff / usage-python3-pil-tiff-rgb-strip-byte-counts-positive Passed

Saves a 32x16 RGB TIFF with raw (uncompressed) compression and verifies that StripByteCounts (279) sums to width*height*3 = 1536, matching the raw payload size for an 8-bit-per-sample chunky 24-bit TIFF.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python sizing
Log

            
Pillow TIFF RGBA ExtraSamples tag (338) marks the alpha channel Port / libtiff / usage-python3-pil-tiff-rgba-extrasamples-tag Passed

Saves a Pillow RGBA TIFF and verifies that on reload SamplesPerPixel (277) equals 4, ExtraSamples (338) is present and contains exactly one entry equal to 2 (unassociated alpha), PhotometricInterpretation (262) equals 2 (RGB), and the constant alpha pixel round-trips byte-for-byte.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python alpha rgba
Log

            
Pillow TIFF explicit RowsPerStrip via tiffcp -r repackage Port / libtiff / usage-python3-pil-tiff-rowsperstrip-explicit Passed

Writes a TIFF with Pillow (Pillow does not support multistrip output via the tiffinfo dict; that path raises NotImplementedError), repackages it through tiffcp -r 8 to force RowsPerStrip = 8, and verifies the saved RowsPerStrip tag (278) matches on reload.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python strips
Log

            
Pillow TIFF RowsPerStrip = 16 via tiffcp -r 16 repackage Port / libtiff / usage-python3-pil-tiff-rowsperstrip-tag-tiffcp-r-16 Passed

Writes a 40x80 single-strip TIFF with Pillow (Pillow itself raises NotImplementedError when asked to emit multistrip output, so the layout is forced via tiffcp -r 16 instead) then verifies the repackaged file has Rows/Strip=16, exactly five strips, and Pillow reads back the RowsPerStrip tag (278) as 16.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python strips cli
Log

            
Pillow TIFF sequence sum Port / libtiff / usage-python3-pil-tiff-sequence-sum-batch11 Passed

Iterates multi-page TIFF frames with Pillow and sums their pixel values.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow TIFF Software tag round-trip Port / libtiff / usage-python3-pil-tiff-software-tag-roundtrip Passed

Saves a TIFF with a custom Software tag (305) injected via ImageFileDirectory_v2 and verifies the string survives a save/reload cycle through libtiff.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata
Log

            
Pillow TIFF strip byte counts via tiffinfo Port / libtiff / usage-python3-pil-tiff-strip-byte-counts-tiffinfo-s Passed

Saves a stripped TIFF with Pillow and verifies the tiffinfo report exposes the per-strip table (rows-per-strip, strip count, and a [offset, byte-count] entry) and that the PIL tag_v2 exposes consistent strip counts.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata cli
Log

            
Pillow TIFF SubIFD tag (330) roundtrip via low-level tag dict Port / libtiff / usage-python3-pil-tiff-subifd-tag-roundtrip Passed

Writes a TIFF whose IFD carries a SubIFD pointer (tag 330) injected through a low-level ImageFileDirectory_v2, then reopens with Pillow and verifies tag 330 is preserved verbatim alongside the standard image tags.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python metadata
Log

            
Pillow TIFF three-page save_all Port / libtiff / usage-python3-pil-tiff-three-page-savall Passed

Writes a three-page TIFF with save_all and append_images, then verifies n_frames and per-frame size.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python multipage
Log

            
Pillow TIFF tiff2bw grayscale conversion Port / libtiff / usage-python3-pil-tiff-tiff2bw-grayscale Passed

Writes an RGB TIFF with Pillow, converts it to grayscale with tiff2bw, and verifies SamplesPerPixel=1, PhotometricInterpretation=1 and PIL mode L on reload.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python cli color
Log

            
Pillow TIFF tiff2bw -R red-only weight Port / libtiff / usage-python3-pil-tiff-tiff2bw-red-only Passed

Writes an RGB TIFF with Pillow whose pixels have a known red channel, runs tiff2bw with -R 100 -G 0 -B 0 (red-only weighting; tiff2bw treats -R/-G/-B as percentages, so 100/0/0 means 100% red contribution), and verifies the resulting grayscale pixel values match the original red channel and PhotometricInterpretation is 1.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python cli color
Log

            
Pillow TIFF tiff2pdf -p A4 paper size Port / libtiff / usage-python3-pil-tiff-tiff2pdf-a4-paper Passed

Writes a TIFF with Pillow, converts it to PDF with tiff2pdf -p A4 to set the page size, and verifies the output starts with %PDF- and is non-empty.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python cli pdf
Log

            
Pillow TIFF to PDF via tiff2pdf Port / libtiff / usage-python3-pil-tiff-tiff2pdf-conversion Passed

Writes a TIFF with Pillow, converts it to PDF with tiff2pdf, and verifies the output starts with the %PDF- magic and is a non-empty file.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python cli pdf
Log

            
Pillow TIFF tiffcp big-endian output Port / libtiff / usage-python3-pil-tiff-tiffcp-bigendian-output Passed

Writes a little-endian TIFF with Pillow, runs tiffcp -B to convert it to big-endian byte order, and verifies the MM*.. magic and that Pillow can still decode the resulting file with matching dimensions and mode.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python cli endian
Log

            
Pillow TIFF tiffcp -8 -B BigTIFF big-endian Port / libtiff / usage-python3-pil-tiff-tiffcp-bigtiff-bigendian Passed

Writes a classic little-endian TIFF with Pillow, repackages it as a BigTIFF (-8) in big-endian byte order (-B) via tiffcp, and verifies the MM..\x2b magic (BigTIFF big-endian) plus that tiffinfo reports the correct geometry. Pillow 10.2.0 on Ubuntu 24.04 cannot decode BigTIFF reliably, so the readback is performed with tiffinfo + libtiff itself rather than Pillow.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python cli format endian
Log

            
Pillow TIFF tiffcp -c none uncompressed Port / libtiff / usage-python3-pil-tiff-tiffcp-c-none-uncompressed Passed

Writes a Deflate-compressed TIFF with Pillow, then converts it with tiffcp -c none and verifies the Compression tag (259) becomes 1 (no compression) and pixel data round-trips byte-for-byte.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python compression cli
Log

            
Pillow TIFF tiffcp -c packbits Port / libtiff / usage-python3-pil-tiff-tiffcp-c-packbits Passed

Writes an uncompressed TIFF with Pillow, converts it with tiffcp -c packbits, and verifies the Compression tag (259) becomes 32773 (PackBits) and pixel data is preserved.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python compression cli
Log

            
Pillow TIFF tiffcp -c zip deflate alias Port / libtiff / usage-python3-pil-tiff-tiffcp-c-zip-deflate Passed

Writes an uncompressed TIFF with Pillow, converts it with tiffcp -c zip (the deflate alias), and verifies the Compression tag (259) is 8 (Deflate/Adobe Deflate) and pixels are preserved.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python compression cli
Log

            
Pillow TIFF tiffcp -c jpeg with rows-per-strip Port / libtiff / usage-python3-pil-tiff-tiffcp-jpeg-rows-per-strip Passed

Writes a stripped TIFF with Pillow, converts it to JPEG-compressed TIFF with tiffcp -c jpeg -r 16, and verifies Compression=7 and RowsPerStrip=16 on reload.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python compression cli
Log

            
Pillow TIFF tiffcp -c lzw conversion Port / libtiff / usage-python3-pil-tiff-tiffcp-lzw-roundtrip Passed

Writes an uncompressed TIFF with Pillow, converts it to LZW with tiffcp -c lzw, and verifies the Compression tag (259) is 5 and pixel data is preserved.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python compression cli
Log

            
Pillow TIFF tiffcp -r 32 mid-size strip layout Port / libtiff / usage-python3-pil-tiff-tiffcp-r-32-mid-strip Passed

Writes a 40x100 TIFF with Pillow (single strip), repackages with tiffcp -r 32 to produce four strips (32+32+32+4 rows), and verifies RowsPerStrip = 32 and exactly four strips on the output via tiffinfo -s plus Pillow tag readback.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python strips cli
Log

            
Pillow TIFF tiffcp 32x32 tile conversion Port / libtiff / usage-python3-pil-tiff-tiffcp-tile-32x32-convert Passed

Writes a stripped TIFF with Pillow then converts it to a 32x32-tiled TIFF with tiffcp -t -w 32 -l 32 and verifies tile geometry via PIL tag_v2 and tiffinfo.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python tiles cli
Log

            
Pillow TIFF strip to tile via tiffcp Port / libtiff / usage-python3-pil-tiff-tiffcp-tile-convert Passed

Writes a stripped TIFF with Pillow then converts it to a tiled TIFF with tiffcp and verifies TileWidth/TileLength via Pillow.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python tiles
Log

            
Pillow TIFF tiffcrop -E t top-edge crop Port / libtiff / usage-python3-pil-tiff-tiffcrop-e-top-edge Passed

Writes a 40x100 RGB TIFF with Pillow, runs tiffcrop -E t -m 0,0,80,0 -U px to crop 80 rows off the bottom (origin = top edge), and verifies the cropped output is 40x20 with matching ImageWidth/ImageLength tags via Pillow.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python cli transform
Log

            
Pillow TIFF tiffcrop -i with two single-page inputs Port / libtiff / usage-python3-pil-tiff-tiffcrop-i-concat-two-inputs Passed

Writes two single-page Pillow TIFFs of identical geometry, runs tiffcrop -i (ignore read errors) with both as sources to produce a single multi-frame output, and verifies the destination opens as a 2-frame TIFF whose per-page solid colors round-trip via Pillow seek().

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python cli multipage
Log

            
Pillow TIFF tiffcrop rotate 90 Port / libtiff / usage-python3-pil-tiff-tiffcrop-rotate-90 Passed

Writes a TIFF with Pillow then runs tiffcrop -R 90 and verifies the rotated dimensions and PIL mode on reload.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python transform
Log

            
Pillow TIFF tiffdump key tag inspection Port / libtiff / usage-python3-pil-tiff-tiffdump-key-tags Passed

Writes an RGB TIFF with Pillow, runs tiffdump on it, and asserts the low-level dump reports the expected key directory tags (ImageWidth, ImageLength, BitsPerSample, Photometric, SamplesPerPixel) with the values we wrote.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python cli metadata
Log

            
Pillow TIFF tiffinfo BitsPerSample for 16-bit grayscale Port / libtiff / usage-python3-pil-tiff-tiffinfo-bps-16bit-gray Passed

Writes a 16-bit grayscale (I;16) TIFF with Pillow, runs tiffinfo, and verifies the Bits/Sample line reports 16 and the Photometric Interpretation is the min-is-black grayscale flavour. (tiffinfo only emits a Samples/Pixel line when SamplesPerPixel > 1, so we use Photometric Interpretation as the single-band sanity check instead.)

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python cli grayscale
Log

            
Pillow TIFF tiffinfo CLI inspect Port / libtiff / usage-python3-pil-tiff-tiffinfo-cli-inspect Passed

Writes a TIFF with Pillow then runs the tiffinfo CLI and verifies key tag lines (ImageWidth, ImageLength, BitsPerSample) appear in the report.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python cli
Log

            
Pillow TIFF tiffinfo -j JPEG tables on JPEG-compressed TIFF Port / libtiff / usage-python3-pil-tiff-tiffinfo-j-jpeg-tables Passed

Writes a JPEG-compressed RGB TIFF with Pillow (compression="jpeg"), runs tiffinfo -j to dump the JPEGTables (tag 347) header, and verifies the report mentions Compression Scheme: JPEG and a non-zero JPEG Tables byte count, and that Pillow exposes Compression=7 plus a non-empty JPEGTables tag.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python compression jpeg cli
Log

            
Pillow TIFF tiffinfo Photometric Interpretation line Port / libtiff / usage-python3-pil-tiff-tiffinfo-photometric-line Passed

Writes an RGB TIFF with Pillow then runs the tiffinfo CLI and verifies the Photometric Interpretation line is reported with the RGB color descriptor.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python cli color
Log

            
Pillow TIFF tiffmedian palette reduction Port / libtiff / usage-python3-pil-tiff-tiffmedian-palette-reduce Passed

Writes an RGB TIFF with Pillow, runs tiffmedian -c 16 to produce a palette TIFF, and verifies PhotometricInterpretation=3 (RGB Palette), BitsPerSample=8 and PIL mode P on reload.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python cli palette
Log

            
Pillow TIFF tiffsplit on 2-page TIFF Port / libtiff / usage-python3-pil-tiff-tiffsplit-2-pages Passed

Writes a minimal 2-page multipage TIFF with Pillow, runs tiffsplit, and verifies exactly two single-frame outputs are produced (page-aaa.tif and page-aab.tif) with the original per-page solid colors preserved.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python cli multipage
Log

            
Pillow TIFF tiffsplit on 5-page TIFF Port / libtiff / usage-python3-pil-tiff-tiffsplit-five-pages Passed

Writes a 5-page TIFF with Pillow, runs tiffsplit to produce 5 single-page files, and verifies each output has exactly one frame and the dominant color matches the source page index.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python cli multipage
Log

            
Pillow TIFF tiffsplit multipage split Port / libtiff / usage-python3-pil-tiff-tiffsplit-multipage Passed

Writes a 3-page TIFF with Pillow, runs tiffsplit to split it, and verifies that 3 single-page output files are produced with expected name pattern and each contains exactly one frame.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python cli multipage
Log

            
Pillow TIFF tiffsplit on a single-page input (degenerate) Port / libtiff / usage-python3-pil-tiff-tiffsplit-single-page-degenerate Passed

Writes a one-page TIFF with Pillow, runs tiffsplit, and verifies the degenerate case: exactly one output file (page-aaa.tif) is produced, no page-aab.tif appears, and the lone fragment round-trips through Pillow with size, mode, and solid-color pixel preserved.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python cli multipage
Log

            
Pillow TIFF tiled layout tile width and length tags Port / libtiff / usage-python3-pil-tiff-tile-width-length-tags Passed

Pillow saves a stripped TIFF, tiffcp repackages it as 32x32 tiles, and Pillow reload exposes tag_v2 TileWidth (322) and TileLength (323) both equal to 32 plus consistent TileOffsets and TileByteCounts arrays.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage image python tile
Log

            
Pillow TIFF to BMP Port / libtiff / usage-python3-pil-tiff-to-bmp Passed

Converts a TIFF fixture to BMP with Pillow and verifies BMP output.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow TIFF to JPEG Port / libtiff / usage-python3-pil-tiff-to-jpeg Passed

Converts a TIFF fixture to JPEG with Pillow and verifies JPEG output.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow TIFF to PNG Port / libtiff / usage-python3-pil-tiff-to-png Passed

Converts a TIFF fixture to PNG with Pillow and verifies PNG output.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow TIFF tobytes length Port / libtiff / usage-python3-pil-tiff-tobytes-length-batch11 Passed

Reads TIFF pixel bytes through Pillow and checks the expected byte length.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow transposes TIFF Port / libtiff / usage-python3-pil-transpose-tiff Passed

Flips a TIFF fixture with Pillow and verifies the output size.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
Pillow transverse generated TIFF Port / libtiff / usage-python3-pil-transverse-generated-tiff Passed

Applies Pillow transverse transpose to a generated TIFF and verifies both the swapped dimensions and mapped corner pixels before round-tripping.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage
Log

            
Pillow uncompressed TIFF Port / libtiff / usage-python3-pil-uncompressed-tiff Passed

Saves an uncompressed TIFF with Pillow and verifies the image can be reopened.

Run
Port
Kind
usage
Client
python3-pil
Duration
0.00s
Tags
usage tiff python
Log

            
CVE-2004-0804 libtiff regression Port / libtiff / cve-2004-0804 Passed

Asserts that tiffinfo rejects a TIFF with zero ImageLength without dividing by it inside tif_dirread row-bytes arithmetic.

Run
Port
Kind
regression
Client
none
Duration
0.00s
Tags
regression cve parser divide-by-zero
Log

            
CVE-2005-2452 libtiff regression Port / libtiff / cve-2005-2452 Passed

Asserts that tiffinfo rejects a YCbCr TIFF whose YCbCrSubSampling tag declares zero horizontal/vertical sampling without dividing by zero in strip-size arithmetic.

Run
Port
Kind
regression
Client
none
Duration
0.00s
Tags
regression cve parser divide-by-zero
Log

            
CVE-2006-3463 libtiff regression Port / libtiff / cve-2006-3463 Passed

Asserts that EstimateStripByteCounts terminates in bounded time when the StripOffsets/StripByteCounts arrays declare a 32-bit strip count that previously overflowed a 16-bit loop counter.

Run
Port
Kind
regression
Client
none
Duration
0.00s
Tags
regression cve parser infinite-loop dos
Log

            
CVE-2014-8130 libtiff regression Port / libtiff / cve-2014-8130 Passed

Asserts that libtiff rejects a TIFF declaring zero BitsPerSample without producing a divide-by-zero exception inside scanline-size arithmetic.

Run
Port
Kind
regression
Client
none
Duration
0.00s
Tags
regression cve parser divide-by-zero
Log

            
CVE-2017-11613 libtiff regression Port / libtiff / cve-2017-11613 Passed

Asserts that TIFFOpen rejects a directory whose ImageLength would drive ChopUpSingleUncompressedStrip to request enormous allocations, without crashing or hanging.

Run
Port
Kind
regression
Client
none
Duration
0.00s
Tags
regression cve parser dos
Log

            
CVE-2018-5784 libtiff regression Port / libtiff / cve-2018-5784 Passed

Asserts that TIFFSetDirectory rejects a directory whose declared entry count is far larger than the file actually contains, without entering an unbounded allocation or read loop.

Run
Port
Kind
regression
Client
none
Duration
0.00s
Tags
regression cve parser dos
Log

            
CVE-2019-14973 libtiff regression Port / libtiff / cve-2019-14973 Passed

Asserts that _TIFFCheckMalloc rejects a request whose size arithmetic would have relied on undefined signed-overflow behaviour, surfacing a clean error rather than producing the multiplication-wrap allocation.

Run
Port
Kind
regression
Client
none
Duration
0.00s
Tags
regression cve allocator overflow
Log

            
CVE-2022-40090 libtiff regression Port / libtiff / cve-2022-40090 Passed

Asserts that TIFFReadDirectory terminates in bounded time on a TIFF whose IFD chain points back to itself, instead of looping forever through repeated directory offsets.

Run
Port
Kind
regression
Client
none
Duration
0.00s
Tags
regression cve parser infinite-loop dos
Log

            
CVE-2023-52355 libtiff regression Port / libtiff / cve-2023-52355 Passed

Asserts that TIFFRasterScanlineSize64 rejects an ImageWidth that would overflow scanline-size arithmetic instead of producing the impractically large allocation request.

Run
Port
Kind
regression
Client
none
Duration
0.00s
Tags
regression cve parser overflow
Log

            
CVE-2023-6277 libtiff regression Port / libtiff / cve-2023-6277 Passed

Asserts that TIFFOpen rejects a tiny crafted TIFF whose declared dimensions would otherwise drive an out-of-memory allocation pattern, in bounded time.

Run
Port
Kind
regression
Client
none
Duration
0.00s
Tags
regression cve parser dos
Log