Skip to content

Commit 033e8c4

Browse files
First try at adding filter for 16 bit data
1 parent 794feaa commit 033e8c4

File tree

1 file changed

+15
-5
lines changed

1 file changed

+15
-5
lines changed

isyntax2raw/__init__.py

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@
3535
# version of the Zarr layout
3636
LAYOUT_VERSION = 3
3737

38+
# name of filter to convert 16 bit to 8 bit
39+
FILTER_16_TO_8 = "Linear16ToSRGB8"
40+
3841

3942
class MaxQueuePool(object):
4043
"""This Class wraps a concurrent.futures.Executor
@@ -258,11 +261,17 @@ def get_image_metadata_sdk_v1(self, image_no):
258261
self.macro_y = self.get_size(img.IMAGE_DIMENSION_RANGES[1]) + 1
259262
return image_metadata
260263

264+
def get_view(self, img):
265+
view = img.source_view
266+
user_view = pixelengine.PixelEngine.UserView(FILTER_16_TO_8)
267+
filter_view = view.add_user_view(user_view)
268+
return filter_view
269+
261270
def get_image_metadata_sdk_v2(self, image_no):
262271
pe_in = self.pixel_engine["in"]
263272
img = pe_in[image_no]
264273
image_type = self.image_type(image_no)
265-
view = img.source_view
274+
view = self.get_view(img)
266275
image_scale_factor = view.scale
267276

268277
compression_method = None
@@ -371,7 +380,7 @@ def data_envelopes(self, image, resolution):
371380
if self.sdk_v1:
372381
return pe_in.SourceView().dataEnvelopes(resolution)
373382
else:
374-
return image.source_view.data_envelopes(resolution)
383+
return self.get_view(image).data_envelopes(resolution)
375384

376385
def derivation_description(self):
377386
pe_in = self.pixel_engine["in"]
@@ -385,7 +394,7 @@ def dimension_ranges(self, image, resolution):
385394
if self.sdk_v1:
386395
return pe_in.SourceView().dimensionRanges(resolution)
387396
else:
388-
return image.source_view.dimension_ranges(resolution)
397+
return self.get_view(image).dimension_ranges(resolution)
389398

390399
def image_data(self, image):
391400
if self.sdk_v1:
@@ -405,7 +414,7 @@ def num_derived_levels(self, image):
405414
if self.sdk_v1:
406415
return pe_in.numLevels()
407416
else:
408-
return image.source_view.num_derived_levels
417+
return self.get_view(image).num_derived_levels
409418

410419
def num_images(self):
411420
pe_in = self.pixel_engine["in"]
@@ -730,7 +739,8 @@ def write_tile(
730739
if self.sdk_v1:
731740
request_regions = pe_in.SourceView().requestRegions
732741
else:
733-
request_regions = image.source_view.request_regions
742+
request_regions = self.get_view(image).request_regions
743+
734744
regions = request_regions(
735745
patches[i:i + self.batch_size], envelopes, True,
736746
[self.fill_color] * 3

0 commit comments

Comments
 (0)