Images.jl loading image produces artifact

I have made an issue (Images.jl issue 1017), but here is a copy of the text in case I can get help faster and/or make a more googlable resource for this problem:

The original image looks like this:

I then load the image with the following command:
Images.load(joinpath(pwd(), "above_focal_sum", "113mm.tif"))

The resulting image looks like this (imprecise cropping, color and lines are of interest)


, where the image is displayed in a pluto notebook

There is now an artifact in the image, with vertical lines across the entire thing. The artifact is very visible in a plot of the values of two slices of the image, where the RGB values have been converted to Gray and then to float:

As can be seen from the path, the image is a .tif file. The original image is grayscale, whereas the read in image has RGB values and visually a warmer tone.
The original image file can be found at 113mm.tif - Google Drive

Can anyone help me on how to correctly read the image?

This looks like a disagreement over how to process gamma values.

On MacOS, I see this:

I noted that this used QuartzImageIO (MacOS) and TiffImages…

I tried to use TiffImages directly to begin with ("Compression COMPRESSION_LZW is not implemented" · Issue #91 · tlnagy/TiffImages.jl · GitHub), which resulted in an error about the encryption of the file. Can I use QuartzImageIO on Linux (Mint)?

Probably not. Quartz is Apple’s graphics system.