Skip to content

Commit

Permalink
Merge pull request #4 from alejoe91/main
Browse files Browse the repository at this point in the history
Optional verbosity
  • Loading branch information
magland authored Jul 5, 2022
2 parents 3b786d2 + db170e2 commit ee75f9c
Showing 1 changed file with 12 additions and 7 deletions.
19 changes: 12 additions & 7 deletions figurl_tiled_image/TiledImage.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ class TiledImage:
def __init__(self, tile_size: int) -> None:
self._tile_size = tile_size
self._layers = []

def add_layer(self, label: str, data: Union[np.array, pyvips.Image]):
if isinstance(data, pyvips.Image):
image: pyvips.Image = data
Expand All @@ -21,14 +22,16 @@ def add_layer(self, label: str, data: Union[np.array, pyvips.Image]):
'label': label,
'image': image
})
def url(self, *, label: str):

def url(self, *, label: str, verbose: bool = True):
data = {
'layers': []
}
for L in self._layers:
layer_label: str = L['label']
image: pyvips.Image = L['image']
print(f'Layer {layer_label} ({image.width} x {image.height})')
if verbose:
print(f'Layer {layer_label} ({image.width} x {image.height})')
with kcl.TemporaryDirectory() as tmpdir:
image.dzsave(f'{tmpdir}/output',
overlap=0,
Expand Down Expand Up @@ -63,7 +66,8 @@ def url(self, *, label: str):
keys = list(image_files.keys())

# Store image files in kachery-cloud
uris = _store_files_parallel([image_files[key] for key in keys], labels=[f'{key}.jpeg' for key in keys])
uris = _store_files_parallel([image_files[key] for key in keys], labels=[f'{key}.jpeg' for key in keys],
verbose=verbose)

# Replace image file names with URIs
for key, uri in zip(keys, uris):
Expand Down Expand Up @@ -95,11 +99,12 @@ def url(self, *, label: str):
# uris.append(uri)
# return uris

def _store_files_parallel(fnames: List[str], *, labels: List[str]) -> List[str]:
def _store_files_parallel(fnames: List[str], verbose: bool = True, *, labels: List[str]) -> List[str]:
executor = ThreadPoolExecutor(max_workers=10)
results = executor.map(_store_file, fnames, labels)
results = executor.map(_store_file, fnames, labels, [verbose] * len(fnames))
return results

def _store_file(fname: str, label: str):
print(f'Storing file: {fname}')
def _store_file(fname: str, label: str, verbose: str):
if verbose:
print(f'Storing file: {fname}')
return kcl.store_file(fname, label=label)

0 comments on commit ee75f9c

Please sign in to comment.