I built a coding tutor that won't let me cheat my way through it. Here's the prompt.
The library can currently decode greyscale and RGB images (8, 16 or 32 bits). It supports LZW compression and images with an additional alpha channel.