Typically, grey-level images are stored as unsigned chars, and
KLT assumes the same. However, if this is not the case, then
KLT can be modified by changing the line
typedef unsigned char KLT_PixelType;
in the file klt.h. This has not been tested, but it
should work. The only function that will no longer work properly
is KLTWriteFeatureListToPPM, because the image will now contain
more than eight bytes per pixel.