|
2 | 2 | from argparse import Namespace, ArgumentParser |
3 | 3 | from typing import Sequence |
4 | 4 |
|
5 | | -from wkcuber import downsample_mags |
6 | | -from .compress import compress_mag_inplace |
7 | 5 | from .cubing import ( |
8 | 6 | get_channel_and_sample_count_and_dtype, |
9 | 7 | cubing, |
10 | 8 | create_parser as create_cubing_parser, |
11 | 9 | ) |
12 | 10 | from .mag import Mag |
13 | | -from .metadata import write_webknossos_metadata, refresh_metadata |
14 | 11 | from .utils import ( |
15 | 12 | add_isotropic_flag, |
16 | 13 | setup_logging, |
17 | | - add_scale_flag, |
18 | 14 | add_sampling_mode_flag, |
19 | 15 | get_executor_args, |
20 | 16 | is_wk_compatible_layer_format, |
@@ -66,7 +62,6 @@ def create_parser() -> ArgumentParser: |
66 | 62 | ) |
67 | 63 |
|
68 | 64 | parser.add_argument("--name", "-n", help="Name of the dataset", default=None) |
69 | | - add_scale_flag(parser) |
70 | 65 | add_isotropic_flag(parser) |
71 | 66 | add_sampling_mode_flag(parser) |
72 | 67 |
|
@@ -151,58 +146,44 @@ def main(args: Namespace) -> None: |
151 | 146 | sample_iter = range(sample_count) |
152 | 147 |
|
153 | 148 | layer_count = 0 |
154 | | - bounding_box = None |
| 149 | + layers = [] |
155 | 150 | for channel_index in channel_iter: |
156 | 151 | for sample_index in sample_iter: |
157 | | - bounding_box = cubing( |
158 | | - args.source_path, |
159 | | - args.target_path, |
160 | | - f"{args.layer_name}_{layer_count}" |
161 | | - if len(channel_iter) * len(sample_iter) > 1 |
162 | | - else args.layer_name, |
163 | | - arg_dict.get("batch_size"), |
164 | | - channel_index, |
165 | | - sample_index, |
166 | | - arg_dict.get("dtype"), |
167 | | - args.target_mag, |
168 | | - args.wkw_file_len, |
169 | | - args.interpolation_mode, |
170 | | - args.start_z, |
171 | | - args.pad, |
172 | | - args, |
| 152 | + layers.append( |
| 153 | + cubing( |
| 154 | + args.source_path, |
| 155 | + args.target_path, |
| 156 | + f"{args.layer_name}_{layer_count}" |
| 157 | + if len(channel_iter) * len(sample_iter) > 1 |
| 158 | + else args.layer_name, |
| 159 | + arg_dict.get("batch_size"), |
| 160 | + channel_index, |
| 161 | + sample_index, |
| 162 | + arg_dict.get("dtype"), |
| 163 | + args.target_mag, |
| 164 | + args.wkw_file_len, |
| 165 | + args.interpolation_mode, |
| 166 | + args.start_z, |
| 167 | + args.skip_first_z_slices, |
| 168 | + args.pad, |
| 169 | + args.scale, |
| 170 | + args, |
| 171 | + ) |
173 | 172 | ) |
174 | 173 | layer_count += 1 |
175 | 174 |
|
176 | | - write_webknossos_metadata( |
177 | | - args.target_path, |
178 | | - args.name, |
179 | | - args.scale, |
180 | | - compute_max_id=False, |
181 | | - exact_bounding_box=bounding_box, |
182 | | - ) |
183 | | - |
184 | | - for i in range(layer_count): |
| 175 | + for layer in layers: |
185 | 176 | if not args.no_compress: |
186 | | - compress_mag_inplace( |
187 | | - args.target_path, |
188 | | - f"{args.layer_name}_{i}" if layer_count > 1 else args.layer_name, |
189 | | - args.target_mag, |
190 | | - args, |
191 | | - ) |
| 177 | + layer.get_mag(args.target_mag).compress(args=args) |
192 | 178 |
|
193 | | - downsample_mags( |
194 | | - path=args.target_path, |
195 | | - layer_name=f"{args.layer_name}_{i}" if layer_count > 1 else args.layer_name, |
| 179 | + layer.downsample( |
196 | 180 | from_mag=args.target_mag, |
197 | 181 | max_mag=None if args.max_mag is None else Mag(args.max_mag), |
198 | | - interpolation_mode="default", |
199 | 182 | compress=not args.no_compress, |
200 | 183 | sampling_mode=args.sampling_mode, |
201 | 184 | args=get_executor_args(args), |
202 | 185 | ) |
203 | 186 |
|
204 | | - refresh_metadata(args.target_path) |
205 | | - |
206 | 187 |
|
207 | 188 | if __name__ == "__main__": |
208 | 189 | args = create_parser().parse_args() |
|
0 commit comments