decodeTiffFile function
Opens file and decodes it lazily: only the header, IFDs, and whichever
strips/tiles are later decoded (via TiffImage.decode /
TiffImage.decodeRegion) are actually read from disk.
Call TiffDocument.close when done to release the file handle.
Implementation
TiffDocument decodeTiffFile(File file) =>
TiffDecoder.decodeSource(FileByteSource.open(file));