That is correct - there is no decoder agnostic way to determine compression.
An image, as it stands, it totally detached from decoders - even though most image come from decoders, this is not necessarily the case. An image could have come from whole cloth (constructed from scratch), cloned, or from the ImageResults object from an ImageCommand. Compression makes no real sense in those cases.
We are considering a tighter coupling between codecs and images in the future, but the compression question is still a little odd in that several image formats are clearing houses for many other compression types. For example, a TIFF may contain images that are compressed with CCITT, LZW, and JPEG. DICOM may contain images compressed with JPEG2000. PDF may contain pages with (unlimited) multiple compressions per page. On top of that, since the codec system in dotImage is totally open, there's no way to a priori specify all the compressions that you might see as end clients may extend and write their own codecs, so specifying compression as something logical like an enum doesn't work so well.
The short answer is, it's tricky to get right - especially with PDF.
Steve Hawley
Architect & Exception Handler
Atalasoft, Inc.