bronx.datagrip.pyexttiff

This module aims at reading tiff with private IFDs. It uses PIL for image reading.

This module uses code from pylibtiff (https://pypi.python.org/pypi/libtiff, https://code.google.com/p/pylibtiff or https://github.com/hmeine/pylibtiff)

Classes

class bronx.datagrip.pyexttiff.IFD[source]

Bases: list

This class represent an IFD.

Initialisation method of IFD class.

as_dict()[source]

Returns a dictionary containing all entries.

get_entry(tag)[source]

Returns the entry for a tag.

get_image()[source]

Returns the image

get_tags()[source]

Returns the list of the tags

get_value(tag, human=True)[source]

Returns the value for a tag.

if human = True, value is modified:

  • value[0] is retruned instead of value if array contains only one element

  • conversion in string is achieved for arrays representing strings

has_image()[source]

Returns True if one tag is an image

has_tag(tag)[source]

Returns True if an entry fits the tag given.

class bronx.datagrip.pyexttiff.IFDEntry(tag, entrytype, value=None)[source]

Bases: object

This class represent an IFD entry.

  • tag is the tag number of the entry

  • entrytype is the type of the entry

  • value is the value associated to the tag

get_tag()[source]

Returns the tag.

get_tagName()[source]

Returns the tag name.

get_type()[source]

Returns the type of entry.

get_value(human=True)[source]

Returns the value.

if human = True, value is modified:

  • value[0] is returned instead of value if array contains only one element

  • conversion in string is achieved for arrays representing strings

is_IFD()[source]

Returns True if content is an IFD.

is_image()[source]

Returns True if content in an image.

set_value(value)[source]

Sets the value of the entry.

class bronx.datagrip.pyexttiff.TiffFile(filename, subIFDpaths=[], method=1)[source]

Bases: object

This class allows the access to the entire tiff file (tags and images).

Opens a tiff file, reads header and IFDs.

filename is the filename containing the tiff

subIFDpaths is the list of tag path whose values are offset to private IFDs
  • a tag path is a tuple representing the path to a given tag which must represent an IFD

    1. means that tag 34665 of any given public IFD is an offset to a private IFD

  • (32001, 521) means that tag 32001 of any given public IFD is an offset to a private IFD and that tag 521 of any private tag referenced by a 32001 public tag is also an offset to a private IFD

method is the method used to read data:

  • 1: f=io.open(…, ‘rb’) ; numpy.frombuffer(f.read(), dtype=numpy.ubyte)

  • 2: f=io.open(…, ‘rb’) ; numpy.ndarray(buffer=mmap(f), dtype=numpy.ubyte)

  • 3: same as 2 but with modifications allowed - DANGEROUS

close()[source]

Closes the file.

get_PILImage()[source]

Returns the PIL image object of the file.

get_buffer()[source]

Returns the buffer.

get_data()[source]

Returns the ndarray containing the data.

get_stringio()[source]

Returns the stringio representeing the buffer.

Exceptions

exception bronx.datagrip.pyexttiff.PyexttiffError[source]

Bases: Exception

Error handling for pyexttiff.