------------ How do I...? ------------ Read the lowest resolution thumbnail? ===================================== Printing the Jp2k object should reveal the number of resolutions (look in the COD segment section), but you can take a shortcut by supplying -1 as the reduce level. :: >>> import glymur >>> file = glymur.data.nemo() >>> j = glymur.Jp2k(file) >>> thumbnail = j.read(reduce=-1) Display metadata? ================= There are two ways. From the unix command line, the script *jp2dump* is available. :: $ jp2dump /path/to/glymur/installation/data/nemo.jp2 From within Python, it is as simple as printing the Jp2k object, i.e. :: >>> from glymur import Jp2k >>> file = glymur.data.nemo() >>> j = Jp2k(file) >>> print(j) This prints the metadata found in the JP2 boxes, but in the case of the codestream box, only the main header is printed. It is possible to print **only** the codestream information as well, i.e. :: >>> print(j.get_codestream()) Work with XMP UUIDs? ==================== The example JP2 file shipped with glymur has an XMP UUID. :: >>> from glymur import Jp2k >>> file = glymur.data.nemo() >>> j = Jp2k(file) >>> print(j.box[4]) UUID Box (uuid) @ (715, 2412) UUID: be7acfcb-97a9-42e8-9c71-999491e3afac (XMP) UUID Data: Since the UUID data in this case is returned as an ElementTree Element, one can use ElementTree to access the data. For example, to extract the **CreatorTool** attribute value, the following would work:: >>> xmp = j.box[4].data >>> ns0 = '{http://www.w3.org/1999/02/22-rdf-syntax-ns#}' >>> ns1 = '{http://ns.adobe.com/xap/1.0/}' >>> name = '{0}RDF/{0}Description'.format(ns0) >>> elt = xmp.find(name) >>> elt >>> elt.attrib['{0}CreatorTool'.format(ns1)] 'glymur'