Skip to content

Commit eceabef

Browse files
committed
STYLE: Refactor _update_previous_dim_factors into re-usable function
1 parent e4f9097 commit eceabef

File tree

3 files changed

+17
-12
lines changed

3 files changed

+17
-12
lines changed

ngff_zarr/methods/_itk.py

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
_align_chunks,
99
_compute_sigma,
1010
_dim_scale_factors,
11+
_update_previous_dim_factors,
1112
_get_block,
1213
_spatial_dims,
1314
)
@@ -136,10 +137,9 @@ def _downsample_itk_bin_shrink(
136137
spatial_dims = _image_dims[: len(spatial_dims)]
137138
for scale_factor in scale_factors:
138139
dim_factors = _dim_scale_factors(dims, scale_factor, previous_dim_factors)
139-
if isinstance(scale_factor, int):
140-
previous_dim_factors = { d : scale_factor for d in spatial_dims }
141-
else:
142-
previous_dim_factors = scale_factor
140+
previous_dim_factors = _update_previous_dim_factors(
141+
scale_factor, spatial_dims, previous_dim_factors
142+
)
143143
previous_image = _align_chunks(previous_image, default_chunks, dim_factors)
144144

145145
shrink_factors = [dim_factors[sd] for sd in spatial_dims]
@@ -225,10 +225,9 @@ def _downsample_itk_gaussian(
225225
spatial_dims = _image_dims[: len(spatial_dims)]
226226
for scale_factor in scale_factors:
227227
dim_factors = _dim_scale_factors(dims, scale_factor, previous_dim_factors)
228-
if isinstance(scale_factor, int):
229-
previous_dim_factors = { d : scale_factor for d in spatial_dims }
230-
else:
231-
previous_dim_factors = scale_factor
228+
previous_dim_factors = _update_previous_dim_factors(
229+
scale_factor, spatial_dims, previous_dim_factors
230+
)
232231
previous_image = _align_chunks(previous_image, default_chunks, dim_factors)
233232

234233
shrink_factors = [dim_factors[sd] for sd in spatial_dims]

ngff_zarr/methods/_itkwasm.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
_align_chunks,
1111
_compute_sigma,
1212
_dim_scale_factors,
13+
_update_previous_dim_factors,
1314
_get_block,
1415
_spatial_dims,
1516
_spatial_dims_last_zyx,
@@ -93,10 +94,9 @@ def _downsample_itkwasm(
9394
transposed_dims = False
9495
for scale_factor in scale_factors:
9596
dim_factors = _dim_scale_factors(dims, scale_factor, previous_dim_factors)
96-
if isinstance(scale_factor, int):
97-
previous_dim_factors = { d : scale_factor for d in spatial_dims }
98-
else:
99-
previous_dim_factors = scale_factor
97+
previous_dim_factors = _update_previous_dim_factors(
98+
scale_factor, spatial_dims, previous_dim_factors
99+
)
100100
previous_image = _align_chunks(previous_image, default_chunks, dim_factors)
101101
# Operate on a contiguous spatial block
102102
previous_image = _spatial_dims_last_zyx(previous_image)

ngff_zarr/methods/_support.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,12 @@ def _dim_scale_factors(dims, scale_factor, previous_dim_factors):
113113
}
114114
return result_scale_factors
115115

116+
def _update_previous_dim_factors(scale_factor, spatial_dims, previous_dim_factors):
117+
if isinstance(scale_factor, int):
118+
previous_dim_factors = { d : scale_factor for d in spatial_dims }
119+
else:
120+
previous_dim_factors = scale_factor
121+
return previous_dim_factors
116122

117123
def _align_chunks(previous_image, default_chunks, dim_factors):
118124
block_0_shape = [c[0] for c in previous_image.data.chunks]

0 commit comments

Comments
 (0)