Closed
Description
Hi! I'm trying to export a model specifying the pixel size but whenever it's different from 1 or 0.5, it gives the following error. The variable pixel size enters as {'x': 0.8, 'y': 0.8, 'z': 0.005}
in the kwargs of the build_model.
I'm trying it with the 3D UNet notebook of ZeroCostDL4Mic using TF 2.11 (I will update the notebook now in their repo)
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
/usr/local/lib/python3.8/dist-packages/tifffile/tifffile.py in enumarg(enum, arg)
22897 try:
> 22898 return enum(arg) # type: ignore
22899 except Exception:
9 frames
[/usr/lib/python3.8/enum.py](https://localhost:8080/#) in __call__(cls, value, names, module, qualname, type, start)
338 if names is None: # simple value lookup
--> 339 return cls.__new__(cls, value)
340 # otherwise, functional API: we're creating a new Enum type
[/usr/lib/python3.8/enum.py](https://localhost:8080/#) in __new__(cls, value)
662 if result is None and exc is None:
--> 663 raise ve_exc
664 elif exc is None:
ValueError: 20.0 is not a valid RESUNIT
During handling of the above exception, another exception occurred:
AttributeError Traceback (most recent call last)
/usr/local/lib/python3.8/dist-packages/tifffile/tifffile.py in enumarg(enum, arg)
22900 try:
> 22901 return enum[arg.upper()] # type: ignore
22902 except Exception:
AttributeError: 'float' object has no attribute 'upper'
During handling of the above exception, another exception occurred:
ValueError Traceback (most recent call last)
[<ipython-input-51-bcabd10cff2c>](https://localhost:8080/#) in <module>
203
204 # export the model with keras weihgts
--> 205 build_model(
206 weight_uri=weight_path,
207 test_inputs=[test_in_path],
[/usr/local/lib/python3.8/dist-packages/bioimageio/core/build_spec/build_model.py](https://localhost:8080/#) in build_model(weight_uri, test_inputs, test_outputs, input_axes, output_axes, name, description, authors, tags, documentation, cite, output_path, architecture, model_kwargs, weight_type, sample_inputs, sample_outputs, input_names, input_step, input_min_shape, input_data_range, output_names, output_reference, output_scale, output_offset, output_data_range, halo, preprocessing, postprocessing, pixel_sizes, maintainers, license, covers, git_repo, attachments, packaged_by, run_mode, parent, config, dependencies, links, training_data, root, add_deepimagej_config, tensorflow_version, opset_version, pytorch_version, weight_attachments)
830 if add_deepimagej_config:
831 if sample_inputs is None:
--> 832 sample_inputs, sample_outputs = _write_sample_data(
833 test_inputs, test_outputs, input_axes, output_axes, pixel_sizes, root
834 )
[/usr/local/lib/python3.8/dist-packages/bioimageio/core/build_spec/build_model.py](https://localhost:8080/#) in _write_sample_data(input_paths, output_paths, input_axes, output_axes, pixel_sizes, export_folder)
452 sample_in_path = export_folder / f"sample_input_{i}.tif"
453 pixel_size = None if pixel_sizes is None else pixel_sizes[i]
--> 454 write_im(sample_in_path, inp, axes, pixel_size)
455 sample_in_paths.append(sample_in_path)
456
[/usr/local/lib/python3.8/dist-packages/bioimageio/core/build_spec/build_model.py](https://localhost:8080/#) in write_im(path, im, axes, pixel_size)
445 if np.dtype(im.dtype) == np.dtype("float64"):
446 im = im.astype("float32")
--> 447 tifffile.imwrite(path, im, imagej=True, resolution=resolution)
448
449 sample_in_paths = []
[/usr/local/lib/python3.8/dist-packages/tifffile/tifffile.py](https://localhost:8080/#) in imwrite(file, data, bigtiff, byteorder, imagej, ome, shaped, append, shape, dtype, photometric, planarconfig, extrasamples, volumetric, tile, rowsperstrip, bitspersample, compression, compressionargs, predictor, subsampling, jpegtables, colormap, description, datetime, resolution, resolutionunit, subfiletype, software, metadata, extratags, contiguous, truncate, align, maxworkers, returnoffset)
1209 shaped=shaped,
1210 ) as tif:
-> 1211 result = tif.write(
1212 data,
1213 shape=shape,
[/usr/local/lib/python3.8/dist-packages/tifffile/tifffile.py](https://localhost:8080/#) in write(***failed resolving arguments***)
2800 unit = resolution[2] # type: ignore
2801 if unit is not None:
-> 2802 resolutionunit = enumarg(RESUNIT, unit)
2803 addtag(tags, 296, 3, 1, resolutionunit) # ResolutionUnit
2804 else:
/usr/local/lib/python3.8/dist-packages/tifffile/tifffile.py in enumarg(enum, arg)
22901 return enum[arg.upper()] # type: ignore
22902 except Exception:
> 22903 raise ValueError(f'invalid argument {arg!r}')
22904
22905
ValueError: invalid argument 20.0
tifffile
has changed some parameters of imwrite
in their last version so it may be that they also have some requirements for the resolution
variable.
Metadata
Metadata
Assignees
Labels
No labels