- More info, more robust.
This commit is contained in:
2
setup.py
2
setup.py
@@ -6,7 +6,7 @@ with open("README.md", "r") as fh:
|
|||||||
setuptools.setup(
|
setuptools.setup(
|
||||||
name="tiffexplore",
|
name="tiffexplore",
|
||||||
packages=["tiffexplore"],
|
packages=["tiffexplore"],
|
||||||
version="2021.06.1",
|
version="2021.06.2",
|
||||||
author="Wim Pomp",
|
author="Wim Pomp",
|
||||||
author_email="wimpomp@gmail.com",
|
author_email="wimpomp@gmail.com",
|
||||||
description="Explore a tiff structure.",
|
description="Explore a tiff structure.",
|
||||||
|
|||||||
@@ -185,8 +185,11 @@ class Bar(PaintBox):
|
|||||||
text.append('\n' + self.tiff.fmt_tag(key[2], self.tiff.tags[key[1]][key[2]]))
|
text.append('\n' + self.tiff.fmt_tag(key[2], self.tiff.tags[key[1]][key[2]]))
|
||||||
if key[0].lower() == 'image':
|
if key[0].lower() == 'image':
|
||||||
im = self.tiff.asarray(key[1], key[2])
|
im = self.tiff.asarray(key[1], key[2])
|
||||||
|
if im is not None:
|
||||||
text.append(f'\nStrip size: {im.shape}')
|
text.append(f'\nStrip size: {im.shape}')
|
||||||
text.append(f'Data type: {im.dtype}')
|
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)
|
self.parent.setImage(im)
|
||||||
else:
|
else:
|
||||||
self.parent.setImage()
|
self.parent.setImage()
|
||||||
|
|||||||
@@ -8,7 +8,10 @@ class tiff():
|
|||||||
def __init__(self, file):
|
def __init__(self, file):
|
||||||
self.file = file
|
self.file = file
|
||||||
self.fh = open(file, 'rb')
|
self.fh = open(file, 'rb')
|
||||||
|
try:
|
||||||
self.tiff = tifffile.TiffFile(self.file)
|
self.tiff = tifffile.TiffFile(self.file)
|
||||||
|
except Exception:
|
||||||
|
self.tiff = None
|
||||||
self.tags = []
|
self.tags = []
|
||||||
self.get_file_len()
|
self.get_file_len()
|
||||||
self.addresses = assignments(len(self))
|
self.addresses = assignments(len(self))
|
||||||
@@ -32,9 +35,16 @@ class tiff():
|
|||||||
text = [f'Code: {code}']
|
text = [f'Code: {code}']
|
||||||
if code in tifffile.TIFF.TAGS:
|
if code in tifffile.TIFF.TAGS:
|
||||||
text[-1] += f'; {tifffile.TIFF.TAGS[code]}'
|
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'address: {value[1]}')
|
||||||
text.append(f'count: {value[2]}')
|
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]}')
|
text.append(f'value: {value[3]}')
|
||||||
return '\n'.join(text)
|
return '\n'.join(text)
|
||||||
|
|
||||||
@@ -46,6 +56,7 @@ class tiff():
|
|||||||
return self.len
|
return self.len
|
||||||
|
|
||||||
def asarray(self, page, segment):
|
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()
|
return [d for d in zip(self.tiff.pages[page].segments(), range(segment + 1))][-1][0][0].squeeze()
|
||||||
|
|
||||||
def read_header(self):
|
def read_header(self):
|
||||||
|
|||||||
Reference in New Issue
Block a user