- More info, more robust.

This commit is contained in:
Wim Pomp
2021-06-20 13:44:25 +02:00
parent 68aca10cb7
commit bfea2501c9
3 changed files with 21 additions and 7 deletions

View File

@@ -6,7 +6,7 @@ with open("README.md", "r") as fh:
setuptools.setup(
name="tiffexplore",
packages=["tiffexplore"],
version="2021.06.1",
version="2021.06.2",
author="Wim Pomp",
author_email="wimpomp@gmail.com",
description="Explore a tiff structure.",

View File

@@ -185,8 +185,11 @@ class Bar(PaintBox):
text.append('\n' + self.tiff.fmt_tag(key[2], self.tiff.tags[key[1]][key[2]]))
if key[0].lower() == 'image':
im = self.tiff.asarray(key[1], key[2])
if im is not None:
text.append(f'\nStrip size: {im.shape}')
text.append(f'Data type: {im.dtype}')
text.append(f'Min, max: {im.min()}, {im.max()}')
text.append(f'Mean, std: {im.mean()}, {im.std()}')
self.parent.setImage(im)
else:
self.parent.setImage()

View File

@@ -8,7 +8,10 @@ class tiff():
def __init__(self, file):
self.file = file
self.fh = open(file, 'rb')
try:
self.tiff = tifffile.TiffFile(self.file)
except Exception:
self.tiff = None
self.tags = []
self.get_file_len()
self.addresses = assignments(len(self))
@@ -32,9 +35,16 @@ class tiff():
text = [f'Code: {code}']
if code in tifffile.TIFF.TAGS:
text[-1] += f'; {tifffile.TIFF.TAGS[code]}'
text.append(f'data format: {value[0]}; {tifffile.TIFF.DATA_FORMATS.get(value[0])}')
text.append(f'data format: {value[0]}')
try:
text[-1] += f'; {tifffile.TIFF.DATATYPES(value[0]).name.lower()}'
except ValueError:
pass
text.append(f'address: {value[1]}')
text.append(f'count: {value[2]}')
if value[0] == 5:
text.append(f'value: [{", ".join(["/".join([str(w) for w in v[::-1]]) for v in value[3]])}]')
else:
text.append(f'value: {value[3]}')
return '\n'.join(text)
@@ -46,6 +56,7 @@ class tiff():
return self.len
def asarray(self, page, segment):
if self.tiff is not None:
return [d for d in zip(self.tiff.pages[page].segments(), range(segment + 1))][-1][0][0].squeeze()
def read_header(self):